/* ==========================================================================
   MUBRPLAY — Design System "Obsidian Red" (2026 rebuild)
   Base: obsidian profundo · Acento: vermelho primário · Secundário: esmeralda
   Técnicas: CSS custom properties, clamp(), grid, glass subtil, motion moderno
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');

/* --------------------------------------------------------------------------
   1. Tokens
   -------------------------------------------------------------------------- */
:root {
  /* Vermelho — cor primária da marca */
  --brand-100: #fbe4e7;
  --brand-200: #f6c4ca;
  --brand-300: #ff98a2;
  --brand-400: #f2616e;
  --brand-500: #e63946;
  --brand-600: #b32434;
  --brand-700: #7a1522;

  /* Esmeralda — faceta verde do raio da marca */
  --emerald-200: #c8f2dd;
  --emerald-300: #93e3ba;
  --emerald-400: #54cf95;
  --emerald-500: #2fae6e;
  --emerald-600: #1e7a52;

  /* Rubi — vidro vermelho do raio da marca */
  --ruby-300: #f6a8b2;
  --ruby-400: #e65f73;
  --ruby-500: #d4384e;
  --crimson-500: #e33855;
  --crimson-600: #b8243f;

  /* Superfícies obsidian */
  --bg-0: #05060a;
  --bg-1: #090b12;
  --bg-2: #0d1017;
  --bg-3: #12151f;
  --bg-4: #191d2b;

  /* Texto */
  --text: #f2f0e9;
  --text-muted: #a9abb9;
  --text-dim: #71748242;
  --text-dim-2: #717482;

  /* Bordas */
  --line: rgba(255, 255, 255, 0.07);
  --line-soft: rgba(255, 255, 255, 0.045);
  --line-brand: rgba(230, 57, 70, 0.32);
  --line-brand-soft: rgba(230, 57, 70, 0.16);

  /* Raios / sombras / brilhos */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 26px;
  --r-pill: 999px;

  --shadow-1: 0 2px 10px rgba(0, 0, 0, 0.35);
  --shadow-2: 0 14px 44px rgba(0, 0, 0, 0.5);
  --shadow-3: 0 24px 70px rgba(0, 0, 0, 0.6);
  --glow-brand: 0 0 20px rgba(230, 57, 70, 0.16);
  --glow-brand-lg: 0 8px 32px rgba(230, 57, 70, 0.22);
  --glow-emerald: 0 0 26px rgba(47, 174, 110, 0.3);
  --glow-ruby: 0 0 26px rgba(212, 51, 74, 0.3);

  /* Tipografia */
  --font-display: 'Sora', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Métricas */
  --rail-h: 72px;
  --container: 1240px;

  /* Movimento */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --t-fast: 0.18s;
  --t-med: 0.32s;
  --t-slow: 0.6s;

  /* Superfície padrão de cards/painéis */
  --surface: linear-gradient(168deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.014) 55%, rgba(230, 57, 70, 0.02));
  --surface-solid: #10131d;

  color-scheme: dark;
}

/* --------------------------------------------------------------------------
   2. Reset / Base
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: calc(var(--rail-h) + 20px);
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--text);
  background:
    radial-gradient(120% 90% at 50% 10%, transparent 55%, rgba(0, 0, 0, 0.4)),
    url('../images/bg-body.jpg') center / cover no-repeat fixed,
    #04050a;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Textura global: trama diagonal fina — assinatura visual do fundo */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.011) 0 1px, transparent 1px 10px),
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.008) 0 1px, transparent 1px 10px);
}

/* Filete vermelho de topo — marca registrada da página */
body::after {
  content: '';
  position: fixed;
  inset: 0 0 auto 0;
  height: 2px;
  z-index: 250;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(230, 57, 70, 0.55) 25%, rgba(243, 217, 139, 0.8) 50%, rgba(230, 57, 70, 0.55) 75%, transparent);
}

img, svg, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--t-fast) var(--ease); }
a:hover { color: var(--brand-300); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.16;
  margin: 0 0 0.55em;
  letter-spacing: -0.01em;
  color: var(--text);
}
p { margin: 0 0 1em; }
strong, b { font-weight: 700; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }

::selection { background: rgba(230, 57, 70, 0.35); color: #fff; }

:focus-visible {
  outline: 2px solid var(--brand-400);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Scrollbar discreta */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg-0); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--bg-4), var(--bg-3));
  border-radius: 8px;
  border: 2px solid var(--bg-0);
}
::-webkit-scrollbar-thumb:hover { background: var(--brand-600); }

/* --------------------------------------------------------------------------
   3. Utilitários
   -------------------------------------------------------------------------- */
.bp-container {
  width: min(100% - 2.5rem, var(--container));
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

.bp-sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); border: 0;
}

.bp-text-muted { color: var(--text-muted); }
.bp-text-gold { color: var(--brand-400); }
.bp-text-red { color: var(--crimson-500); }
.bp-text-upper { text-transform: uppercase; letter-spacing: 0.1em; }
.bp-lead { font-size: 1.08rem; color: var(--text-muted); }
.bp-hint { font-size: 0.84rem; color: var(--text-dim-2); }

/* Display helpers leves (sem Bootstrap) */
.d-none { display: none !important; }
.d-inline { display: inline !important; }
.d-inline-flex { display: inline-flex !important; }
@media (min-width: 576px) {
  .d-sm-inline { display: inline !important; }
  .d-sm-inline-flex { display: inline-flex !important; }
}
@media (min-width: 768px) {
  .d-md-inline { display: inline !important; }
  .d-md-flex { display: flex !important; }
}

.bp-span-2 { grid-column: span 2; }
@media (max-width: 700px) { .bp-span-2 { grid-column: auto; } }

/* Kicker padrão — rótulo pequeno acima de títulos */
.bp-kicker,
.hm-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-kicker::before,
.hm-kicker::before {
  content: '';
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--brand-500));
}

/* --------------------------------------------------------------------------
   4. Reveal on scroll / motion helpers
   -------------------------------------------------------------------------- */
.bp-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 0.7s var(--ease-out),
    transform 0.7s var(--ease-out);
  transition-delay: var(--reveal-delay, 0s);
  will-change: opacity, transform;
}
.bp-reveal.is-in { opacity: 1; transform: none; }

@keyframes bp-fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}
@keyframes bp-pulse-dot {
  0%, 100% { box-shadow: 0 0 0 0 rgba(80, 220, 130, 0.55); }
  60% { box-shadow: 0 0 0 7px rgba(80, 220, 130, 0); }
}
@keyframes bp-float-y {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes bp-shimmer {
  from { background-position: -200% 0; }
  to { background-position: 200% 0; }
}
@keyframes bp-spin { to { transform: rotate(360deg); } }

/* --------------------------------------------------------------------------
   5. Botões
   -------------------------------------------------------------------------- */
.bp-btn {
  --btn-bg: linear-gradient(160deg, var(--brand-400), var(--brand-500) 55%, var(--brand-600));
  --btn-color: #ffffff;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.78rem 1.7rem;
  border: 0;
  font-family: var(--font-body);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--btn-color);
  background: var(--btn-bg);
  /* Assinatura angular: cortes em cantos opostos (eco do escudo da marca) */
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  filter: drop-shadow(0 5px 16px rgba(179, 36, 52, 0.28));
  cursor: pointer;
  transition:
    transform var(--t-fast) var(--ease),
    filter var(--t-fast) var(--ease);
}
.bp-btn:hover {
  color: var(--btn-color);
  transform: translateY(-2px);
  filter: brightness(1.07) drop-shadow(0 8px 22px rgba(230, 57, 70, 0.32));
}
.bp-btn:active { transform: translateY(0) scale(0.98); }
.bp-btn:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
.bp-btn i { font-size: 0.95em; }

/* Outline — fantasma com filete vermelho */
.bp-btn--outline {
  --btn-color: var(--brand-200);
  background:
    linear-gradient(var(--bg-2), var(--bg-2)) padding-box,
    linear-gradient(160deg, var(--brand-400), rgba(230, 57, 70, 0.15) 60%, var(--brand-600)) border-box;
  border: 1px solid transparent;
  filter: none;
}
.bp-btn--outline:hover {
  color: var(--brand-100);
  filter: drop-shadow(0 0 14px rgba(230, 57, 70, 0.22));
}

/* Ghost — discreto */
.bp-btn--ghost {
  --btn-color: var(--text-muted);
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--line);
  filter: none;
}
.bp-btn--ghost:hover {
  color: var(--text);
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--line-brand-soft);
  filter: none;
}

/* Perigo */
.bp-btn--danger,
.bp-btn--red {
  --btn-bg: linear-gradient(160deg, #f0788c, var(--ruby-500) 55%, var(--crimson-600));
  --btn-color: #ffffff;
}

.bp-btn--sm { padding: 0.5rem 1rem; font-size: 0.76rem; clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px)); }
.bp-btn--lg { padding: 1rem 2.3rem; font-size: 0.95rem; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)); }
.bp-btn--block { width: 100%; }

/* --------------------------------------------------------------------------
   6. Formulários
   -------------------------------------------------------------------------- */
.bp-form-group { margin-bottom: 1.15rem; }

.bp-label {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.bp-label .required,
.bp-req { color: var(--ruby-400); margin-left: 2px; }

.bp-input,
.bp-form input[type='text'],
.bp-form input[type='password'],
.bp-form input[type='email'],
.bp-form input[type='number'],
.bp-form select,
.bp-form textarea,
select.bp-input,
textarea.bp-input {
  width: 100%;
  padding: 0.8rem 1rem;
  font-size: 0.95rem;
  color: var(--text);
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  outline: none;
  transition:
    border-color var(--t-fast) var(--ease),
    box-shadow var(--t-fast) var(--ease),
    background var(--t-fast) var(--ease);
}
.bp-input::placeholder { color: var(--text-dim-2); }
.bp-input:hover { border-color: rgba(255, 255, 255, 0.14); }
.bp-input:focus,
.bp-form input:focus,
.bp-form select:focus,
.bp-form textarea:focus {
  border-color: var(--line-brand);
  background: rgba(230, 57, 70, 0.045);
  box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.14);
}
textarea.bp-input { min-height: 130px; resize: vertical; }
select.bp-input {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--brand-400) 50%), linear-gradient(135deg, var(--brand-400) 50%, transparent 50%);
  background-position: calc(100% - 19px) 55%, calc(100% - 13px) 55%;
  background-size: 6px 6px;
  background-repeat: no-repeat;
  padding-right: 2.4rem;
}
select.bp-input option { background: var(--bg-2); color: var(--text); }

/* Checkbox custom */
.bp-check {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  font-size: 0.9rem;
  color: var(--text-muted);
  user-select: none;
}
.bp-check input {
  appearance: none;
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.04);
  display: grid;
  place-content: center;
  transition: all var(--t-fast) var(--ease);
}
.bp-check input::before {
  content: '';
  width: 10px;
  height: 10px;
  transform: scale(0);
  transition: transform var(--t-fast) var(--spring);
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  background: #ffffff;
}
.bp-check input:checked {
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
  border-color: var(--brand-500);
}
.bp-check input:checked::before { transform: scale(1); }
.bp-check:hover input { border-color: var(--line-brand); }

.bp-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 1.25rem;
}
@media (max-width: 700px) { .bp-form-grid { grid-template-columns: 1fr; } }
.bp-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-top: 0.5rem;
}
.bp-form-captcha { margin: 1rem 0; }

/* --------------------------------------------------------------------------
   7. Alertas / Badges / Empty
   -------------------------------------------------------------------------- */
.bp-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.95rem 1.15rem;
  margin-bottom: 1.25rem;
  font-size: 0.92rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.035);
  color: var(--text-muted);
}
.bp-alert::before {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 0.95rem;
  line-height: 1.5;
}
.bp-alert--info { border-color: rgba(47, 174, 110, 0.35); background: rgba(47, 174, 110, 0.07); color: var(--emerald-200); }
.bp-alert--info::before { content: '\f05a'; color: var(--emerald-400); }
.bp-alert--ok { border-color: rgba(80, 200, 120, 0.35); background: rgba(80, 200, 120, 0.07); color: #c9ecd4; }
.bp-alert--ok::before { content: '\f00c'; color: #50c878; }
.bp-alert--warn { border-color: rgba(230, 57, 70, 0.4); background: rgba(230, 57, 70, 0.08); color: var(--brand-200); }
.bp-alert--warn::before { content: '\f071'; color: var(--brand-400); }
.bp-alert--danger { border-color: rgba(227, 56, 85, 0.4); background: rgba(227, 56, 85, 0.08); color: #ffd3dc; }
.bp-alert--danger::before { content: '\f06a'; color: var(--crimson-500); }

/* --------------------------------------------------------------------------
   7b. Notifier Morpheus (toast) — base max/notice.css → visual BRPlay
   #notifier-box é injetado pelo morpheus.min.js em success()/error()
   -------------------------------------------------------------------------- */
#notifier-box {
  position: fixed;
  top: calc(var(--rail-h, 72px) + 16px);
  right: 18px;
  z-index: 10050;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  max-width: min(360px, calc(100vw - 28px));
  pointer-events: none;
}
#notifier-box .message-box,
div.message-box {
  pointer-events: auto;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0.95rem 1.1rem 0.95rem 1rem;
  color: var(--text);
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.45;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-2), var(--glow-brand);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation: bp-notify-in 0.35s var(--ease) both;
}
#notifier-box .message-box::before,
div.message-box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  border-top: 2px solid var(--line-brand);
  border-left: 2px solid var(--line-brand);
  opacity: 0.55;
  pointer-events: none;
}
#notifier-box .message-box:hover,
div.message-box:hover {
  border-color: var(--line-brand-soft);
}
#notifier-box .message-box .success,
div.message-box .success {
  margin: 0 0 0.35rem;
  padding-left: 1.5rem;
  position: relative;
  color: var(--emerald-300);
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 700;
}
#notifier-box .message-box .success::before,
div.message-box .success::before {
  content: '\f058';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0.05rem;
  color: var(--emerald-400);
}
#notifier-box .message-box .error,
div.message-box .error {
  margin: 0 0 0.35rem;
  padding-left: 1.5rem;
  position: relative;
  color: var(--brand-300);
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 700;
}
#notifier-box .message-box .error::before,
div.message-box .error::before {
  content: '\f06a';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0.05rem;
  color: var(--brand-400);
}
#notifier-box .message-box a.message-close,
div.message-box a.message-close {
  float: right;
  width: 22px;
  height: 22px;
  margin: -0.15rem -0.2rem 0 0.5rem;
  display: grid;
  place-content: center;
  text-decoration: none;
  color: var(--text-dim-2);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  opacity: 0.75;
  transition: opacity var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
#notifier-box .message-box a.message-close::before,
div.message-box a.message-close::before {
  content: '\f00d';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 0.7rem;
}
#notifier-box .message-box a.message-close:hover,
div.message-box a.message-close:hover {
  opacity: 1;
  color: var(--text);
  border-color: var(--line-brand-soft);
}
#notifier-box .message-box .message-body,
div.message-box .message-body {
  overflow: hidden;
  color: var(--text-muted);
  font-size: 0.88rem;
}
#notifier-box .message-box .message-body .thumb,
div.message-box .message-body .thumb {
  float: left;
  width: 42px;
  height: 42px;
  margin: 0 10px 0 0;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--line-soft);
}
#notifier-box .message-box .message-body .thumb img,
div.message-box .message-body .thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@keyframes bp-notify-in {
  from { opacity: 0; transform: translateY(-10px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 640px) {
  #notifier-box {
    top: auto;
    bottom: 16px;
    right: 12px;
    left: 12px;
    max-width: none;
  }
}

/* --------------------------------------------------------------------------
   7c. Morpheus popup (jAlert / jConfirm / jSuccess)
   Base: resources/css + max global.css → visual BRPlay Obsidian Red
   DOM: #morpheus-popup-container > .morpheus-popup-content
        > .morpheus-popup-message + .morpheus-popup-panel > .morpheus-popup-btn
   Overlay: #morpheus-popup-overlay (injetado por morpheus.core.js)
   -------------------------------------------------------------------------- */
#morpheus-popup-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999998 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100vh !important;
  background: rgba(5, 6, 10, 0.78) !important;
  opacity: 1 !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
#morpheus-popup-container {
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  min-width: min(340px, calc(100vw - 32px)) !important;
  max-width: min(440px, calc(100vw - 32px)) !important;
  z-index: 9999999 !important;
  animation: bp-popup-in 0.28s var(--ease) both;
}
@keyframes bp-popup-in {
  from { opacity: 0; transform: translateY(10px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
#morpheus-popup-container .morpheus-popup-content {
  border: 1px solid var(--line) !important;
  outline: none !important;
  /* espaço pro ícone FA no topo (substitui error.png / success.png bege) */
  padding: 1.25rem 1.35rem 1.15rem !important;
  padding-top: 4.25rem !important;
  clear: both !important;
  display: block !important;
  margin: 0 !important;
  text-align: center !important;
  color: var(--text) !important;
  background: var(--surface-solid) !important;
  background-color: var(--surface-solid) !important;
  background-image: none !important; /* remove icons PNG do morpheus.min.css */
  background-repeat: no-repeat !important;
  background-position: center 15px !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-3), var(--glow-brand) !important;
  position: relative !important;
  overflow: hidden !important;
}
/* canto BRPlay */
#morpheus-popup-container .morpheus-popup-content::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 22px !important;
  height: 22px !important;
  border-top: 2px solid var(--line-brand) !important;
  border-left: 2px solid var(--line-brand) !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  opacity: 0.6 !important;
  background: none !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
/* barra de acento por tipo */
#morpheus-popup-container .morpheus-popup-content::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  width: auto !important;
  border: 0 !important;
  background: linear-gradient(90deg, var(--brand-400), var(--brand-600)) !important;
  opacity: 1 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
/* Ícone FA central (substitui PNG bege do core) */
#morpheus-popup-container .morpheus-popup-content .morpheus-popup-message {
  position: relative !important;
  color: var(--text) !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}
#morpheus-popup-container .morpheus-popup-content .morpheus-popup-message::before {
  content: '\f06a' !important;
  font-family: 'Font Awesome 6 Free' !important;
  font-weight: 900 !important;
  font-size: 2rem !important;
  line-height: 1 !important;
  position: absolute !important;
  top: -2.85rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  display: grid !important;
  place-content: center !important;
  border-radius: 50% !important;
  color: var(--brand-300) !important;
  background: rgba(230, 57, 70, 0.12) !important;
  border: 1px solid rgba(230, 57, 70, 0.28) !important;
  box-shadow: 0 0 24px rgba(230, 57, 70, 0.18) !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-alert .morpheus-popup-message::before,
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-error .morpheus-popup-message::before {
  content: '\f057' !important; /* circle-xmark */
  color: var(--brand-300) !important;
  background: rgba(230, 57, 70, 0.12) !important;
  border-color: rgba(230, 57, 70, 0.3) !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-success .morpheus-popup-message::before {
  content: '\f058' !important; /* circle-check */
  color: var(--emerald-300) !important;
  background: rgba(47, 174, 110, 0.12) !important;
  border-color: rgba(47, 174, 110, 0.3) !important;
  box-shadow: 0 0 24px rgba(47, 174, 110, 0.18) !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-confirm .morpheus-popup-message::before {
  content: '\f05a' !important; /* circle-info */
  color: var(--brand-200) !important;
  background: rgba(230, 57, 70, 0.1) !important;
  border-color: rgba(230, 57, 70, 0.25) !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-prompt .morpheus-popup-message::before {
  content: '\f059' !important; /* circle-question */
  color: var(--emerald-300) !important;
  background: rgba(47, 174, 110, 0.1) !important;
  border-color: rgba(47, 174, 110, 0.25) !important;
  box-shadow: 0 0 24px rgba(47, 174, 110, 0.12) !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-success::after {
  background: linear-gradient(90deg, var(--emerald-400), var(--emerald-600)) !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-alert::after,
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-error::after {
  background: linear-gradient(90deg, var(--brand-400), var(--crimson-600)) !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-confirm::after {
  background: linear-gradient(90deg, var(--brand-300), var(--brand-500)) !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-prompt::after {
  background: linear-gradient(90deg, var(--emerald-300), var(--brand-400)) !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-prompt {
  margin: 0 !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-prompt input,
#morpheus-popup-container #morpheus-popup-prompt {
  width: 100% !important;
  max-width: 280px !important;
  margin: 0.85rem auto 0 !important;
  padding: 0.7rem 0.9rem !important;
  color: var(--text) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important;
  outline: none !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
}
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-prompt input:focus,
#morpheus-popup-container #morpheus-popup-prompt:focus {
  border-color: var(--line-brand) !important;
  box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.15) !important;
}
#morpheus-popup-container .morpheus-popup-panel {
  margin: 1.25rem 0 0.1rem !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.55rem !important;
  text-align: center !important;
}
#morpheus-popup-container .morpheus-popup-panel .morpheus-popup-btn {
  margin: 0 !important;
  padding: 0.7rem 1.35rem !important;
  min-width: 104px !important;
  border: 1px solid transparent !important;
  color: #fff !important;
  background: linear-gradient(160deg, var(--brand-400), var(--brand-500) 55%, var(--brand-600)) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  border-radius: var(--r-md) !important;
  font-family: var(--font-display) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-shadow: var(--glow-brand) !important;
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), filter var(--t-fast) var(--ease), background var(--t-fast) var(--ease) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#morpheus-popup-container .morpheus-popup-panel .morpheus-popup-btn:hover {
  text-decoration: none !important;
  filter: brightness(1.07) !important;
  box-shadow: var(--glow-brand-lg) !important;
  outline: 0 !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}
#morpheus-popup-container .morpheus-popup-panel .morpheus-popup-btn:active {
  transform: translateY(0) !important;
}
/* OK em success → verde */
#morpheus-popup-container .morpheus-popup-content.morpheus-popup-success .morpheus-popup-panel .morpheus-popup-btn:only-child {
  background: linear-gradient(160deg, var(--emerald-400), var(--emerald-500) 55%, var(--emerald-600)) !important;
  box-shadow: var(--glow-emerald) !important;
}
/* Cancel (2º botão em confirm/prompt) */
#morpheus-popup-container .morpheus-popup-panel .morpheus-popup-btn:last-child:not(:only-child),
#morpheus-popup-container .morpheus-popup-panel #morpheus-popup-cancel {
  color: var(--text-muted) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid var(--line) !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0.03em !important;
}
#morpheus-popup-container .morpheus-popup-panel .morpheus-popup-btn:last-child:not(:only-child):hover,
#morpheus-popup-container .morpheus-popup-panel #morpheus-popup-cancel:hover {
  color: var(--text) !important;
  border-color: var(--line-brand-soft) !important;
  background: rgba(230, 57, 70, 0.1) !important;
  filter: none !important;
  box-shadow: none !important;
}
/* fallback selectors (outros templates/libs) */
.morpheus-popup-overlay,
#popup_overlay,
.popup_overlay {
  background: rgba(5, 6, 10, 0.78) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.bp-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.22rem 0.7rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-muted);
}
.bp-badge--gold { border-color: var(--line-brand); background: rgba(230, 57, 70, 0.12); color: var(--brand-300); }
.bp-badge--ok { border-color: rgba(80, 200, 120, 0.4); background: rgba(80, 200, 120, 0.1); color: #7ddb9c; }
.bp-badge--red,
.bp-badge--danger { border-color: rgba(227, 56, 85, 0.4); background: rgba(227, 56, 85, 0.1); color: #ff8ba0; }

.bp-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  padding: 3.2rem 1.5rem;
  text-align: center;
  color: var(--text-dim-2);
}
.bp-empty i { font-size: 2.4rem; color: var(--brand-600); opacity: 0.7; }
.bp-empty p { margin: 0; font-size: 0.95rem; }
.bp-empty--soft { padding: 2rem 1rem; }

/* --------------------------------------------------------------------------
   8. Cards / Painéis / Tabelas / KV
   -------------------------------------------------------------------------- */
.bp-glass,
.bp-card,
.bp-panel,
.hm-surface {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
}

.bp-card { padding: 1.6rem; }
.bp-card-title {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.12rem;
  margin-bottom: 1rem;
}
.bp-card-title i { color: var(--brand-400); }

/* Marca de canto — assinatura angular nos painéis e cards */
.bp-panel::before,
.bp-card::before,
.bp-product::before,
.bp-mkt-card::before,
.bp-mkt-char-card::before,
.bp-mkt-hub__card::before,
.bp-mkt-panel::before,
.bp-mp-show__card::before,
.bp-mp-show__stats::before,
.bp-mp-gear__col::before,
.bp-pkg-card::before,
.bp-donate-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  pointer-events: none;
  border-top: 2px solid var(--line-brand);
  border-left: 2px solid var(--line-brand);
  opacity: 0.55;
}
.bp-card::before { border-radius: 2px 0 0 0; }
.bp-product,
.bp-mkt-card,
.bp-mkt-char-card,
.bp-mkt-hub__card,
.bp-mkt-panel,
.bp-mp-show__card,
.bp-mp-show__stats,
.bp-mp-gear__col,
.bp-pkg-card,
.bp-donate-card { position: relative; }

.bp-panel { overflow: hidden; margin-bottom: 1.5rem; }
.bp-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.05rem 1.4rem;
  border-bottom: 1px solid var(--line-soft);
  background:
    linear-gradient(90deg, rgba(230, 57, 70, 0.06), transparent 55%);
}
.bp-panel__title {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0;
  font-size: 0.98rem;
  letter-spacing: 0.05em;
}
.bp-panel__title i { color: var(--brand-400); font-size: 0.92em; }
.bp-panel__body { padding: 1.4rem; }

/* Tabela base */
.bp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}
.bp-table th {
  padding: 0.7rem 0.9rem;
  text-align: left;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brand-400);
  border-bottom: 1px solid var(--line-brand-soft);
  white-space: nowrap;
}
.bp-table td {
  padding: 0.78rem 0.9rem;
  border-bottom: 1px solid var(--line-soft);
  color: var(--text-muted);
  vertical-align: middle;
}
.bp-table tbody tr { transition: background var(--t-fast) var(--ease); }
.bp-table tbody tr:hover { background: rgba(230, 57, 70, 0.045); }
.bp-table tbody tr:hover td { color: var(--text); }
.bp-table tbody tr:last-child td { border-bottom: 0; }

/* Key-value */
.bp-kv,
.bp-detail {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.62rem 0;
  border-bottom: 1px solid var(--line-soft);
}
.bp-kv:last-child,
.bp-detail:last-child { border-bottom: 0; }
.bp-kv dt,
.bp-detail dt {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-kv dd,
.bp-detail dd { margin: 0; font-weight: 600; color: var(--text); text-align: right; }
.bp-detail-list { display: grid; gap: 0.15rem; }

/* Tabs genéricas */
.bp-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.4rem;
  border-bottom: 1px solid var(--line);
  padding-bottom: 0.9rem;
}
.bp-tab {
  padding: 0.5rem 1.1rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.03);
  transition: all var(--t-fast) var(--ease);
}
.bp-tab:hover { color: var(--text); border-color: var(--line-brand-soft); }
.bp-tab.is-active {
  color: #ffffff;
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(179, 36, 52, 0.3);
}
.tab-pane { display: none; }
.tab-pane.is-active,
.tab-pane.show { display: block; animation: bp-fade-up 0.4s var(--ease-out); }
.fade { transition: opacity 0.3s var(--ease); }

/* --------------------------------------------------------------------------
   9. Site shell — Header rail
   -------------------------------------------------------------------------- */
.bp-site { position: relative; z-index: 1; min-height: 100vh; display: flex; flex-direction: column; }
.bp-main { flex: 1; }

.bp-rail {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 200;
  transition:
    background var(--t-med) var(--ease),
    box-shadow var(--t-med) var(--ease),
    border-color var(--t-med) var(--ease);
  border-bottom: 1px solid transparent;
}
.bp-rail.is-scrolled {
  background: rgba(7, 8, 13, 0.82);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  border-bottom-color: var(--line);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

/* Filete vermelho global fica no body::after — edge do rail desativada */
.bp-rail__edge { display: none; }

.bp-rail__inner {
  width: min(100% - 2.5rem, 1360px);
  margin-inline: auto;
  height: var(--rail-h);
  display: flex;
  align-items: center;
  gap: 1.6rem;
}

.bp-rail__logo {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.bp-rail__logo img {
  width: auto;
  height: 36px;
  max-width: min(200px, 42vw);
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 4px 14px rgba(230, 57, 70, 0.35));
  transition: transform var(--t-med) var(--spring);
}
.bp-rail__logo:hover img { transform: scale(1.04); }
.bp-rail__mark { display: none; }

/* Nav principal */
.bp-rail__nav {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  margin-inline: auto;
}
.bp-rail__nav > a,
.bp-rail__drop-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.62rem 0.95rem;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  border-radius: 10px;
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
  white-space: nowrap;
}
.bp-rail__nav > a::after,
.bp-rail__drop-btn::after {
  content: '';
  position: absolute;
  left: 0.95rem;
  right: 0.95rem;
  bottom: 0.28rem;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--brand-400), var(--brand-600));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t-med) var(--ease);
}
.bp-rail__nav > a:hover,
.bp-rail__drop-btn:hover,
.bp-rail__nav > a.is-active {
  color: var(--brand-200);
}
.bp-rail__nav > a:hover::after,
.bp-rail__nav > a.is-active::after,
.bp-rail__drop.is-open .bp-rail__drop-btn::after { transform: scaleX(1); }
.bp-rail__drop-btn i { font-size: 0.62rem; transition: transform var(--t-fast) var(--ease); }
.bp-rail__drop.is-open .bp-rail__drop-btn i { transform: rotate(180deg); }

/* Mega menu */
.bp-rail__drop { position: relative; }
.bp-rail__mega {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translate(-50%, 10px);
  display: flex;
  gap: 0.4rem;
  min-width: 460px;
  padding: 1rem;
  background: rgba(13, 16, 23, 0.97);
  backdrop-filter: blur(20px);
  border: 1px solid var(--line);
  border-top: 2px solid var(--brand-500);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-3);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity var(--t-med) var(--ease),
    transform var(--t-med) var(--ease),
    visibility var(--t-med);
}
.bp-rail__drop.is-open .bp-rail__mega {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.bp-rail__mega--sm { min-width: 260px; }
.bp-rail__mega-col { display: flex; flex-direction: column; flex: 1; }
.bp-rail__mega-col a {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  padding: 0.66rem 0.85rem;
  font-size: 0.88rem;
  color: var(--text-muted);
  border-radius: 10px;
  transition: all var(--t-fast) var(--ease);
  width: 100%;
  box-sizing: border-box;
}
.bp-rail__mega-col a i { width: 16px; text-align: center; color: var(--brand-500); font-size: 0.82rem; flex: 0 0 auto; }
.bp-rail__mega-col a:hover {
  color: var(--text);
  background: rgba(230, 57, 70, 0.08);
  transform: translateX(3px);
}
/* Badge ao lado do texto (não colado na extrema direita) */
.bp-rail__mega-col a em {
  margin-left: 0.15rem;
  flex: 0 0 auto;
  padding: 0.12rem 0.5rem;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.1em;
  border-radius: var(--r-pill);
  background: rgba(47, 174, 110, 0.16);
  color: var(--emerald-300);
  border: 1px solid rgba(47, 174, 110, 0.3);
  white-space: nowrap;
}
.bp-rail__mega-col a em.is-gold {
  background: rgba(230, 57, 70, 0.14);
  color: var(--brand-300);
  border-color: var(--line-brand);
}

/* Badge NEW amarelo — MarketPlace (rail / drawer / sidebar / mega) */
.bp-pill-new,
em.bp-pill-new {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.4rem;
  padding: 0.1rem 0.42rem;
  font-family: var(--font-display);
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
  border-radius: var(--r-pill);
  color: #1a1305 !important;
  background: linear-gradient(160deg, #ffe08a, #f5c542 45%, #e2a82a) !important;
  border: 1px solid rgba(255, 214, 100, 0.65) !important;
  box-shadow: 0 0 12px rgba(245, 197, 66, 0.35);
  vertical-align: middle;
  animation: bp-pill-new-pulse 2.4s ease-in-out infinite;
}
.bp-rail__drop-btn .bp-pill-new {
  margin-left: 0.35rem;
  margin-right: 0.15rem;
  padding: 0.08rem 0.36rem;
  font-size: 0.52rem;
}
.bp-rail__nav > a .bp-pill-new {
  margin-left: 0.35rem;
}
.bp-rail__mega-col a em.bp-pill-new {
  margin-left: 0.15rem;
  background: linear-gradient(160deg, #ffe08a, #f5c542 45%, #e2a82a) !important;
  color: #1a1305 !important;
  border: 1px solid rgba(255, 214, 100, 0.65) !important;
}
.bp-drawer__nav a .bp-pill-new {
  margin-left: 0.15rem;
  margin-right: 0;
}
.rsb__quick a.rsb__quick-mp {
  position: relative;
  overflow: visible;
}
.rsb__quick a.rsb__quick-mp .bp-pill-new {
  position: absolute;
  top: 0.28rem;
  right: 0.28rem;
  margin-left: 0;
  padding: 0.06rem 0.3rem;
  font-size: 0.48rem;
  letter-spacing: 0.08em;
}
@keyframes bp-pill-new-pulse {
  0%, 100% { box-shadow: 0 0 10px rgba(245, 197, 66, 0.28); }
  50% { box-shadow: 0 0 16px rgba(245, 197, 66, 0.55); }
}

/* Lado direito do rail */
.bp-rail__end {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex: 0 0 auto;
}
.bp-rail__login { display: flex; align-items: center; }

/* Seletor de idioma */
.bp-lang { position: relative; }
.bp-lang__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  transition: all var(--t-fast) var(--ease);
}
.bp-lang__btn:hover { border-color: var(--line-brand-soft); background: rgba(255, 255, 255, 0.07); }
.bp-lang__btn img { border-radius: 3px; width: 20px; height: 14px; object-fit: cover; }
.bp-lang__btn i { font-size: 0.6rem; color: var(--text-dim-2); transition: transform var(--t-fast) var(--ease); }
.bp-lang.is-open .bp-lang__btn i { transform: rotate(180deg); }
.bp-lang__menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 168px;
  padding: 0.45rem;
  background: rgba(13, 16, 23, 0.97);
  backdrop-filter: blur(20px);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-2);
  animation: bp-fade-up 0.25s var(--ease-out);
}
.bp-lang__opt {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.7rem;
  font-size: 0.86rem;
  color: var(--text-muted);
  border-radius: 8px;
  transition: all var(--t-fast) var(--ease);
}
.bp-lang__opt img { border-radius: 3px; }
.bp-lang__opt:hover { background: rgba(230, 57, 70, 0.08); color: var(--text); }
.bp-lang__opt.is-active { color: var(--brand-300); background: rgba(230, 57, 70, 0.1); }

/* Burger (mobile) */
.bp-rail__burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 42px;
  height: 42px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
}
.bp-rail__burger span {
  display: block;
  height: 2px;
  border-radius: 2px;
  background: var(--brand-300);
  transition: all var(--t-med) var(--ease);
}
.bp-rail__burger:hover { border-color: var(--line-brand); }

/* User bar (login parcial) */
.bp-user-bar {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.bp-user-bar__meta {
  align-items: center;
  gap: 0.7rem;
  margin-right: 0.35rem;
  font-size: 0.84rem;
  color: var(--text-muted);
}
.bp-user-bar__name strong { color: var(--text); }
.bp-user-bar__vip {
  padding: 0.14rem 0.6rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-200);
  border: 1px solid var(--line-brand);
  border-radius: var(--r-pill);
  background: rgba(230, 57, 70, 0.1);
}
.bp-user-bar__credits {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-weight: 700;
  color: var(--brand-300);
}

/* --------------------------------------------------------------------------
   10. Drawer mobile
   -------------------------------------------------------------------------- */
.bp-drawer { position: fixed; inset: 0; z-index: 400; pointer-events: none; }
.bp-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 5, 9, 0.7);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity var(--t-med) var(--ease);
}
.bp-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(340px, 88vw);
  padding: 1.2rem 1.4rem 2rem;
  background:
    radial-gradient(400px 300px at 100% 0%, rgba(230, 57, 70, 0.08), transparent 60%),
    var(--bg-1);
  border-left: 1px solid var(--line-brand-soft);
  box-shadow: -30px 0 80px rgba(0, 0, 0, 0.6);
  transform: translateX(100%);
  transition: transform var(--t-med) var(--ease);
  overflow-y: auto;
}
.bp-drawer.is-open { pointer-events: auto; }
.bp-drawer.is-open .bp-drawer__backdrop { opacity: 1; }
.bp-drawer.is-open .bp-drawer__panel { transform: none; }

.bp-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1.1rem;
  margin-bottom: 1.1rem;
  border-bottom: 1px solid var(--line);
}
.bp-drawer__head img {
  width: auto;
  height: 32px;
  max-width: 180px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 3px 10px rgba(230, 57, 70, 0.4));
}
.bp-menu-toggle {
  display: grid;
  place-content: center;
  width: 38px;
  height: 38px;
  font-size: 1rem;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: 10px;
  transition: all var(--t-fast) var(--ease);
}
.bp-menu-toggle:hover { color: var(--brand-300); border-color: var(--line-brand); transform: rotate(90deg); }

.bp-drawer__nav { display: flex; flex-direction: column; }
.bp-drawer__nav a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  padding: 0.85rem 0.4rem;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  border-bottom: 1px solid var(--line-soft);
  transition: all var(--t-fast) var(--ease);
}
.bp-drawer__nav a:hover { color: var(--brand-200); padding-left: 0.8rem; }
.bp-drawer__nav a:last-child { border-bottom: 0; }
.bp-drawer__nav a em,
.bp-drawer__nav a .bp-pill-new {
  margin-left: 0.15rem;
  flex: 0 0 auto;
}

/* --------------------------------------------------------------------------
   11. Footer
   -------------------------------------------------------------------------- */
.bp-footer {
  position: relative;
  margin-top: 5rem;
  border-top: 1px solid var(--line);
  background:
    radial-gradient(700px 260px at 50% 0%, rgba(230, 57, 70, 0.06), transparent 65%),
    linear-gradient(180deg, var(--bg-1), var(--bg-0));
}
.bp-footer::before {
  content: '';
  position: absolute;
  inset: -1px 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--brand-500) 50%, transparent);
}
.bp-footer__grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 2.5rem;
  padding: 3.6rem 0 2.6rem;
}
.bp-footer__brand p {
  max-width: 34ch;
  margin: 0.9rem 0 0;
  font-size: 0.9rem;
  color: var(--text-dim-2);
}
.bp-footer__social {
  display: flex;
  gap: 0.55rem;
  margin-top: 1.2rem;
}
.bp-footer__social a {
  display: grid;
  place-content: center;
  width: 38px;
  height: 38px;
  font-size: 0.92rem;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.03);
  transition: all var(--t-fast) var(--ease);
}
.bp-footer__social a:hover {
  color: var(--brand-200);
  border-color: var(--line-brand);
  transform: translateY(-3px);
  box-shadow: var(--glow-brand);
}
.bp-footer__logo {
  width: auto;
  height: 42px;
  max-width: 220px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 6px 18px rgba(230, 57, 70, 0.3));
}
.bp-footer h4 {
  margin: 0 0 1.1rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-footer ul { display: grid; gap: 0.55rem; }
.bp-footer ul a {
  font-size: 0.9rem;
  color: var(--text-muted);
  transition: all var(--t-fast) var(--ease);
}
.bp-footer ul a:hover { color: var(--brand-200); padding-left: 4px; }
.bp-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  padding: 1.3rem 0 1.5rem;
  border-top: 1px solid var(--line-soft);
}
.bp-footer__bottom p { margin: 0; font-size: 0.82rem; color: var(--text-dim-2); }
.bp-footer__bottom a { color: var(--text-muted); }
.bp-footer__bottom a:hover { color: var(--brand-300); }

/* --------------------------------------------------------------------------
   12. Scroll top
   -------------------------------------------------------------------------- */
.bp-scrolltop {
  position: fixed;
  left: 1.4rem;
  right: auto;
  bottom: 1.4rem;
  z-index: 300;
  display: grid;
  place-content: center;
  width: 46px;
  height: 46px;
  font-size: 0.9rem;
  color: var(--brand-200);
  background:
    linear-gradient(var(--bg-3), var(--bg-3)) padding-box,
    linear-gradient(160deg, var(--brand-400), rgba(230, 57, 70, 0.1), var(--brand-600)) border-box;
  border: 1px solid transparent;
  border-radius: 14px;
  box-shadow: var(--shadow-2);
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: all var(--t-med) var(--ease);
}
.bp-scrolltop.is-visible { opacity: 1; visibility: visible; transform: none; }
.bp-scrolltop:hover { transform: translateY(-3px); box-shadow: var(--glow-brand-lg); }

/* --------------------------------------------------------------------------
   12b. Community float (botão + painel direita)
   -------------------------------------------------------------------------- */
.bp-com-fab {
  position: fixed;
  right: 1.4rem;
  bottom: 1.4rem;
  z-index: 320;
  width: 64px;
  height: 64px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-content: center;
  font-size: 1.45rem;
  color: #fff;
  cursor: pointer;
  background: linear-gradient(145deg, #ff4d5e, var(--brand-600) 55%, #9b1220);
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.45),
    0 0 0 0 rgba(230, 57, 70, 0.45),
    0 0 22px rgba(230, 57, 70, 0.4);
  transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease), filter var(--t-fast) var(--ease);
  animation: bp-com-fab-pulse 2.4s ease-out infinite;
}
.bp-com-fab__ping {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid rgba(230, 57, 70, 0.45);
  animation: bp-com-fab-ring 2.4s ease-out infinite;
  pointer-events: none;
}
.bp-com-fab:hover {
  transform: scale(1.08) translateY(-3px);
  filter: brightness(1.06);
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.5),
    0 0 32px rgba(230, 57, 70, 0.55);
}
.bp-com-fab.is-open {
  background: linear-gradient(145deg, #3a1018, #1a0a0e);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);
  animation: none;
}
.bp-com-fab.is-open .bp-com-fab__ping { display: none; }
@keyframes bp-com-fab-pulse {
  0%, 100% { box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45), 0 0 0 0 rgba(230, 57, 70, 0.4), 0 0 22px rgba(230, 57, 70, 0.35); }
  50% { box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45), 0 0 0 8px rgba(230, 57, 70, 0), 0 0 28px rgba(230, 57, 70, 0.5); }
}
@keyframes bp-com-fab-ring {
  0% { transform: scale(1); opacity: 0.7; }
  100% { transform: scale(1.35); opacity: 0; }
}

.bp-com-backdrop {
  position: fixed;
  inset: 0;
  z-index: 310;
  background: rgba(5, 6, 10, 0.45);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.bp-com-panel {
  position: fixed;
  right: 1.4rem;
  bottom: 5.6rem;
  z-index: 315;
  width: min(340px, calc(100vw - 2rem));
  max-height: min(78vh, 560px);
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  border: 1px solid rgba(230, 57, 70, 0.28);
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(230, 57, 70, 0.12), transparent 60%),
    linear-gradient(180deg, #161820 0%, #0e1016 100%);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.03);
  overflow: hidden;
  transform-origin: bottom right;
  animation: bp-com-panel-in 0.28s cubic-bezier(0.175, 0.885, 0.32, 1.15) both;
}
.bp-com-panel--wide {
  width: min(920px, calc(100vw - 2rem));
  max-height: min(80vh, 480px);
}
.bp-com-panel[hidden] { display: none !important; }

/* Hub 3 colunas (Redes · Grupos · Discord) */
.bp-com-hub {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}
.bp-com-hub--page {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.bp-com-hub--grupos-only {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 720px;
  margin: 0 auto;
}
.bp-com-hub--grupos-only .bp-com-hub__col {
  padding: 0;
  border: 0;
  background: transparent;
}
.bp-com-hub--grupos-only .bp-com-hub__group {
  min-height: 100%;
  padding: 1.15rem 1.2rem 1.25rem;
}
.bp-grupos .bp-com-hub__col {
  min-height: 100%;
}
@media (max-width: 720px) {
  .bp-com-hub--page,
  .bp-com-hub--grupos-only { grid-template-columns: 1fr; }
}
.bp-com-hub__col {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.9rem 0.95rem 1rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.22);
}
.bp-com-hub__title {
  margin: 0 0 0.35rem;
  padding-bottom: 0.55rem;
  border-bottom: 2px solid rgba(230, 57, 70, 0.45);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.bp-com-hub__title i { color: var(--brand-300); }
.bp-com-hub__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.58rem 0.7rem;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.bp-com-hub__btn:hover {
  border-color: var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.08);
  color: var(--text);
}
.bp-com-hub__group {
  display: grid;
  gap: 0.55rem;
  padding: 0.75rem 0.8rem;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.02);
}
.bp-com-hub__group strong {
  font-size: 0.84rem;
  color: var(--text);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.bp-com-hub__group--br {
  border-color: rgba(46, 204, 113, 0.25);
  background: rgba(46, 204, 113, 0.06);
}
.bp-com-hub__group--br strong i { color: #4ade80; }
.bp-com-hub__group--global {
  border-color: rgba(59, 130, 246, 0.28);
  background: rgba(59, 130, 246, 0.07);
}
.bp-com-hub__group--global strong i { color: #60a5fa; }
.bp-com-hub__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  transition: filter var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.bp-com-hub__cta:hover { filter: brightness(1.08); transform: translateY(-1px); color: #fff; }
.bp-com-hub__cta--green { background: linear-gradient(145deg, #22c55e, #15803d); }
.bp-com-hub__cta--blue { background: linear-gradient(145deg, #3b82f6, #1d4ed8); }
.bp-com-hub__cta--dc {
  margin-top: auto;
  background: linear-gradient(145deg, var(--brand-400), var(--brand-600));
  box-shadow: 0 6px 16px rgba(230, 57, 70, 0.3);
}
.bp-com-hub__desc {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--text-muted);
}
.bp-com-hub__dc-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.7rem;
  border-radius: 11px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.05);
  margin: 0.25rem 0 0.5rem;
}
.bp-com-hub__col--dc {
  border-color: rgba(230, 57, 70, 0.28);
  background:
    radial-gradient(ellipse 90% 60% at 20% 0%, rgba(230, 57, 70, 0.12), transparent 65%),
    rgba(0, 0, 0, 0.28);
}
@media (max-width: 820px) {
  .bp-com-hub { grid-template-columns: 1fr; }
  .bp-com-panel--wide { width: min(380px, calc(100vw - 2rem)); max-height: min(78vh, 640px); }
}
@keyframes bp-com-panel-in {
  from { opacity: 0; transform: translateY(16px) scale(0.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.bp-com-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.22);
}
.bp-com-panel__head h3 {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
}
.bp-com-panel__close {
  width: 34px;
  height: 34px;
  display: grid;
  place-content: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-muted);
  cursor: pointer;
}
.bp-com-panel__close:hover {
  color: #fff;
  border-color: var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.12);
}
.bp-com-panel__body {
  padding: 0.95rem 1rem 1.1rem;
  overflow: auto;
}

@media (max-width: 480px) {
  .bp-com-fab { right: 1rem; bottom: 1rem; width: 56px; height: 56px; font-size: 1.25rem; }
  .bp-com-panel { right: 1rem; bottom: 5rem; width: calc(100vw - 2rem); }
}

/* --------------------------------------------------------------------------
   13. Modal / Login
   -------------------------------------------------------------------------- */
.bp-modal {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: grid;
  place-items: center;
  padding: 1.2rem;
  visibility: hidden;
  pointer-events: none;
}
.bp-modal.is-open { visibility: visible; pointer-events: auto; }
.bp-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 5, 9, 0.78);
  backdrop-filter: blur(8px);
  opacity: 0;
  transition: opacity var(--t-med) var(--ease);
}
.bp-modal.is-open .bp-modal__backdrop { opacity: 1; }
.bp-modal__dialog {
  position: relative;
  width: min(430px, 100%);
  transform: translateY(26px) scale(0.97);
  opacity: 0;
  transition: all var(--t-med) var(--spring);
}
.bp-modal.is-open .bp-modal__dialog { transform: none; opacity: 1; }
.bp-modal__close {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  z-index: 2;
  display: grid;
  place-content: center;
  width: 34px;
  height: 34px;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.04);
  transition: all var(--t-fast) var(--ease);
}
.bp-modal__close:hover { color: var(--brand-300); border-color: var(--line-brand); transform: rotate(90deg); }

.bp-login-card {
  padding: 2.1rem 2rem 1.7rem;
  background:
    radial-gradient(340px 200px at 50% -20%, rgba(230, 57, 70, 0.1), transparent 70%),
    var(--surface-solid);
  border: 1px solid var(--line-brand-soft);
  box-shadow: var(--shadow-3);
}
.bp-login-pass-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.8rem;
}
.bp-login-forgot { font-size: 0.78rem; color: var(--text-dim-2); text-transform: none; letter-spacing: 0; }
.bp-login-forgot:hover { color: var(--brand-300); }
.bp-login-remember { margin-top: -0.3rem; }
.bp-login-foot {
  margin: 1.2rem 0 0;
  text-align: center;
  font-size: 0.88rem;
}
.bp-login-foot a { color: var(--brand-300); font-weight: 600; }
.bp-login-foot a:hover { color: var(--brand-200); text-decoration: underline; }
.bp-login-social {
  margin-top: 1.3rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--line-soft);
  text-align: center;
  font-size: 0.84rem;
  color: var(--text-dim-2);
}
.bp-login-social__links {
  display: flex;
  justify-content: center;
  gap: 0.7rem;
  margin-top: 0.7rem;
}
.bp-login-social__links a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 1rem;
  font-size: 0.84rem;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  transition: all var(--t-fast) var(--ease);
}
.bp-login-social__links a:hover { color: var(--text); border-color: var(--line-brand-soft); transform: translateY(-2px); }

.bp-login-spinner {
  width: 26px;
  height: 26px;
  margin: 0 auto;
  border: 3px solid rgba(230, 57, 70, 0.2);
  border-top-color: var(--brand-400);
  border-radius: 50%;
  animation: bp-spin 0.7s linear infinite;
}

/* Preloader Morpheus */
.preloader {
  position: fixed;
  inset: 0;
  z-index: 600;
  display: grid;
  place-content: center;
  background: rgba(5, 6, 10, 0.85);
  backdrop-filter: blur(6px);
}
.loader {
  width: 44px;
  height: 44px;
  border: 3px solid rgba(230, 57, 70, 0.18);
  border-top-color: var(--brand-400);
  border-radius: 50%;
  animation: bp-spin 0.8s linear infinite;
}

/* --------------------------------------------------------------------------
   14. Hero cinematográfico
   -------------------------------------------------------------------------- */
.bp-hero {
  position: relative;
  /* Altura do hero restaurada — o gap extra era só DEPOIS do hero */
  min-height: max(520px, 78vh);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
}
/* Laterais do hero: RMT (esq) · busca base (dir) */
.bp-hero__side {
  position: absolute;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: min(300px, 34vw);
  pointer-events: none;
}
.bp-hero__side > * { pointer-events: auto; }
/* Posição “box vermelho”: mais à direita, sob o rail */
.bp-hero__side--left {
  left: max(7rem, 16vw);
  top: calc(var(--rail-h, 72px) + 2.2rem);
  align-items: stretch;
}
/* Busca no limite inferior do hero (direita) */
.bp-hero__side--right {
  right: max(1.1rem, 2.5vw);
  top: auto;
  bottom: 2.4rem;
  align-items: flex-end;
}
.bp-hero__side--left .bp-hero__rmt {
  width: 100%;
  max-width: 280px;
}
.bp-hero__side--right .bp-hero__char-search {
  max-width: 280px;
  min-width: min(100%, 220px);
  flex: 0 1 auto;
}
.bp-hero__media { position: absolute; inset: 0; z-index: -5; }
.bp-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  transform: scale(1.06);
  animation: bp-kenburns 26s var(--ease) infinite alternate;
}
@keyframes bp-kenburns {
  from { transform: scale(1.06) translateY(0); }
  to { transform: scale(1.12) translateY(-1.6%); }
}

/* Aura dual sutil sobre a arte (que já tem brilho próprio) */
.bp-hero__aura {
  position: absolute;
  inset: 0;
  z-index: -4;
  background:
    radial-gradient(52% 68% at 18% 42%, rgba(47, 174, 110, 0.09), transparent 62%),
    radial-gradient(52% 68% at 82% 42%, rgba(212, 51, 74, 0.12), transparent 62%),
    radial-gradient(40% 42% at 50% 62%, rgba(230, 57, 70, 0.1), transparent 70%);
  mix-blend-mode: screen;
}
.bp-hero__vignette {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    linear-gradient(180deg, rgba(5, 6, 10, 0.72) 0%, rgba(5, 6, 10, 0.18) 30%, rgba(5, 6, 10, 0.1) 55%, var(--bg-0) 97%),
    radial-gradient(120% 90% at 50% 40%, transparent 45%, rgba(5, 6, 10, 0.55) 100%);
}
.bp-hero__grain {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0.5;
  background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1.3px);
  background-size: 22px 22px;
  mask-image: radial-gradient(70% 60% at 50% 45%, rgba(0, 0, 0, 0.8), transparent);
}
.bp-hero__orbs { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.bp-hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(46px);
  opacity: 0.5;
  animation: bp-float-y 9s ease-in-out infinite;
}
.bp-hero__orb--1 { width: 220px; height: 220px; left: 12%; top: 30%; background: rgba(47, 174, 110, 0.16); }
.bp-hero__orb--2 { width: 260px; height: 260px; right: 10%; top: 26%; background: rgba(212, 51, 74, 0.24); animation-delay: -3s; }
.bp-hero__orb--3 { width: 170px; height: 170px; left: 46%; bottom: 14%; background: rgba(230, 57, 70, 0.2); animation-delay: -6s; }
.bp-hero__scan {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.012) 0 1px, transparent 1px 4px);
  opacity: 0.25;
}

.bp-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.55rem;
  padding: calc(var(--rail-h) + 1.4rem) 1.5rem 2.4rem;
  text-align: center;
  width: 100%;
}
.bp-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  margin: 0 0 -0.55rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--brand-300);
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.65);
}
.bp-hero__kicker::before,
.bp-hero__kicker::after {
  content: '';
  width: 34px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--brand-500));
  clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%);
}
.bp-hero__kicker::after { transform: scaleX(-1); }

.bp-hero__logo-wrap {
  position: relative;
  display: grid;
  place-items: center;
  animation: bp-float-y 7s ease-in-out infinite;
}
.bp-hero__logo-wrap::before {
  content: '';
  position: absolute;
  inset: -12%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(230, 57, 70, 0.28), rgba(230, 57, 70, 0.07) 45%, transparent 70%);
  filter: blur(18px);
}
/* logo-brplay.png ~quadrado — escala no conteúdo, sem alterar altura do hero */
.bp-hero__logo {
  width: auto;
  height: clamp(196px, 30vh, 310px);
  max-width: min(440px, 84vw);
  object-fit: contain;
  filter: drop-shadow(0 18px 44px rgba(0, 0, 0, 0.6)) drop-shadow(0 0 26px rgba(230, 57, 70, 0.16));
}

.bp-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.85rem 1rem;
}

/* CTA RMT — “Ganhe Dinheiro Jogando” */
.bp-hero__rmt {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.72rem 1.15rem 0.72rem 0.95rem;
  border-radius: 999px;
  border: 1px solid rgba(240, 198, 116, 0.45);
  background:
    linear-gradient(135deg, rgba(240, 198, 116, 0.18), rgba(230, 57, 70, 0.12) 55%, rgba(20, 16, 10, 0.55));
  color: #f6e7b8;
  text-decoration: none;
  box-shadow:
    0 0 0 1px rgba(240, 198, 116, 0.08),
    0 10px 28px rgba(0, 0, 0, 0.35),
    0 0 22px rgba(240, 198, 116, 0.18);
  overflow: hidden;
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.bp-hero__rmt::before {
  content: '';
  position: absolute;
  inset: -40% -60%;
  background: linear-gradient(105deg, transparent 30%, rgba(255, 240, 180, 0.35) 48%, transparent 62%);
  transform: translateX(-40%);
  animation: bp-rmt-shine 3.2s ease-in-out infinite;
  pointer-events: none;
}
.bp-hero__rmt > i:first-child {
  width: 34px;
  height: 34px;
  display: grid;
  place-content: center;
  border-radius: 50%;
  background: rgba(240, 198, 116, 0.18);
  color: #f0c674;
  font-size: 0.95rem;
  flex-shrink: 0;
  animation: bp-rmt-coin 2.4s ease-in-out infinite;
}
.bp-hero__rmt-txt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.15;
  text-align: left;
  min-width: 0;
}
.bp-hero__rmt-txt em {
  font-style: normal;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(246, 231, 184, 0.72);
}
.bp-hero__rmt-txt strong {
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  background: linear-gradient(90deg, #fff4c8, #f0c674 40%, #ff8a9a 90%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
}
.bp-hero__rmt-go {
  font-size: 0.72rem;
  opacity: 0.75;
  margin-left: 0.15rem;
}
.bp-hero__rmt:hover {
  transform: translateY(-2px) scale(1.02);
  border-color: rgba(240, 198, 116, 0.75);
  box-shadow:
    0 0 0 1px rgba(240, 198, 116, 0.16),
    0 14px 32px rgba(0, 0, 0, 0.4),
    0 0 32px rgba(240, 198, 116, 0.32);
  color: #fff8dc;
}
@keyframes bp-rmt-shine {
  0%, 55% { transform: translateX(-50%) rotate(8deg); opacity: 0; }
  65% { opacity: 1; }
  100% { transform: translateX(80%) rotate(8deg); opacity: 0; }
}
@keyframes bp-rmt-coin {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

/* Discord — contas conectadas / convite */
.bp-hero__discord {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.65rem 1.05rem 0.65rem 0.75rem;
  border-radius: 14px;
  border: 1px solid rgba(88, 101, 242, 0.45);
  background:
    linear-gradient(145deg, rgba(88, 101, 242, 0.28), rgba(20, 22, 40, 0.72) 60%);
  color: #e8ebff;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.32), 0 0 18px rgba(88, 101, 242, 0.16);
  transition: transform var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
  max-width: min(280px, 100%);
}
.bp-hero__discord-ico {
  width: 38px;
  height: 38px;
  display: grid;
  place-content: center;
  border-radius: 12px;
  background: #5865f2;
  color: #fff;
  font-size: 1.15rem;
  flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(88, 101, 242, 0.45);
  animation: bp-discord-pulse 2.2s ease-out infinite;
}
.bp-hero__discord-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.1rem;
  min-width: 0;
  text-align: left;
  line-height: 1.2;
}
.bp-hero__discord-body strong {
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
}
.bp-hero__discord-body strong small {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9aa6ff;
}
.bp-hero__discord-body em {
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 600;
  color: rgba(220, 226, 255, 0.78);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 190px;
}
.bp-hero__discord-go {
  font-size: 0.7rem;
  opacity: 0.7;
  flex-shrink: 0;
}
.bp-hero__discord:hover {
  transform: translateY(-2px);
  border-color: rgba(140, 150, 255, 0.7);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.4), 0 0 26px rgba(88, 101, 242, 0.28);
  color: #fff;
}
@keyframes bp-discord-pulse {
  0% { box-shadow: 0 0 0 0 rgba(88, 101, 242, 0.5); }
  70% { box-shadow: 0 0 0 10px rgba(88, 101, 242, 0); }
  100% { box-shadow: 0 0 0 0 rgba(88, 101, 242, 0); }
}

/* Strip + busca de personagem (direita) */
.bp-hero__strip-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem 1rem;
  width: min(1180px, 100%);
}
.bp-hero__strip-row .hm-strip--hero {
  flex: 1 1 auto;
  width: auto;
  min-width: min(100%, 520px);
}
.bp-hero__char-search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex: 0 1 280px;
  min-width: min(100%, 220px);
  max-width: 300px;
  padding: 0.35rem 0.4rem 0.35rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(230, 57, 70, 0.28);
  background: rgba(8, 10, 16, 0.72);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: var(--shadow-2), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.bp-hero__char-search-ico {
  color: var(--text-dim-2);
  font-size: 0.85rem;
  flex-shrink: 0;
}
.bp-hero__char-search input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  font-size: 0.88rem;
  font-weight: 600;
  padding: 0.45rem 0.25rem;
}
.bp-hero__char-search input::placeholder {
  color: var(--text-dim-2);
  font-weight: 500;
}
.bp-hero__char-search button {
  display: grid;
  place-content: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(145deg, var(--brand-500), #b91c2c);
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform var(--t-fast) var(--ease), filter var(--t-fast) var(--ease);
}
.bp-hero__char-search button:hover {
  transform: scale(1.05);
  filter: brightness(1.08);
}
.bp-hero__char-search-err {
  position: absolute;
  left: 0.85rem;
  right: 0.85rem;
  top: calc(100% + 6px);
  margin: 0;
  padding: 0.35rem 0.55rem;
  border-radius: 8px;
  background: rgba(80, 12, 24, 0.92);
  border: 1px solid rgba(255, 100, 120, 0.35);
  color: #ffb3c0;
  font-size: 0.78rem;
  font-weight: 700;
  text-align: left;
  z-index: 4;
}

/* Base do hero — fusão suave com a página */
.bp-hero__floor {
  position: absolute;
  inset: auto 0 0 0;
  height: 32%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(5, 6, 10, 0.72) 55%, var(--bg-0));
}

/* Indicador de scroll */
.bp-hero__cue {
  position: absolute;
  left: 50%;
  bottom: 1.15rem;
  z-index: 3;
  width: 24px;
  height: 38px;
  transform: translateX(-50%);
  border: 2px solid rgba(243, 217, 139, 0.45);
  border-radius: 14px;
  pointer-events: none;
  opacity: 0.8;
}
.bp-hero__cue span {
  position: absolute;
  left: 50%;
  top: 7px;
  width: 4px;
  height: 8px;
  margin-left: -2px;
  border-radius: 3px;
  background: var(--brand-300);
  animation: bp-cue 1.8s var(--ease) infinite;
}
@keyframes bp-cue {
  0% { opacity: 0; transform: translateY(0); }
  30% { opacity: 1; }
  100% { opacity: 0; transform: translateY(14px); }
}
@media (max-width: 820px) { .bp-hero__cue { bottom: 1.1rem; } }

/* --------------------------------------------------------------------------
   15. Strip de status (chips sob o hero)
   -------------------------------------------------------------------------- */
.hm-strip {
  position: relative;
  z-index: 3;
}
.hm-strip--hero {
  width: min(1060px, 100%);
}
.hm-strip--hero .hm-strip__inner {
  background: rgba(8, 10, 16, 0.58);
  border-color: var(--line-brand-soft);
  box-shadow: var(--shadow-2), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.hm-strip__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.7rem;
  padding: 0.9rem 1rem;
  background: rgba(11, 13, 20, 0.72);
  backdrop-filter: blur(16px) saturate(1.25);
  -webkit-backdrop-filter: blur(16px) saturate(1.25);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-2);
}
.hm-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 1.05rem;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.035);
  transition: all var(--t-fast) var(--ease);
}
a.hm-chip:hover { border-color: var(--line-brand-soft); transform: translateY(-2px); }
.hm-chip__k {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.hm-chip__v {
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--brand-300);
}
.hm-chip__pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4fdc82;
  animation: bp-pulse-dot 1.8s ease-out infinite;
}
.hm-chip--live .hm-chip__v { color: #7ddb9c; }
.hm-chip--accent {
  border-color: var(--line-brand);
  background: linear-gradient(160deg, rgba(230, 57, 70, 0.16), rgba(230, 57, 70, 0.05));
}

/* --------------------------------------------------------------------------
   16. Blocos da home
   -------------------------------------------------------------------------- */
.hm-block { position: relative; padding: 2.4rem 0 0; }
/* Só o espaço DEPOIS do hero (notícias + acesso rápido) — encurtado */
.bp-hero + .hm-block,
.bp-hero + section.hm-block {
  padding-top: 1.1rem;
  margin-top: 0;
}
.hm-block--dim {
  margin-top: 3.6rem;
  padding: 4rem 0 4.4rem;
  background:
    radial-gradient(800px 320px at 15% 0%, rgba(47, 174, 110, 0.05), transparent 60%),
    radial-gradient(800px 320px at 85% 100%, rgba(230, 57, 70, 0.05), transparent 60%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent);
  border-block: 1px solid var(--line-soft);
}

.hm-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.2rem;
  margin-bottom: 1.6rem;
}
.hm-title {
  margin: 0;
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--text);
}
.hm-title::after {
  content: '';
  display: block;
  width: 44px;
  height: 3px;
  margin-top: 0.45rem;
  background: linear-gradient(90deg, var(--brand-400), transparent);
}
.hm-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex: 0 0 auto;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--brand-400);
  transition: all var(--t-fast) var(--ease);
}
.hm-link i { transition: transform var(--t-fast) var(--ease); }
.hm-link:hover { color: var(--brand-200); }
.hm-link:hover i { transform: translateX(4px); }

.hm-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 1.6rem;
  align-items: start;
}
.hm-layout__main { min-width: 0; }
.hm-layout__side { min-width: 0; position: sticky; top: calc(var(--rail-h) + 16px); }

/* --------------------------------------------------------------------------
   17. News feed
   -------------------------------------------------------------------------- */
.hm-news-panel { min-width: 0; }
.bp-news { display: grid; gap: 1rem; }
.bp-news__hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 300px;
  padding: 1.6rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background-size: cover;
  background-position: center 30%;
  overflow: hidden;
  isolation: isolate;
  transition: all var(--t-med) var(--ease);
}
.bp-news__hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(185deg, rgba(5, 6, 10, 0.05) 30%, rgba(5, 6, 10, 0.88) 82%);
  transition: opacity var(--t-med) var(--ease);
}
.bp-news__hero:hover { border-color: var(--line-brand-soft); box-shadow: var(--shadow-2); transform: translateY(-3px); }
.bp-news__hero h3 {
  margin: 0.4rem 0 0.35rem;
  font-size: 1.35rem;
  color: #fff;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.6);
}
.bp-news__hero p {
  margin: 0 0 0.55rem;
  max-width: 58ch;
  font-size: 0.92rem;
  color: rgba(240, 240, 245, 0.82);
}
.bp-news__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.78rem;
  color: rgba(220, 220, 228, 0.6);
}
.bp-news__tag {
  align-self: flex-start;
  padding: 0.24rem 0.75rem;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #ffffff;
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
  border-radius: var(--r-pill);
  box-shadow: 0 4px 14px rgba(179, 36, 52, 0.4);
}
.bp-news__new {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  padding: 0.24rem 0.7rem;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: #fff;
  background: linear-gradient(160deg, var(--ruby-400), var(--crimson-600));
  border-radius: var(--r-pill);
  box-shadow: 0 4px 14px rgba(227, 56, 85, 0.45);
  animation: bp-float-y 2.6s ease-in-out infinite;
}
.bp-news__card .bp-news__new { top: 0.8rem; right: 0.8rem; }

.bp-news__grid { display: grid; gap: 1rem; }
.bp-news__grid--3 { grid-template-columns: repeat(3, 1fr); }
.bp-news__card {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--surface);
  overflow: hidden;
  transition: all var(--t-med) var(--ease);
}
.bp-news__card:hover {
  border-color: var(--line-brand-soft);
  transform: translateY(-4px);
  box-shadow: var(--shadow-2);
}
.bp-news__thumb {
  height: 128px;
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid var(--line-soft);
  transition: transform var(--t-slow) var(--ease);
}
.bp-news__card:hover .bp-news__thumb { transform: scale(1.05); }
.bp-news__body {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 1rem 1.1rem 1.15rem;
}
.bp-news__body small {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-news__body strong { font-size: 1rem; color: var(--text); }
.bp-news__body span { font-size: 0.85rem; color: var(--text-muted); line-height: 1.5; }
.bp-news__body em {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.45rem;
  font-size: 0.75rem;
  font-style: normal;
  color: var(--text-dim-2);
}
.bp-news__card.is-read { opacity: 0.75; }

/* --------------------------------------------------------------------------
   18. Hall of Fame / Rankings na home
   -------------------------------------------------------------------------- */
.hm-rank-wrap { margin-top: 2.6rem; }
.hm-head--rank { align-items: center; }
.hm-rank-tools { display: flex; align-items: center; gap: 0.7rem; }

.hm-rank-panel {
  padding: 1.4rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}

/* Tabs do HoF */
.hof__tabs,
.hm-rank-select {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.3rem;
}
.hof__tabs button,
.hm-rank-select button {
  padding: 0.5rem 1.05rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.03);
  transition: all var(--t-fast) var(--ease);
}
.hof__tabs button:hover,
.hm-rank-select button:hover { color: var(--text); border-color: var(--line-brand-soft); }
.hof__tabs button.is-active,
.hm-rank-select button.is-active {
  color: #ffffff;
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
  border-color: transparent;
}
.hm-rank-select { margin-bottom: 0; }
.hm-rank-select button { padding: 0.42rem 0.95rem; font-size: 0.72rem; }
.hof [data-hof-panel] { display: none; }
.hof [data-hof-panel].is-active { display: block; animation: bp-fade-up 0.4s var(--ease-out); }

/* Pódio */
.hm-podium {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  align-items: end;
}
.hm-podium__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  padding: 1.5rem 1rem 1.2rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-med) var(--ease);
}
.hm-podium__card:hover { transform: translateY(-4px); box-shadow: var(--shadow-2); }
.hm-podium__card--1 {
  padding-top: 2rem;
  border-color: var(--line-brand);
  background:
    radial-gradient(220px 140px at 50% 0%, rgba(230, 57, 70, 0.16), transparent 70%),
    var(--surface);
  box-shadow: var(--glow-brand);
}
.hm-podium__place {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  place-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 0.4rem;
  font-family: var(--font-display);
  font-size: 0.88rem;
  font-weight: 800;
  color: #ffffff;
  background: linear-gradient(160deg, #cfd6e4, #8f9ab3);
  border-radius: var(--r-pill);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.hm-podium__card--1 .hm-podium__place {
  min-width: 36px;
  height: 36px;
  font-size: 1.05rem;
  background: linear-gradient(160deg, var(--brand-200), var(--brand-600));
  box-shadow: 0 6px 18px rgba(179, 36, 52, 0.55);
}
.hm-podium__card--3 .hm-podium__place { background: linear-gradient(160deg, #e0a176, #9c5f38); }
.hm-podium__avatar {
  width: 62px;
  height: 62px;
  display: grid;
  place-content: center;
  font-size: 1.5rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 50%;
  margin-bottom: 0.4rem;
}
.hm-podium__card--1 .hm-podium__avatar { width: 74px; height: 74px; font-size: 1.8rem; }
.hm-podium__name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--text);
}
.hm-podium__meta { font-size: 0.78rem; color: var(--text-dim-2); }
.hm-podium__score {
  margin-top: 0.3rem;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--brand-300);
}

/* Linhas de rank simples */
.hm-rank { display: grid; gap: 0.45rem; }
.hm-rank-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.7rem 0.95rem;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.025);
  transition: all var(--t-fast) var(--ease);
}
.hm-rank-row:hover { border-color: var(--line-brand-soft); background: rgba(230, 57, 70, 0.05); transform: translateX(4px); }
.hm-rank-row__n {
  display: grid;
  place-content: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  font-family: var(--font-display);
  font-size: 0.84rem;
  font-weight: 800;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.1);
  border: 1px solid var(--line-brand-soft);
  border-radius: 9px;
}
.hm-rank-more {
  display: block;
  margin-top: 0.9rem;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-dim-2);
}
.hm-rank-more:hover { color: var(--brand-300); }
.hm-empty { padding: 2rem; text-align: center; color: var(--text-dim-2); }

/* --------------------------------------------------------------------------
   19. Jornada / Roadmap da home
   -------------------------------------------------------------------------- */
.hm-road { min-width: 0; }
.hm-road__steps {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin-bottom: 2.2rem;
}
.hm-road__step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.7rem;
  padding: 0.4rem 0.8rem;
  min-width: 130px;
  transition: transform var(--t-fast) var(--ease);
}
.hm-road__step:hover { transform: translateY(-3px); }
.hm-road__dot {
  position: relative;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid var(--text-dim-2);
  background: var(--bg-2);
  transition: all var(--t-med) var(--ease);
}
.hm-road__step.is-done .hm-road__dot {
  border-color: var(--brand-500);
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
  box-shadow: var(--glow-brand);
}
.hm-road__step.is-now .hm-road__dot {
  border-color: var(--brand-300);
  background: var(--bg-2);
  box-shadow: 0 0 0 5px rgba(230, 57, 70, 0.15), var(--glow-brand);
}
.hm-road__step.is-now .hm-road__dot::after {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
}
.hm-road__meta { display: flex; flex-direction: column; align-items: center; gap: 0.1rem; }
.hm-road__meta em {
  font-family: var(--font-display);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.2em;
  color: var(--text-dim-2);
}
.hm-road__step.is-active .hm-road__meta em,
.hm-road__step.is-now .hm-road__meta em { color: var(--brand-400); }
.hm-road__meta strong { font-size: 0.95rem; color: var(--text); }
.hm-road__meta small { font-size: 0.74rem; color: var(--text-dim-2); }
.hm-road__connector {
  flex: 1;
  max-width: 180px;
  height: 2px;
  margin-top: 13px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.09);
  overflow: hidden;
  position: relative;
}
.hm-road__connector::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--brand-500), var(--brand-300));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t-slow) var(--ease);
}
.hm-road__connector.is-filled::after { transform: scaleX(1); }
.hm-road__connector.is-half::after { transform: scaleX(0.5); }

.hm-journey__panel { display: none; }
.hm-journey__panel.is-active { display: block; animation: bp-fade-up 0.45s var(--ease-out); }

.hm-road__intro {
  max-width: 720px;
  margin: 0 auto 1.8rem;
  text-align: center;
}
.hm-road__intro h3 { font-size: 1.3rem; margin: 0.7rem 0 0.4rem; }
.hm-road__intro p { margin: 0; color: var(--text-muted); }
.hm-road__badge {
  display: inline-flex;
  padding: 0.28rem 0.9rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.04);
}
.hm-road__badge.is-done { color: #7ddb9c; border-color: rgba(80, 200, 120, 0.4); background: rgba(80, 200, 120, 0.08); }
.hm-road__badge.is-now { color: var(--brand-200); border-color: var(--line-brand); background: rgba(230, 57, 70, 0.1); box-shadow: var(--glow-brand); }

.hm-road__block { margin-bottom: 1.8rem; }
.hm-road__section-label {
  margin: 0 0 0.85rem;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-dim-2);
  text-align: center;
}
.hm-road__releases {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
}
.hm-road__releases span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 1rem;
  font-size: 0.84rem;
  font-weight: 600;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.03);
}
.hm-road__releases span.is-on { color: #a9e8bd; border-color: rgba(80, 200, 120, 0.32); background: rgba(80, 200, 120, 0.07); }
.hm-road__releases span.is-on i { color: #50c878; font-size: 0.75rem; }
.hm-road__releases span.is-soon { color: var(--text-dim-2); border-style: dashed; }
.hm-road__releases span.is-soon i { color: var(--brand-500); font-size: 0.75rem; }

/* Grade de features */
.hm-feat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.hm-feat-grid--why {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .hm-feat-grid--why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.hm-feat {
  position: relative;
  padding: 1.35rem 1.25rem;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--surface);
  overflow: hidden;
  transition: all var(--t-med) var(--ease);
}
.hm-feat::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--brand-400), transparent);
  opacity: 0;
  transition: opacity var(--t-med) var(--ease);
}
.hm-feat:hover {
  transform: translateY(-4px);
  border-color: var(--line-brand-soft);
  box-shadow: var(--shadow-2);
}
.hm-feat:hover::before { opacity: 1; }
.hm-feat i {
  display: inline-grid;
  place-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 0.85rem;
  font-size: 1.05rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.09);
  border: 1px solid var(--line-brand-soft);
  border-radius: 12px;
  transition: all var(--t-med) var(--ease);
}
.hm-feat:hover i { transform: scale(1.08) rotate(-4deg); box-shadow: var(--glow-brand); }
.hm-feat h4 { margin: 0 0 0.3rem; font-size: 0.99rem; }
.hm-feat p { margin: 0; font-size: 0.84rem; line-height: 1.55; color: var(--text-muted); }
.hm-feat.is-hot i { color: var(--ruby-300); background: rgba(212, 51, 74, 0.1); border-color: rgba(212, 51, 74, 0.3); }

/* --------------------------------------------------------------------------
   20. Sidebar direita (rsb)
   -------------------------------------------------------------------------- */
.rsb { min-width: 0; }

/* Central da Comunidade (sidebar) */
.rsb-com {
  display: grid;
  gap: 0.65rem;
}
.rsb-com__section-title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--brand-300);
  margin: 0.15rem 0 0.1rem;
}
.rsb-com__section-title i { color: var(--brand-400); }
.rsb-com__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.62rem 0.75rem;
  border-radius: 11px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.rsb-com__btn i { font-size: 0.95rem; }
.rsb-com__btn:hover {
  border-color: var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.08);
  color: var(--text);
  transform: translateY(-1px);
}
.rsb-com__btn--wa i { color: #25d366; }
.rsb-com__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
}
.rsb-com__discord {
  margin-top: 0.35rem;
  padding: 0.85rem 0.9rem;
  border-radius: 14px;
  border: 1px solid rgba(230, 57, 70, 0.35);
  background:
    radial-gradient(ellipse 80% 70% at 20% 0%, rgba(230, 57, 70, 0.16), transparent 60%),
    linear-gradient(165deg, rgba(40, 14, 20, 0.9), rgba(12, 10, 16, 0.95));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 8px 22px rgba(0, 0, 0, 0.28);
}
.rsb-com__discord-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  margin-bottom: 0.75rem;
}
.rsb-com__discord-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
}
.rsb-com__discord-brand i {
  color: #fff;
  background: var(--brand-500);
  width: 28px;
  height: 28px;
  display: grid;
  place-content: center;
  border-radius: 9px;
  font-size: 0.95rem;
  box-shadow: 0 0 12px rgba(230, 57, 70, 0.4);
}
.rsb-com__discord-enter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.42rem 0.95rem;
  border-radius: 999px;
  background: linear-gradient(145deg, var(--brand-400), var(--brand-600));
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(230, 57, 70, 0.35);
  transition: transform var(--t-fast) var(--ease), filter var(--t-fast) var(--ease);
}
.rsb-com__discord-enter:hover {
  transform: scale(1.04);
  filter: brightness(1.08);
  color: #fff;
}
.rsb-com__discord-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0.65rem;
  border-radius: 11px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.05);
}
.rsb-com__avatars {
  display: flex;
  align-items: center;
}
.rsb-com__av {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-content: center;
  border: 2px solid #1a1014;
  font-size: 0.72rem;
  color: #fff;
  margin-left: -10px;
  background: #3a1a22;
}
.rsb-com__av:first-child { margin-left: 0; }
.rsb-com__av--1 { background: var(--brand-500); z-index: 5; }
.rsb-com__av--2 { background: #5a2030; z-index: 4; }
.rsb-com__av--3 { background: #7a2840; z-index: 3; }
.rsb-com__av--4 { background: #4a1828; z-index: 2; }
.rsb-com__av--more {
  background: rgba(230, 57, 70, 0.25);
  color: var(--brand-200);
  font-size: 0.62rem;
  font-weight: 800;
  z-index: 1;
}
.rsb-com__online {
  text-align: right;
  line-height: 1.2;
}
.rsb-com__online small {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--text-dim-2);
  margin-bottom: 0.15rem;
}
.rsb-com__online strong {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 1.05rem;
  font-weight: 900;
  color: #7ddb9c;
}
.rsb-com__online strong i {
  font-size: 0.5rem;
  color: #4fdc82;
  filter: drop-shadow(0 0 6px rgba(79, 220, 130, 0.8));
}
.rsb__block-label--center {
  text-align: center;
  letter-spacing: 0.14em;
}
.rsb__block-label--center::after {
  left: 50%;
  transform: translateX(-50%);
  width: 48%;
}

/* Página Contato */
.bp-contact { display: grid; gap: 1.35rem; }
.bp-contact__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}
.bp-contact__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.55rem;
  padding: 1.35rem 1.2rem 1.25rem;
  border-radius: var(--r-lg);
  border: 1px dashed var(--line);
  background: rgba(255, 255, 255, 0.02);
}
.bp-contact__card h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text);
}
.bp-contact__card p {
  margin: 0 0 0.5rem;
  font-size: 0.86rem;
  line-height: 1.55;
  color: var(--text-muted);
  flex: 1 1 auto;
}
.bp-contact__ico {
  width: 64px;
  height: 64px;
  display: grid;
  place-content: center;
  border-radius: 16px;
  font-size: 1.55rem;
  margin-bottom: 0.25rem;
  border: 1px solid var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.1);
  color: var(--brand-300);
}
.bp-contact__card--ticket .bp-contact__ico {
  color: #60a5fa;
  border-color: rgba(96, 165, 250, 0.3);
  background: rgba(59, 130, 246, 0.1);
}
.bp-contact__card--wa .bp-contact__ico {
  color: #4ade80;
  border-color: rgba(46, 204, 113, 0.3);
  background: rgba(46, 204, 113, 0.1);
}
.bp-contact__card--dc .bp-contact__ico {
  color: #c4b5fd;
  border-color: rgba(139, 92, 246, 0.3);
  background: rgba(139, 92, 246, 0.1);
}
.bp-contact__card--mail .bp-contact__ico {
  color: #f0c674;
  border-color: rgba(240, 198, 116, 0.3);
  background: rgba(240, 198, 116, 0.08);
}
.bp-contact__btn-wa {
  background: linear-gradient(145deg, #22c55e, #15803d) !important;
  border-color: transparent !important;
}
.bp-contact__btn-dc {
  background: linear-gradient(145deg, #7c3aed, #5b21b6) !important;
  border-color: transparent !important;
}
.bp-contact__mail {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(240, 198, 116, 0.25);
  background: rgba(240, 198, 116, 0.08);
  color: #f0c674;
  font-weight: 700;
  font-size: 0.88rem;
}
.bp-contact__form-wrap {
  padding: 1.2rem 1.25rem 1.35rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
}
.bp-contact__form-head {
  margin-bottom: 1rem;
}
.bp-contact__form-head h3 {
  margin: 0 0 0.25rem;
  font-size: 1.05rem;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.bp-contact__form-head h3 i { color: var(--brand-300); }
.bp-contact__form-head p { margin: 0; }
@media (max-width: 720px) {
  .bp-contact__grid { grid-template-columns: 1fr; }
}

.rsb__panel {
  display: grid;
  gap: 1rem;
}
.rsb__block {
  padding: 1.2rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.rsb__block-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.rsb__block-label i { font-size: 0.85rem; }
.rsb__block-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--line-brand-soft), transparent);
}

/* Acesso rápido */
.rsb__quick {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.55rem;
}
.rsb__quick a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  padding: 0.85rem 0.4rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.025);
  transition: all var(--t-fast) var(--ease);
}
.rsb__quick a i { font-size: 1rem; color: var(--brand-400); transition: transform var(--t-fast) var(--spring); }
.rsb__quick a:hover {
  color: var(--brand-200);
  border-color: var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.06);
  transform: translateY(-3px);
}
.rsb__quick a:hover i { transform: scale(1.15); }

/* Top doadores */
.rsb__timer {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.75rem 0.95rem;
  margin-bottom: 0.9rem;
  border: 1px solid rgba(47, 174, 110, 0.25);
  border-radius: var(--r-md);
  background: rgba(47, 174, 110, 0.06);
}
.rsb__timer > i { font-size: 1.15rem; color: var(--emerald-400); flex: 0 0 auto; }
.rsb__timer-text { flex: 1 1 auto; min-width: 0; }
.rsb__timer small { display: block; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-dim-2); }
.rsb__timer strong {
  font-family: var(--font-display);
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  color: var(--emerald-300);
  font-variant-numeric: tabular-nums;
}
/* Tooltips hover (estilo BRPlay — sem modal max) */
.rsb__tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  cursor: help;
  outline: none;
  z-index: 8;
}
.rsb__tip--help {
  margin-left: auto;
}
.rsb__tip-mark {
  display: grid;
  place-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(47, 174, 110, 0.4);
  background: linear-gradient(160deg, rgba(16, 185, 129, 0.22), rgba(16, 185, 129, 0.08));
  color: #6ee7b7;
  font-family: var(--font-display, inherit);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2), 0 0 12px rgba(16, 185, 129, 0.12);
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.rsb__tip--help:hover .rsb__tip-mark,
.rsb__tip--help:focus .rsb__tip-mark,
.rsb__tip--help:focus-within .rsb__tip-mark {
  color: #ecfdf5;
  border-color: rgba(110, 231, 183, 0.75);
  background: linear-gradient(160deg, rgba(16, 185, 129, 0.45), rgba(16, 185, 129, 0.15));
  transform: scale(1.06);
}
.rsb__tip-box {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  width: max-content;
  max-width: min(260px, 78vw);
  padding: 0.75rem 0.85rem 0.8rem;
  border-radius: 12px;
  border: 1px solid rgba(230, 57, 70, 0.32);
  background:
    linear-gradient(165deg, rgba(230, 57, 70, 0.12), transparent 50%),
    rgba(10, 12, 18, 0.98);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 20px rgba(230, 57, 70, 0.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(6px) scale(0.97);
  transition: opacity 0.16s var(--ease), transform 0.16s var(--ease), visibility 0.16s;
  z-index: 40;
  text-align: left;
  cursor: default;
}
.rsb__tip-box::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -6px;
  border: 6px solid transparent;
  border-top-color: rgba(230, 57, 70, 0.45);
}
.rsb__tip:hover .rsb__tip-box,
.rsb__tip:focus .rsb__tip-box,
.rsb__tip:focus-within .rsb__tip-box {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
}
.rsb__tip-box--help {
  border-color: rgba(52, 211, 153, 0.35);
  background:
    linear-gradient(165deg, rgba(16, 185, 129, 0.12), transparent 50%),
    rgba(10, 12, 18, 0.98);
  box-shadow:
    0 12px 32px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 18px rgba(16, 185, 129, 0.1);
}
.rsb__tip-box--help::after {
  border-top-color: rgba(52, 211, 153, 0.5);
}
.rsb__tip-title {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text);
}
.rsb__tip-text {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
/* Prêmio — popover BRPlay */
.rsb__tip--prize {
  margin-top: 0.45rem;
  width: 100%;
  cursor: help;
}
.rsb__tip--prize .rsb__prize {
  width: 100%;
  pointer-events: none;
}
.rsb__tip-box--prize {
  left: 50%;
  right: auto;
  bottom: calc(100% + 12px);
  width: min(280px, 86vw);
  max-width: min(280px, 86vw);
  padding: 0.9rem 0.95rem 0.95rem;
  z-index: 50;
}
.rsb__tip-prize-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
}
.rsb__tip-prize-head > i {
  display: grid;
  place-content: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  font-size: 0.85rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.14);
  border: 1px solid var(--line-brand-soft);
}
.rsb__tip-prize-head strong {
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--text);
  letter-spacing: 0.02em;
  text-transform: none;
}
.rsb__tip-box--prize .rsb__tip-text {
  margin-bottom: 0.65rem;
  font-size: 0.76rem;
}
.rsb__tip-prizes {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rsb__tip-prizes li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 0.5rem 0.6rem;
  border-radius: 9px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--text-muted);
  text-align: left;
}
.rsb__tip-prizes li > i {
  margin-top: 0.1rem;
  flex: 0 0 auto;
  font-size: 0.9rem;
}
.rsb__tip-prizes li b {
  margin-right: 0.25rem;
  font-weight: 800;
  color: var(--text);
}
.rsb__tip-prizes li.is-gold {
  border-color: rgba(230, 57, 70, 0.28);
  background: linear-gradient(120deg, rgba(230, 57, 70, 0.1), transparent 70%);
}
.rsb__tip-prizes li.is-gold > i,
.rsb__tip-prizes li.is-gold b { color: #fbbf24; }
.rsb__tip-prizes li.is-silver > i,
.rsb__tip-prizes li.is-silver b { color: #cbd5e1; }
.rsb__tip-prizes li.is-bronze > i,
.rsb__tip-prizes li.is-bronze b { color: #fca5a5; }
.rsb__donate-msg {
  margin-bottom: 1rem;
  font-size: 0.84rem;
  color: var(--text-muted);
  text-align: center;
}
.rsb__donate-msg .is-win { color: var(--brand-300); font-weight: 700; }
.rsb__donate-msg .is-medal { color: var(--emerald-300); font-weight: 600; }
.rsb__donate-msg small { display: block; margin-top: 0.25rem; color: var(--text-dim-2); }
.rsb__need { color: var(--brand-300); font-size: 1.05rem; }
.rsb__mini-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.55rem;
  padding: 0.45rem 1rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #ffffff;
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
  border-radius: var(--r-pill);
  box-shadow: 0 4px 14px rgba(179, 36, 52, 0.35);
  transition: all var(--t-fast) var(--ease);
}
.rsb__mini-btn:hover { transform: translateY(-2px); box-shadow: var(--glow-brand-lg); color: #ffffff; }

.rsb__podium {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
  align-items: end;
  overflow: visible;
}
.rsb__p {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  padding: 1.1rem 0.5rem 0.8rem;
  text-align: center;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.025);
  overflow: visible;
}
.rsb__p--1 {
  padding-top: 1.6rem;
  border-color: var(--line-brand);
  background: linear-gradient(180deg, rgba(230, 57, 70, 0.12), rgba(230, 57, 70, 0.02));
  z-index: 6;
}
.rsb__block--donate {
  overflow: visible;
}
.rsb__block--donate .rsb__timer {
  overflow: visible;
  z-index: 7;
}
.rsb__badge {
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  place-content: center;
  width: 24px;
  height: 24px;
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 800;
  color: #ffffff;
  background: linear-gradient(160deg, #cfd6e4, #8f9ab3);
  border-radius: 50%;
}
.rsb__p--1 .rsb__badge {
  width: 30px;
  height: 30px;
  font-size: 0.95rem;
  background: linear-gradient(160deg, var(--brand-200), var(--brand-600));
  box-shadow: 0 4px 14px rgba(179, 36, 52, 0.5);
}
.rsb__tag {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-300);
}
.rsb__p strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.86rem;
  color: var(--text);
}
.rsb__p small { font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-dim-2); }
.rsb__p em {
  font-family: var(--font-display);
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  color: var(--brand-300);
}
.rsb__prize {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  padding: 0.38rem 0.75rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-200);
  border: 1px solid var(--line-brand);
  border-radius: var(--r-pill);
  background: linear-gradient(160deg, rgba(230, 57, 70, 0.12), rgba(230, 57, 70, 0.04));
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.rsb__tip--prize:hover .rsb__prize,
.rsb__tip--prize:focus .rsb__prize,
.rsb__tip--prize:focus-within .rsb__prize {
  color: #fff;
  border-color: rgba(248, 113, 113, 0.65);
  background: linear-gradient(160deg, rgba(230, 57, 70, 0.35), rgba(230, 57, 70, 0.12));
  box-shadow: var(--glow-brand);
}

/* --------------------------------------------------------------------------
   Premiações (rankings + top donate) — modais
   -------------------------------------------------------------------------- */
.bp-modal__dialog--sm { width: min(380px, 100%); }
.bp-modal__dialog--md { width: min(460px, 100%); }
.bp-reward-modal {
  padding: 1.6rem 1.45rem 1.35rem;
  background:
    radial-gradient(320px 180px at 50% -10%, rgba(230, 57, 70, 0.12), transparent 70%),
    var(--surface-solid);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-3);
}
.bp-reward-modal__head {
  text-align: center;
  margin-bottom: 1.15rem;
}
.bp-reward-modal__head > i {
  display: inline-grid;
  place-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 0.65rem;
  border-radius: 14px;
  font-size: 1.2rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.12);
  border: 1px solid var(--line-brand-soft);
}
.bp-reward-modal__head h3 {
  margin: 0 0 0.4rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text);
}
.bp-reward-period {
  display: inline-flex;
  margin-left: 0.4rem;
  padding: 0.12rem 0.48rem;
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  vertical-align: middle;
  color: #1a1305;
  border-radius: 999px;
  background: linear-gradient(160deg, #ffe08a, #e2a82a);
}
.bp-reward-modal__head p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.45;
  color: var(--text-muted);
}
.bp-reward-list {
  display: grid;
  gap: 0.65rem;
}
.bp-reward-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line-soft);
}
.bp-reward-row--gold { border-color: rgba(226, 177, 90, 0.35); }
.bp-reward-row--silver { border-color: rgba(148, 163, 184, 0.35); }
.bp-reward-row--bronze { border-color: rgba(239, 68, 68, 0.28); }
.bp-reward-row__ico {
  display: grid;
  place-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  font-size: 1.25rem;
}
.bp-reward-row--gold .bp-reward-row__ico { color: #e2b15a; }
.bp-reward-row--silver .bp-reward-row__ico { color: #cbd5e1; }
.bp-reward-row--bronze .bp-reward-row__ico { color: #fca5a5; }
.bp-reward-row__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.bp-reward-row__body strong {
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text);
}
.bp-reward-row--gold .bp-reward-row__body strong { color: #e2b15a; }
.bp-reward-row--silver .bp-reward-row__body strong { color: #cbd5e1; }
.bp-reward-row--bronze .bp-reward-row__body strong { color: #fca5a5; }
.bp-reward-row__body span {
  font-size: 0.86rem;
  color: var(--text-muted);
  line-height: 1.35;
}

/* Equipe */
.rsb__team { display: grid; gap: 0.35rem; }
.rsb__team li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.6rem 0.8rem;
  font-size: 0.88rem;
  color: var(--text-muted);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.02);
}
.rsb__on, .rsb__off {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex: 0 0 9px;
}
.rsb__on { background: #4fdc82; box-shadow: 0 0 8px rgba(79, 220, 130, 0.7); }
.rsb__off { background: #565b6e; }

/* Mini slider — imagem em --slide; overlay no ::before (sem double-darken) */
.rsb__slide {
  position: relative;
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid var(--line-soft);
  background: #0b0c12;
}
.rsb__slide-track { position: relative; height: 170px; }
.rsb__slide-item {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 1rem;
  background-color: #12141c;
  background-image: var(--slide, none);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.6s var(--ease);
  z-index: 0;
}
.rsb__slide-item::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(185deg, rgba(5, 6, 10, 0.15) 15%, rgba(5, 6, 10, 0.88) 100%);
}
.rsb__slide-item.is-active { opacity: 1; z-index: 1; }
.rsb__slide-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.rsb__slide-copy span {
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-300);
}
.rsb__slide-copy strong { font-size: 0.98rem; color: #fff; }
.rsb__slide-copy a { font-size: 0.8rem; font-weight: 600; color: var(--brand-300); }
.rsb__slide-copy a:hover { color: var(--brand-100); }
.bp-mslider__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: grid;
  place-content: center;
  width: 30px;
  height: 30px;
  font-size: 0.7rem;
  color: #fff;
  background: rgba(5, 6, 10, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 9px;
  backdrop-filter: blur(6px);
  transition: all var(--t-fast) var(--ease);
}
.bp-mslider__btn:hover { border-color: var(--line-brand); color: var(--brand-300); }
.bp-mslider__btn--prev { left: 0.6rem; }
.bp-mslider__btn--next { right: 0.6rem; }
.bp-mslider__dots {
  position: absolute;
  bottom: 0.6rem;
  right: 0.8rem;
  z-index: 2;
  display: flex;
  gap: 0.35rem;
}
.bp-mslider__dots button {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transition: all var(--t-fast) var(--ease);
}
.bp-mslider__dots button.is-active { background: var(--brand-400); transform: scale(1.3); }

/* --------------------------------------------------------------------------
   21. Topo de página interna
   -------------------------------------------------------------------------- */
.bp-itop {
  position: relative;
  padding: calc(var(--rail-h) + 3.4rem) 0 3rem;
  overflow: hidden;
  isolation: isolate;
}
/* Sem bloco ACESSO / título grande (ex.: Downloads) */
.bp-itop--compact {
  padding: calc(var(--rail-h) + 1.35rem) 0 1rem;
}
.bp-itop--compact .bp-ipage__crumbs {
  margin-bottom: 0;
}
.bp-itop__banner {
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center 24%;
  transform: scale(1.04);
}
.bp-itop__veil {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(60% 90% at 50% 100%, rgba(230, 57, 70, 0.1), transparent 65%),
    linear-gradient(180deg, rgba(5, 6, 10, 0.82), rgba(5, 6, 10, 0.68) 55%, var(--bg-0) 98%);
}
.bp-itop__content { position: relative; }
/* Mini-hero lead — padrão Rankings em todas as páginas internas */
.bp-itop__lead {
  margin: 0.55rem 0 0;
  max-width: 38rem;
  font-size: clamp(0.92rem, 1.6vw, 1.05rem);
  font-weight: 500;
  line-height: 1.5;
  color: rgba(210, 214, 228, 0.82);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}
.bp-ipage__crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.9rem;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: var(--text-dim-2);
}
.bp-ipage__crumbs a { color: var(--text-muted); font-weight: 600; }
.bp-ipage__crumbs a:hover { color: var(--brand-300); }
.bp-ipage__crumbs strong { color: var(--brand-300); font-weight: 700; }
.bp-itop__title-wrap { position: relative; max-width: 42rem; }
.bp-ipage__cat {
  display: inline-flex;
  margin-bottom: 0.5rem;
  padding: 0.24rem 0.85rem;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brand-300);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-pill);
  background: rgba(230, 57, 70, 0.08);
}
.bp-ipage__title {
  margin: 0;
  font-size: clamp(1.7rem, 4vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #fff;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.6);
}

.bp-page { position: relative; padding: 2.2rem 0 3rem; }
.bp-ipage-body { margin-top: -1.6rem; position: relative; z-index: 2; }

/* Hub section wrapper */
.bp-hub-section { position: relative; }

/* --------------------------------------------------------------------------
   22. Hub tiles (navegação em cartões — Informações / VIP)
   -------------------------------------------------------------------------- */
.bp-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.8rem;
  margin-bottom: 1.8rem;
}
.bp-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 1.15rem 0.8rem;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-muted);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: all var(--t-med) var(--ease);
}
.bp-tile i {
  display: grid;
  place-content: center;
  width: 42px;
  height: 42px;
  font-size: 1rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 11px;
  transition: all var(--t-med) var(--spring);
}
.bp-tile:hover {
  color: var(--brand-200);
  border-color: var(--line-brand-soft);
  transform: translateY(-4px);
  box-shadow: var(--shadow-2);
}
.bp-tile:hover i { transform: scale(1.1) rotate(-4deg); box-shadow: var(--glow-brand); }
.bp-tile.is-active {
  color: var(--brand-200);
  border-color: var(--line-brand);
  background: linear-gradient(180deg, rgba(230, 57, 70, 0.12), rgba(230, 57, 70, 0.03));
  box-shadow: var(--glow-brand);
}

/* Hub tiles — Informações e VIP: mesmo estilo/tamanho, 4 por linha */
.bp-hub-tiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
  margin-bottom: 1.6rem;
}
.bp-hub-tiles--vip,
.bp-hub-tiles--info {
  --hub-cols: 4;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.bp-hub-tile {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
  min-height: 80px;
  padding: 0.85rem 0.95rem;
  text-decoration: none;
  color: inherit;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.bp-hub-tile:hover {
  color: inherit;
  border-color: var(--line-brand-soft);
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
}
.bp-hub-tile.is-active {
  border-color: var(--line-brand);
  background: linear-gradient(135deg, rgba(230, 57, 70, 0.14), rgba(230, 57, 70, 0.04));
  box-shadow: var(--glow-brand);
}
.bp-hub-tile__ico {
  display: grid;
  place-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 12px;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.1);
  border: 1px solid var(--line-brand-soft);
  font-size: 0.95rem;
}
.bp-hub-tile__text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}
.bp-hub-tile__title,
.bp-hub-tile__text strong {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem 0.4rem;
  min-width: 0;
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.25;
}
/* Texto completo — sem ellipsis */
.bp-hub-tile__name {
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  word-break: break-word;
}
.bp-hub-tile__text small {
  font-size: 0.74rem;
  color: var(--text-dim-2);
  line-height: 1.3;
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
}
/* NEW / HOT / CRAFT · EXP — ao lado do nome, sem empurrar o label */
.bp-hub-tile__badge {
  flex: 0 0 auto;
  font-style: normal;
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.15;
  padding: 0.16rem 0.4rem;
  border-radius: 999px;
  color: #1a1205;
  background: linear-gradient(180deg, #f5a623, #e08910);
  white-space: nowrap;
}
.bp-hub-tile__go {
  font-size: 0.72rem;
  color: var(--text-dim-2);
  opacity: 0.7;
  flex: 0 0 auto;
  align-self: center;
}
.bp-hub-tile.is-active .bp-hub-tile__go { color: var(--brand-300); opacity: 1; }

@media (max-width: 1100px) {
  .bp-hub-tiles,
  .bp-hub-tiles--vip,
  .bp-hub-tiles--info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .bp-hub-tiles,
  .bp-hub-tiles--vip,
  .bp-hub-tiles--info { grid-template-columns: 1fr; }
}

/* VIP advantages — Craft / EXP */
.bp-vip-adv__intro {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.bp-vip-adv__kicker {
  margin: 0 0 0.25rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-vip-adv__intro h2 {
  margin: 0 0 0.35rem;
  font-size: 1.35rem;
  font-weight: 900;
}
.bp-vip-adv__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.bp-vip-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.2);
}
.bp-vip-pill--craft { color: #fbbf24; border-color: rgba(251, 191, 36, 0.35); }
.bp-vip-pill--exp { color: #38bdf8; border-color: rgba(56, 189, 248, 0.35); }
.bp-vip-pill--full { color: #c4b5fd; border-color: rgba(167, 139, 250, 0.4); }

.bp-vip-plans {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 1000px) {
  .bp-vip-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .bp-vip-plans { grid-template-columns: 1fr; }
}
.bp-vip-plan {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1.1rem 1rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
}
.bp-vip-plan__ico {
  width: 40px;
  height: 40px;
  display: grid;
  place-content: center;
  border-radius: 12px;
  font-size: 1rem;
  margin-bottom: 0.15rem;
}
.bp-vip-plan--free .bp-vip-plan__ico { color: #a8a4b0; background: rgba(255,255,255,0.05); }
.bp-vip-plan--craft .bp-vip-plan__ico { color: #fbbf24; background: rgba(251, 191, 36, 0.12); border: 1px solid rgba(251, 191, 36, 0.3); }
.bp-vip-plan--exp .bp-vip-plan__ico { color: #38bdf8; background: rgba(56, 189, 248, 0.12); border: 1px solid rgba(56, 189, 248, 0.3); }
.bp-vip-plan--full .bp-vip-plan__ico { color: #c4b5fd; background: rgba(167, 139, 250, 0.14); border: 1px solid rgba(167, 139, 250, 0.35); }
.bp-vip-plan--full { border-color: rgba(167, 139, 250, 0.35); box-shadow: 0 0 0 1px rgba(167, 139, 250, 0.08); }
.bp-vip-plan h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.2;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}
.bp-vip-plan > em { font-style: normal; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-dim-2); }
.bp-vip-plan p { margin: 0; font-size: 0.82rem; color: var(--text-muted); line-height: 1.4; flex: 1; }
.bp-vip-plan .bp-btn { margin-top: 0.5rem; width: 100%; justify-content: center; }
.bp-vip-plan__free { margin-top: 0.5rem; font-size: 0.78rem; font-weight: 700; color: var(--text-dim-2); }

.bp-vip-note {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.9rem 1rem;
  margin-bottom: 1.25rem;
  border-radius: var(--r-md);
  border: 1px solid rgba(56, 189, 248, 0.28);
  background: rgba(56, 189, 248, 0.08);
}
.bp-vip-note > i { color: #38bdf8; margin-top: 0.15rem; }
.bp-vip-note strong { display: block; margin-bottom: 0.2rem; font-size: 0.9rem; }
.bp-vip-note p { margin: 0; font-size: 0.84rem; color: var(--text-muted); line-height: 1.4; }

.bp-vip-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.86rem;
}
.bp-vip-table th,
.bp-vip-table td {
  padding: 0.7rem 0.85rem;
  border-bottom: 1px solid var(--line-soft);
  text-align: center;
  vertical-align: middle;
}
.bp-vip-table th:first-child,
.bp-vip-table td:first-child {
  text-align: left;
  min-width: 200px;
}
.bp-vip-table thead th {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: rgba(0, 0, 0, 0.25);
  white-space: nowrap;
}
.bp-vip-table__plan {
  min-width: 4.5rem;
  width: 12%;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  padding-left: 0.45rem;
  padding-right: 0.45rem;
}
.bp-vip-table__plan--craft { color: #fbbf24 !important; }
.bp-vip-table__plan--exp { color: #38bdf8 !important; }
.bp-vip-table__plan--full { color: #c4b5fd !important; }
.bp-vip-table td strong { display: block; color: var(--text); font-size: 0.88rem; }
.bp-vip-table td small { display: block; margin-top: 0.15rem; font-size: 0.72rem; color: var(--text-dim-2); line-height: 1.3; }
.bp-vip-table td.is-boost {
  color: #86efac;
  font-weight: 800;
}
.bp-vip-table__cat td {
  padding: 0.65rem 0.85rem;
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-align: left !important;
}
.bp-vip-table__cat i { margin-right: 0.4rem; }

.bp-vip-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.25rem;
  padding: 1rem 1.15rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line-brand-soft);
  background: linear-gradient(120deg, rgba(230, 57, 70, 0.1), transparent 55%), var(--surface);
}
.bp-vip-cta strong { display: block; margin-bottom: 0.2rem; }
.bp-vip-cta p { margin: 0; }
.bp-vip-cta__actions { display: flex; flex-wrap: wrap; gap: 0.45rem; }

/* Server info — grid de painéis */
.bp-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 800px) {
  .bp-info-grid { grid-template-columns: 1fr; }
}
.bp-info-exp-table td.is-vip {
  color: #fbbf24;
  font-weight: 800;
}
.bp-cmd-table code.bp-cmd-code,
.bp-cmd-code {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  border-radius: 8px;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--brand-200);
  background: rgba(230, 57, 70, 0.1);
  border: 1px solid var(--line-brand-soft);
}
.bp-cmd-ex {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-left: 0.45rem;
  font-size: 0.78rem;
  color: var(--text-dim-2);
}
.bp-cmd-ex em { font-style: normal; }
.bp-faq__item {
  margin-bottom: 0.55rem;
  padding: 0.85rem 1rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  background: var(--surface);
}
.bp-faq__item summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--text);
  list-style: none;
}
.bp-faq__item summary::-webkit-details-marker { display: none; }
.bp-faq__item summary::after {
  content: '\f078';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  float: right;
  font-size: 0.75rem;
  color: var(--text-dim-2);
  transition: transform 0.15s ease;
}
.bp-faq__item[open] summary::after { transform: rotate(180deg); }
.bp-faq__item p {
  margin: 0.65rem 0 0;
  color: var(--text-muted);
  line-height: 1.45;
  font-size: 0.9rem;
}

/* Salas */
.bp-rooms-table .is-center { text-align: center; }
.bp-rooms-table .bp-ok { color: #4ade80; }
.bp-rooms-table .bp-no { color: #f87171; opacity: 0.85; }

/* Carreira timeline */
.bp-career {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: 0.25rem;
}
.bp-career__step {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 0.85rem;
  position: relative;
  padding-bottom: 1.1rem;
}
.bp-career__step:not(.is-last)::before {
  content: '';
  position: absolute;
  left: 19px;
  top: 36px;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--line-brand), var(--line-soft));
}
.bp-career__dot {
  width: 40px;
  height: 40px;
  display: grid;
  place-content: center;
  border-radius: 12px;
  font-weight: 900;
  font-size: 0.85rem;
  color: var(--brand-200);
  background: rgba(230, 57, 70, 0.12);
  border: 1px solid var(--line-brand-soft);
  z-index: 1;
}
.bp-career__card {
  padding: 0.9rem 1rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
}
.bp-career__level {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-career__card h3 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 800;
}
.bp-career__card p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--text-muted);
  line-height: 1.45;
}

/* Eventos hub (estático /server/events) */
.bp-events-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
}
.bp-event-card {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.95rem 1rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
}
.bp-event-card__ico {
  width: 40px;
  height: 40px;
  display: grid;
  place-content: center;
  border-radius: 11px;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.1);
  border: 1px solid var(--line-brand-soft);
  flex-shrink: 0;
}
.bp-event-card strong {
  display: block;
  font-size: 0.95rem;
  margin-bottom: 0.15rem;
}
.bp-event-card__type {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-dim-2);
  margin-bottom: 0.25rem;
}
.bp-event-card p {
  margin: 0;
  font-size: 0.84rem;
  color: var(--text-muted);
}

/* Plugin Events — visual BRPlay */
.bp-ev { display: grid; gap: 1.1rem; }
.bp-ev__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
}
.bp-ev__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.85rem 1.2rem;
}
.bp-ev__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.bp-ev__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.22);
  color: var(--text-dim-2);
}
.bp-ev__pill--hot {
  border-color: rgba(74, 222, 128, 0.35);
  color: #86efac;
  background: rgba(34, 197, 94, 0.1);
}
.bp-ev__panel {
  padding: 1rem 1.05rem 1.15rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(230, 57, 70, 0.06), transparent 65%),
    var(--surface);
}
.bp-ev__tabs {
  margin-bottom: 0.95rem;
  flex-wrap: wrap;
}
.bp-ev__tabs .bp-rank-nav__link {
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
}
.bp-ev__lists {
  display: grid;
  gap: 0.45rem;
}
.bp-ev__group.is-hidden { display: none !important; }

.bp-ev-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 0.72rem 0.85rem;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.025);
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.bp-ev-row:hover {
  border-color: var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.05);
}
.bp-ev-row__main {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
  flex: 1 1 auto;
}
.bp-ev-row__name {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--text);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bp-ev-row__time,
.bp-ev-time--soon,
.bp-ev-time--hot,
.bp-ev .time {
  flex-shrink: 0;
  font-family: var(--font-display);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.28);
  color: var(--text-muted);
}
.bp-ev-time--soon,
.bp-ev .label-default,
.bp-ev .time.bp-ev-time--soon {
  color: #f0c674;
  border-color: rgba(240, 198, 116, 0.3);
  background: rgba(240, 198, 116, 0.08);
}
.bp-ev-time--hot,
.bp-ev .bg-success,
.bp-ev .time.bp-ev-time--hot {
  color: #86efac;
  border-color: rgba(74, 222, 128, 0.4);
  background: rgba(34, 197, 94, 0.12);
  animation: bp-ev-hot 1.4s ease-in-out infinite;
}
@keyframes bp-ev-hot {
  0%, 100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.25); }
  50% { box-shadow: 0 0 12px rgba(74, 222, 128, 0.2); }
}

/* Switch notificação (plugin Events) */
.bp-ev-switch,
.bp-ev .switch {
  position: relative;
  display: inline-block;
  width: 36px;
  height: 20px;
  margin: 0;
  flex-shrink: 0;
}
.bp-ev-switch input,
.bp-ev .switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.bp-ev-switch__slider,
.bp-ev .switch-slider {
  position: absolute;
  inset: 0;
  cursor: pointer;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid var(--line);
  transition: background 0.2s ease, border-color 0.2s ease;
}
.bp-ev-switch__slider:before,
.bp-ev .switch-slider:before {
  content: '';
  position: absolute;
  width: 14px;
  height: 14px;
  left: 2px;
  top: 2px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.2s ease;
}
.bp-ev-switch input:checked + .bp-ev-switch__slider,
.bp-ev .switch input:checked + .switch-slider {
  background: rgba(230, 57, 70, 0.55);
  border-color: rgba(230, 57, 70, 0.55);
}
.bp-ev-switch input:checked + .bp-ev-switch__slider:before,
.bp-ev .switch input:checked + .switch-slider:before {
  transform: translateX(16px);
}

.bp-ev__admin-hint {
  margin: 0;
  font-size: 0.8rem;
  color: var(--text-dim-2);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* Spotlight eventos (sidebar) */
.bp-ev-spot {
  display: grid;
  gap: 0.65rem;
  padding: 0.95rem 1rem 1.05rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
}
.bp-ev-spot__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.bp-ev-spot__head strong {
  font-size: 0.92rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.bp-ev-spot__head strong i { color: var(--brand-300); }
.bp-ev-spot__select {
  width: 100%;
  padding: 0.45rem 0.65rem;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.28);
  color: var(--text);
  font-size: 0.85rem;
}
.bp-ev-spot__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--line-soft);
  font-size: 0.84rem;
}
.bp-ev-spot__row:last-child { border-bottom: 0; }
.bp-ev-spot__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  color: var(--text);
}
.bp-ev-spot__time {
  flex-shrink: 0;
  font-weight: 800;
  font-size: 0.78rem;
  color: #f0c674;
}
.bp-ev-spot__all { margin-top: 0.25rem; width: 100%; justify-content: center; }

/* --------------------------------------------------------------------------
   23. Rankings (bp-rk)
   -------------------------------------------------------------------------- */
/* ========== Rankings (estrutura Max + visual BRPlay) ========== */
.bp-rk { margin-bottom: 2rem; }

/* Topo: título à esquerda · abas Gerais/Boss/Invasões à direita */
.bp-rk__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 1.35rem;
}
.bp-rk__titles h1 {
  margin: 0 0 0.25rem;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text);
  border-left: 3px solid var(--brand-400);
  padding-left: 0.85rem;
}
.bp-rk__titles p {
  margin: 0;
  padding-left: 0.95rem;
  font-size: 0.84rem;
  color: var(--text-dim-2);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.bp-rk__cats-wrap { flex: 0 1 auto; }
.bp-rk__cats-wrap .bp-rk-cats { margin-bottom: 0; justify-content: flex-end; }

/* Layout rankings = mesmo do painel (bp-dash) */
.bp-rk-dash {
  display: grid;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.bp-rk__aside { min-width: 0; }
.bp-rk__content { min-width: 0; }
.bp-rk-side-nav {
  /* herda .bp-dash__nav */
  width: 100%;
}
.bp-rk-side-nav .bp-dash__nav-label {
  margin-bottom: 0.35rem;
}
.bp-rk-menu__empty {
  margin: 0;
  padding: 0.55rem 0.75rem;
  font-size: 0.82rem;
  color: var(--text-dim-2);
}
@media (max-width: 900px) {
  .bp-rk-dash { grid-template-columns: 1fr; }
  .bp-rk-side-nav { position: static; }
}

/* Abas de categoria (botões outline como Max) */
.bp-rk-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.4rem;
}
.bp-rk-cats__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.02);
  text-decoration: none;
  transition: all var(--t-fast) var(--ease);
}
.bp-rk-cats__btn:hover {
  color: var(--text);
  border-color: var(--line-brand-soft);
}
.bp-rk-cats__btn.is-active {
  color: #fff;
  border-color: var(--line-brand);
  background: linear-gradient(160deg, var(--brand-400), var(--brand-600));
  box-shadow: 0 4px 16px rgba(179, 36, 52, 0.35);
}
.bp-rk-cats__btn i { font-size: 0.85rem; }

/* legado */
.bp-rk-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 1.6rem;
  align-items: start;
}
.bp-rk-layout__main { min-width: 0; }
.bp-rk-layout__side { min-width: 0; display: grid; gap: 1rem; }
.bp-rk-page__head { margin-bottom: 1.6rem; }
.bp-rk-page__kicker {
  margin: 0 0 0.3rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-rank-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.4rem;
}
.bp-rank-nav__link,
.bp-rk-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1.1rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.03);
  transition: all var(--t-fast) var(--ease);
}
.bp-rank-nav__link:hover,
.bp-rk-pill:hover { color: var(--text); border-color: var(--line-brand-soft); transform: translateY(-2px); }
.bp-rank-nav__link.is-active,
.bp-rk-pill.is-active {
  color: #ffffff;
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(179, 36, 52, 0.3);
}

.bp-rk-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.3rem;
  padding: 0.9rem 1.1rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
/* Barra de classes (corpo) — períodos ficam no header */
.bp-rk-filters-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.25rem;
  margin: 0 0 1.15rem;
  padding: 0.75rem 0.95rem;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
.bp-rk-filters-bar--class {
  justify-content: flex-start;
}
.bp-rk-filters-bar__group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.7rem;
  min-width: 0;
}
.bp-rk-filters__label {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-dim-2);
  flex: 0 0 auto;
}
.bp-rk-filters__pills { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.bp-rk-filters-bar .bp-rk-pill {
  padding: 0.42rem 0.85rem;
  font-size: 0.74rem;
}
.bp-rk-filters-bar .bp-rk-pill.is-active {
  background: linear-gradient(160deg, #f0b429, #e29a12 55%, #c47d0a);
  color: #1a1305;
  border-color: transparent;
  box-shadow: 0 3px 12px rgba(226, 154, 18, 0.28);
}
@media (max-width: 900px) {
  .bp-rk-panel__head-mid {
    order: 3;
    flex: 1 1 100%;
    justify-content: flex-start;
  }
}
.bp-rk-hint { font-size: 0.82rem; color: var(--text-dim-2); }

.bp-rk-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.bp-rk-panel__head,
.bp-panel__head.bp-rk-panel__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 1rem 1.3rem;
  border-bottom: 1px solid var(--line-soft);
  background: linear-gradient(90deg, rgba(230, 57, 70, 0.06), transparent 55%);
}
.bp-rk-panel__head .bp-panel__title {
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
}
.bp-rk-panel__head-mid {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: 0.45rem;
}
/* Períodos no header (entre título e Premiações) */
.bp-rk-period-pills {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}
.bp-rk-pill--period {
  min-width: 4.2rem;
  justify-content: center;
  padding: 0.4rem 0.85rem;
  font-size: 0.72rem;
  gap: 0.3rem;
}
.bp-rk-pill--period i {
  font-size: 0.68rem;
  opacity: 0.9;
}
.bp-rk-pill--period.is-active {
  background: linear-gradient(160deg, #f0b429, #e29a12 55%, #c47d0a);
  color: #1a1305;
  border-color: transparent;
  box-shadow: 0 3px 12px rgba(226, 154, 18, 0.28);
}
.bp-rk-pill--realtime {
  min-width: auto;
  padding-inline: 0.7rem;
}
.bp-rk-panel__head h2 {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
/* Premiações — botão dourado (destaque no ranking) */
.bp-rk-rewards-btn {
  flex: 0 0 auto;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.95rem;
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1a1305 !important;
  border: 1px solid rgba(255, 214, 100, 0.55) !important;
  border-radius: 999px;
  background: linear-gradient(160deg, #ffe08a, #f5c542 45%, #e2a82a 78%, #c9921e) !important;
  box-shadow:
    0 0 0 1px rgba(255, 214, 100, 0.12),
    0 4px 16px rgba(226, 168, 42, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), filter var(--t-fast) var(--ease);
}
.bp-rk-rewards-btn i {
  color: #1a1305 !important;
  opacity: 0.9;
}
.bp-rk-rewards-btn:hover {
  color: #1a1305 !important;
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(255, 214, 100, 0.2),
    0 6px 20px rgba(226, 168, 42, 0.48),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}
.bp-rk-rewards-btn:active {
  transform: translateY(0);
  filter: brightness(0.98);
}
.bp-rk-panel__body { padding: 1.1rem 1.3rem 1.3rem; }
.bp-rk-panel__body--center {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.bp-rk-panel__body--tall { min-height: 360px; }
.bp-rk-select-msg {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  max-width: 420px;
  padding: 1rem 1.15rem;
  text-align: left;
  border-radius: var(--r-md);
  border: 1px solid rgba(251, 191, 36, 0.35);
  background: rgba(251, 191, 36, 0.08);
  color: var(--text-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}
.bp-rk-select-msg i {
  flex: 0 0 auto;
  margin-top: 0.15rem;
  color: #fbbf24;
}
.bp-rk-select-msg p { margin: 0; }

/* —— Custom ranking: tabela + premiações (só rankings custom) —— */
.bp-rk-custom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 1.15rem;
  align-items: start;
}
@media (max-width: 960px) {
  .bp-rk-custom { grid-template-columns: 1fr; }
}
.bp-rk-custom__table { min-width: 0; }
.bp-rk-custom__rewards {
  display: grid;
  gap: 0.85rem;
}
.bp-rk-reward-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.15rem 1rem 1.1rem;
  border-radius: var(--r-lg);
  border: 1px dashed rgba(46, 204, 113, 0.35);
  background:
    linear-gradient(165deg, rgba(46, 204, 113, 0.08), transparent 55%),
    var(--surface);
}
.bp-rk-reward-card--money {
  border-style: dashed;
  border-color: rgba(46, 204, 113, 0.4);
}
.bp-rk-reward-card--extra.is-inactive {
  border-color: rgba(220, 53, 69, 0.28);
  border-style: dashed;
  background:
    linear-gradient(165deg, rgba(220, 53, 69, 0.06), transparent 55%),
    var(--surface);
  opacity: 0.92;
}
.bp-rk-reward-card--extra.is-active {
  border-color: rgba(46, 204, 113, 0.45);
  border-style: solid;
  background:
    linear-gradient(165deg, rgba(46, 204, 113, 0.12), transparent 55%),
    var(--surface);
  box-shadow: 0 0 0 1px rgba(46, 204, 113, 0.12), 0 8px 24px rgba(0, 0, 0, 0.25);
}
.bp-rk-reward-card__badge {
  display: inline-block;
  margin-bottom: 0.45rem;
  padding: 0.15rem 0.55rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: 999px;
}
.bp-rk-reward-card__badge.is-on {
  color: #2ecc71;
  border: 1px solid rgba(46, 204, 113, 0.4);
  background: rgba(46, 204, 113, 0.15);
}
.bp-rk-reward-card__badge.is-off {
  color: #f87171;
  border: 1px solid rgba(220, 53, 69, 0.35);
  background: rgba(220, 53, 69, 0.1);
}
.bp-rk-reward-card__title {
  display: block;
  margin-bottom: 0.65rem;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
}
.bp-rk-reward-card__icon {
  font-size: 1.75rem;
  margin-bottom: 0.75rem;
  color: #34d399;
}
.bp-rk-reward-card--extra .bp-rk-reward-card__icon {
  color: #67e8f9;
}
.bp-rk-reward-card--extra.is-inactive .bp-rk-reward-card__icon {
  color: #64748b;
}
.bp-rk-reward-card__btn {
  width: 100%;
  margin-top: 0.35rem;
  border-color: rgba(46, 204, 113, 0.5) !important;
  color: #34d399 !important;
  background: transparent !important;
}
.bp-rk-reward-card__btn:hover {
  background: rgba(46, 204, 113, 0.15) !important;
  color: #ecfdf5 !important;
}
.bp-rk-reward-card__text {
  margin: 0 0 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--line-soft);
  width: 100%;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--text-muted);
}
.bp-rk-reward-card__text strong { color: var(--brand-300); }
.bp-rk-reward-card__list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
  text-align: left;
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--text-muted);
}
.bp-rk-reward-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.bp-rk-reward-card__list i {
  margin-top: 0.15rem;
  flex: 0 0 auto;
  color: #64748b;
}
.bp-rk-reward-card--extra.is-active .bp-rk-reward-card__list i { color: #2ecc71; }
.bp-rk-reward-card__list strong { color: var(--text); }
.bp-rk-reward-card--extra.is-active .bp-rk-reward-card__list strong { color: #86efac; }

/* TOP 3 mesma guild — destaque na tabela custom */
.bp-rk-table tbody tr.is-dominated td {
  background: rgba(46, 204, 113, 0.06);
}
.bp-rk-table tbody tr.is-dominated .bp-rk-table__score strong {
  color: #34d399;
}

.bp-rk-table-wrap { overflow-x: auto; border-radius: var(--r-md); }
.bp-rk-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.bp-rk-table th {
  padding: 0.7rem 0.9rem;
  text-align: left;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brand-400);
  border-bottom: 1px solid var(--line-brand-soft);
  white-space: nowrap;
}
.bp-rk-table td {
  padding: 0.72rem 0.9rem;
  border-bottom: 1px solid var(--line-soft);
  color: var(--text-muted);
}
.bp-rk-table tbody tr { transition: background var(--t-fast) var(--ease); }
.bp-rk-table tbody tr:hover { background: rgba(230, 57, 70, 0.05); }
.bp-rk-table tbody tr:hover td { color: var(--text); }
.bp-rk-table__pos {
  display: inline-grid;
  place-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 0.3rem;
  font-family: var(--font-display);
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.09);
  border: 1px solid var(--line-brand-soft);
  border-radius: 8px;
}
.bp-rk-table tbody tr:nth-child(1) .bp-rk-table__pos {
  color: #ffffff;
  background: linear-gradient(160deg, var(--brand-200), var(--brand-600));
  box-shadow: 0 3px 12px rgba(179, 36, 52, 0.45);
}
.bp-rk-table tbody tr:nth-child(2) .bp-rk-table__pos { background: linear-gradient(160deg, #cfd6e4, #8f9ab3); color: #1a1d26; }
.bp-rk-table tbody tr:nth-child(3) .bp-rk-table__pos { background: linear-gradient(160deg, #e0a176, #9c5f38); color: #241408; }
.bp-rk-table__name { font-weight: 600; color: var(--text); }
.bp-rk-table__score {
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
}
/* Pontuação + subscore na mesma linha (sub à direita, topo) */
.bp-rk-score-wrap {
  display: inline-flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  gap: 0.4rem;
  max-width: 100%;
  white-space: nowrap;
}
.bp-rk-score {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.1;
  color: var(--brand-300) !important;
}
.bp-rk-subscore {
  display: inline-block;
  margin: 0.12em 0 0;
  padding: 0.12rem 0.4rem;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  color: var(--text-dim-2);
  font-variant-numeric: tabular-nums;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  vertical-align: top;
}

.bp-rk-player { display: flex; align-items: center; gap: 0.55rem; min-width: 0; }
/* Bandeira do país — à esquerda do avatar (espaço do ranking) */
.bp-rk-player__flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  width: 24px;
  height: 18px;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 2px 6px rgba(0, 0, 0, 0.35);
  background: rgba(0, 0, 0, 0.25);
}
.bp-rk-player__flag img {
  display: block;
  width: 22px;
  height: 15px;
  object-fit: cover;
}
.bp-rk-player__av {
  position: relative;
  display: grid;
  place-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  font-size: 0.95rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 12px;
  overflow: visible;
}
.bp-rk-player__av img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}
/* Avatar de classe (pasta avatars) — personagem sem crop duro */
.bp-rk-player__av--class {
  width: 46px;
  height: 52px;
  flex: 0 0 46px;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(ellipse 80% 50% at 50% 100%, rgba(230, 57, 70, 0.14), transparent 70%),
    transparent;
  overflow: visible;
}
.bp-rk-player__av--class img {
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.45));
  border-radius: 0;
}
.bp-rk-player__av--guild { border-radius: 8px; color: var(--emerald-300); background: rgba(47, 174, 110, 0.08); border-color: rgba(47, 174, 110, 0.25); }

/* Bolinha online/offline no ranking */
.bp-rk-dot {
  position: absolute;
  right: -4px;
  bottom: -3px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 2px solid rgba(12, 14, 20, 0.95);
  box-sizing: border-box;
  z-index: 3;
  pointer-events: none;
}
.bp-rk-dot.is-online {
  background: #22c55e;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55);
  animation: bp-rk-pulse 1.6s ease-out infinite;
}
.bp-rk-dot.is-offline {
  background: #ef4444;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.25);
}
@keyframes bp-rk-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55); }
  70%  { box-shadow: 0 0 0 9px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}
.bp-rk-player__meta { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.bp-rk-player__name-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}
.bp-rk-player__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
  font-size: 0.94rem;
  font-weight: 700;
}
.bp-rk-player__name a { color: inherit; }
.bp-rk-player__name a:hover { color: var(--brand-300); }
/* VIP / Craft+EXP — não quebra linha */
.bp-rk-vip {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  max-width: 7.5rem;
  padding: 0.12rem 0.4rem;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  line-height: 1.2;
  color: #86efac;
  border: 1px solid rgba(80, 200, 120, 0.4);
  border-radius: 999px;
  background: rgba(80, 200, 120, 0.12);
}

/* Toolbar só com abas (sem H1 duplicado) */
.bp-rk__toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-bottom: 1.15rem;
}
.bp-rk__toolbar .bp-rk-cats { margin-bottom: 0; }
.bp-rk-rewards-btn { margin-left: auto; }

/* Modal recompensas — visual BRPlay (painel) */
.bp-modal--reward .bp-modal__dialog {
  width: min(440px, 100%);
}
.bp-reward-modal {
  padding: 1.5rem 1.35rem 1.25rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line-brand-soft);
  background:
    radial-gradient(320px 180px at 50% -15%, rgba(230, 57, 70, 0.14), transparent 70%),
    var(--surface-solid, var(--surface));
  box-shadow: var(--shadow-3);
}
.bp-reward-modal__head {
  text-align: center;
  margin-bottom: 1.1rem;
}
.bp-reward-modal__head > i {
  display: inline-grid;
  place-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 0.55rem;
  border-radius: 14px;
  font-size: 1.15rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.12);
  border: 1px solid var(--line-brand-soft);
}
.bp-reward-modal__head h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text);
}
.bp-reward-modal__head p {
  margin: 0;
  font-size: 0.86rem;
  color: var(--text-muted);
  line-height: 1.4;
}
.bp-dl-page__lead {
  margin: 0 0 1.25rem;
  font-size: 0.95rem;
  color: var(--text-muted);
}

.bp-rk-side { display: grid; gap: 1rem; }
.bp-rk-side__label {
  margin-bottom: 0.8rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-rk-empty { padding: 2.4rem 1rem; text-align: center; color: var(--text-dim-2); }

/* --------------------------------------------------------------------------
   24. Painel / Dashboard (bp-dash)
   -------------------------------------------------------------------------- */
.bp-dash {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.bp-dash__main { min-width: 0; }

.bp-dash__nav {
  position: sticky;
  top: calc(var(--rail-h) + 16px);
  padding: 1.1rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-dash__nav-user {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--line-soft);
}
/* Sino de notificações — topo do menu (ao lado do nome) */
.bp-dash__nav-bell {
  position: relative;
  display: grid;
  place-content: center;
  width: 38px;
  height: 38px;
  margin-left: auto;
  flex: 0 0 38px;
  border-radius: 12px;
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line-soft);
  text-decoration: none;
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.bp-dash__nav-bell > i {
  font-size: 0.95rem;
  line-height: 1;
}
.bp-dash__nav-bell:hover {
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.1);
  border-color: var(--line-brand-soft);
}
.bp-dash__nav-bell.is-active {
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.12);
  border-color: var(--line-brand-soft);
}
.bp-dash__nav-bell.has-unread {
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.35);
  background: rgba(251, 191, 36, 0.1);
}
.bp-dash__nav-bell.has-unread:hover {
  color: #fcd34d;
  border-color: rgba(251, 191, 36, 0.5);
}
.bp-dash__nav-bell-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.28rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  background: linear-gradient(180deg, #f87171, #e11d48);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(225, 29, 72, 0.4);
  animation: bp-notif-pulse 1.8s ease-in-out infinite;
  pointer-events: none;
}
.bp-dash__avatar {
  display: grid;
  place-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  font-size: 1.05rem;
  color: var(--brand-300);
  background:
    radial-gradient(circle at 30% 25%, rgba(230, 57, 70, 0.25), transparent 60%),
    rgba(230, 57, 70, 0.07);
  border: 1px solid var(--line-brand-soft);
  border-radius: 12px;
}
.bp-dash__nav-meta { min-width: 0; flex: 1 1 auto; }
.bp-dash__nav-meta strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.95rem;
}
.bp-dash__nav-meta small { color: var(--text-dim-2); font-size: 0.76rem; }
.bp-dash__nav-group { display: grid; gap: 0.2rem; margin-bottom: 0.9rem; }
.bp-dash__nav-group--end { margin-bottom: 0; padding-top: 0.9rem; border-top: 1px solid var(--line-soft); }
.bp-dash__nav-label {
  padding: 0.3rem 0.6rem;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-dash__nav-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.6rem 0.7rem;
  font-size: 0.88rem;
  color: var(--text-muted);
  border-radius: 10px;
  border: 1px solid transparent;
  transition: all var(--t-fast) var(--ease);
}
.bp-dash__nav-link i { width: 17px; text-align: center; font-size: 0.85rem; color: var(--text-dim-2); transition: color var(--t-fast); }
.bp-dash__nav-link:hover { color: var(--text); background: rgba(255, 255, 255, 0.04); }
.bp-dash__nav-link:hover i { color: var(--brand-400); }
.bp-dash__nav-link.is-active {
  color: var(--brand-200);
  background: rgba(230, 57, 70, 0.09);
  border-color: var(--line-brand-soft);
}
.bp-dash__nav-link.is-active i { color: var(--brand-400); }
/* Suporte — só o ícone em verde para destacar */
.bp-dash__nav-link--support > i {
  color: #34d399 !important;
}
.bp-dash__nav-link--support:hover > i,
.bp-dash__nav-link--support.is-active > i {
  color: #6ee7b7 !important;
}
/* Badge de notificações (1, 2, 3…) */
.bp-dash__nav-link {
  position: relative;
}
.bp-dash__nav-badge,
.bp-dash__nav-link em.bp-dash__nav-badge,
.bp-dash__nav-link .bp-dash__nav-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.35rem;
  font-style: normal !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0;
  line-height: 1;
  color: #fff !important;
  background: linear-gradient(180deg, #f87171, #e11d48);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(225, 29, 72, 0.35);
  flex: 0 0 auto;
}
.bp-dash__nav-link--notif.is-active .bp-dash__nav-badge {
  background: linear-gradient(180deg, #fb7185, #be123c);
}
.bp-dash__nav-link--notif.has-unread > i {
  color: #fbbf24;
}
.bp-dash__nav-link--notif.has-unread .bp-dash__nav-badge {
  animation: bp-notif-pulse 1.8s ease-in-out infinite;
}
@keyframes bp-notif-pulse {
  0%, 100% { box-shadow: 0 2px 8px rgba(225, 29, 72, 0.35); transform: scale(1); }
  50% { box-shadow: 0 2px 14px rgba(225, 29, 72, 0.55); transform: scale(1.06); }
}

/* Box de alert no Meu Painel — notificações não lidas */
.bp-dash__notif-alert {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1rem;
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border-radius: var(--r-md);
  border: 1px solid rgba(251, 191, 36, 0.28);
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.1), rgba(230, 57, 70, 0.06));
}
.bp-dash__notif-alert__ico {
  position: relative;
  display: grid;
  place-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(251, 191, 36, 0.14);
  color: #fbbf24;
  font-size: 1.05rem;
  flex: 0 0 auto;
}
.bp-dash__notif-alert__count {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-size: 0.65rem;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  background: linear-gradient(180deg, #f87171, #e11d48);
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 2px 8px rgba(225, 29, 72, 0.4);
}
.bp-dash__notif-alert__body {
  flex: 1 1 200px;
  min-width: 0;
}
.bp-dash__notif-alert__body strong {
  display: block;
  margin-bottom: 0.15rem;
  font-size: 0.92rem;
  color: var(--text);
}
.bp-dash__notif-alert__body p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.4;
  color: var(--text-muted);
}
.bp-dash__notif-alert__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-left: auto;
}
@media (max-width: 640px) {
  .bp-dash__notif-alert__actions {
    width: 100%;
    margin-left: 0;
  }
  .bp-dash__notif-alert__actions .bp-btn {
    flex: 1;
    justify-content: center;
  }
}

/* Lista de notificações (plugin Message) */
.bp-notif-list {
  display: grid;
  gap: 0;
}
.bp-notif-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1.15rem;
  border-bottom: 1px solid var(--line-soft);
  text-decoration: none;
  color: inherit;
  transition: background var(--t-fast) var(--ease);
}
.bp-notif-item:last-child { border-bottom: 0; }
.bp-notif-item:hover { background: rgba(255, 255, 255, 0.03); }
.bp-notif-item.is-unread {
  background: rgba(230, 57, 70, 0.05);
}
.bp-notif-item.is-unread strong { color: var(--text); font-weight: 800; }
.bp-notif-item__ico {
  display: grid;
  place-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 10px;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.1);
  border: 1px solid var(--line-brand-soft);
}
.bp-notif-item__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.bp-notif-item__body strong {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-notif-item__body small {
  font-size: 0.76rem;
  color: var(--text-dim-2);
}
.bp-notif-item__dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #f43f5e;
  box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.2);
}
.bp-notif-item__go {
  color: var(--text-dim-2);
  font-size: 0.75rem;
  flex: 0 0 auto;
}
.bp-notif-item:hover .bp-notif-item__go { color: var(--brand-300); }
.bp-notif-view__text {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--text-muted);
  white-space: pre-wrap;
}

/* Boas-vindas */
.bp-dash__welcome {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: 1.7rem 1.8rem;
  margin-bottom: 1.5rem;
  background:
    radial-gradient(420px 200px at 90% 0%, rgba(230, 57, 70, 0.12), transparent 65%),
    var(--surface);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.bp-dash__welcome--compact { padding: 1.2rem 1.5rem; }
.bp-dash__kicker {
  margin: 0 0 0.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-dash__welcome h1, .bp-dash__welcome h2 { margin: 0; font-size: 1.5rem; }
.bp-dash__sub { margin: 0.35rem 0 0; color: var(--text-muted); font-size: 0.92rem; }
.bp-dash__welcome-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }

/* Stats */
.bp-dash__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
  gap: 0.9rem;
  margin-bottom: 1.5rem;
}
.bp-dash__stat {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-height: 138px;
  padding: 1.05rem 1.2rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-med) var(--ease);
  overflow: visible;
}
.bp-dash__stat:hover,
.bp-dash__stat:focus-within {
  z-index: 8;
}
/* corner-tick — assinatura do site */
.bp-dash__stat::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 26px;
  height: 26px;
  border-top: 2px solid var(--line-brand);
  border-left: 2px solid var(--line-brand);
  border-top-left-radius: var(--r-lg);
  opacity: 0.8;
  pointer-events: none;
}
.bp-dash__stat:hover { transform: translateY(-3px); border-color: var(--line-brand-soft); box-shadow: var(--shadow-2); }
.bp-dash__stat-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-dash__stat-label > i { color: var(--brand-400); font-size: 0.85rem; }
.bp-dash__stat--accent .bp-dash__stat-label > i { color: var(--emerald-400); }
.bp-dash__stat--sales .bp-dash__stat-label > i { color: #7ddb9c; }
.bp-dash__stat-value {
  display: block;
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: var(--text);
  line-height: 1.15;
}
.bp-dash__stat--sales .bp-dash__stat-value { color: #7ddb9c; }
.bp-dash__stat > a {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-300);
  text-decoration: none;
  transition: gap var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.bp-dash__stat > a:hover { gap: 0.6rem; color: var(--brand-200); }
.bp-dash__tip-anchor { margin-left: auto; }

/* Painel: créditos — display de saldo (como cashback) */
.bp-dash__stat--credits .bp-dash__stat-value { color: var(--text); }
.bp-credits-balance {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.55rem 0.75rem;
  border-radius: 12px;
  border: 1px solid var(--line-brand-soft);
  background:
    linear-gradient(165deg, rgba(230, 57, 70, 0.12), transparent 55%),
    rgba(0, 0, 0, 0.28);
}
.bp-credits-balance span {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(252, 165, 165, 0.9);
}
.bp-credits-balance strong {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--brand-200);
  line-height: 1.15;
}
.bp-credits-balance--compact {
  padding: 0.4rem 0.65rem;
}
.bp-dash__stats--row1 .bp-credits-balance--compact strong {
  font-size: 1.15rem;
}
.bp-dash__stats--row1 .bp-credits-balance span {
  font-size: 0.6rem;
}
.bp-dash__stat-sub {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  color: var(--text-muted);
  font-weight: 600;
}
.bp-dash__stat-sub > i { color: #7ddb9c; font-size: 0.8rem; }
.bp-dash__stat-sub em {
  font-style: normal;
  color: #7ddb9c;
  font-weight: 800;
}
.bp-dash__stat-actions {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
}
.bp-dash__stat-actions--stack {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}
.bp-dash__stat-actions--btns {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}
.bp-dash__stat-actions > a {
  margin-top: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-300);
  text-decoration: none;
  transition: gap var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.bp-dash__stat-actions > a:hover { gap: 0.55rem; color: var(--brand-200); }

/* Mini botões do painel (créditos / horas) — ênfase discreta */
.bp-dash__mini-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-top: auto;
  padding: 0.38rem 0.7rem;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 8px;
  border: 1px solid var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.1);
  color: var(--brand-200) !important;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
  white-space: nowrap;
  line-height: 1.2;
}
.bp-dash__mini-btn i { font-size: 0.72rem; opacity: 0.95; }
.bp-dash__mini-btn:hover {
  background: rgba(230, 57, 70, 0.18);
  border-color: rgba(248, 113, 113, 0.45);
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(230, 57, 70, 0.15);
  gap: 0.35rem !important;
}
.bp-dash__mini-btn--add {
  background: linear-gradient(180deg, rgba(230, 57, 70, 0.22), rgba(230, 57, 70, 0.1));
  border-color: rgba(230, 57, 70, 0.4);
}
/* Sacar créditos — destaque verde (ênfase sem competir com Adicionar) */
.bp-dash__mini-btn--out {
  background: linear-gradient(180deg, rgba(52, 211, 153, 0.22), rgba(16, 185, 129, 0.1));
  border-color: rgba(52, 211, 153, 0.45);
  color: #6ee7b7 !important;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.12);
}
.bp-dash__mini-btn--out:hover {
  background: linear-gradient(180deg, rgba(52, 211, 153, 0.34), rgba(16, 185, 129, 0.16));
  border-color: rgba(110, 231, 183, 0.65);
  color: #ecfdf5 !important;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.22);
}
.bp-dash__mini-btn--hours {
  width: auto;
  background: rgba(251, 191, 36, 0.08);
  border-color: rgba(251, 191, 36, 0.32);
  color: #fbbf24 !important;
}
.bp-dash__mini-btn--hours:hover {
  background: rgba(251, 191, 36, 0.16);
  border-color: rgba(251, 191, 36, 0.5);
  color: #fde68a !important;
  box-shadow: 0 4px 12px rgba(251, 191, 36, 0.12);
}
.bp-dash__stat--hours .bp-dash__stat-label > i { color: #fbbf24; }
.bp-dash__stat-value--hours {
  color: #fbbf24 !important;
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.bp-dash__stat-value--hours small {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}

.bp-dash__stat--jewels {
  min-width: 0;
  min-height: 0;
  padding: 0.75rem 0.95rem;
  gap: 0.4rem;
}
.bp-dash__stat--jewels .bp-dash__stat-label > i { color: #7dd3fc; }
.bp-dash__stat-value--muted {
  font-size: 1.1rem !important;
  color: var(--text-dim-2) !important;
}
/* Joias: preenchem a box em uma linha (flex igual) */
.bp-dash__jewels {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  gap: 0.4rem;
  align-items: stretch;
  margin: 0.05rem 0 0.15rem;
  width: 100%;
  flex: 1 1 auto;
}
.bp-dash__jewel {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  flex: 1 1 0;
  min-width: 0;
  padding: 0.35rem 0.25rem;
  border-radius: 10px;
  border: 1px solid rgba(125, 211, 252, 0.15);
  background:
    linear-gradient(165deg, rgba(56, 189, 248, 0.1), transparent 60%),
    rgba(0, 0, 0, 0.22);
  white-space: nowrap;
}
.bp-dash__jewel img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  flex: 0 0 28px;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
}
.bp-dash__jewel i {
  font-size: 1.05rem;
  color: #7dd3fc;
  width: 28px;
  text-align: center;
  flex: 0 0 28px;
}
.bp-dash__jewel strong {
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--text);
  min-width: 0;
  line-height: 1.1;
}

/* 1ª linha: Créditos · Joias · Cashback — compacta, menos gap vazio */
.bp-dash__stats--row1 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  margin-bottom: 0.65rem;
}
.bp-dash__stats--row1 .bp-dash__stat {
  min-height: 0;
  padding: 0.7rem 0.9rem;
  gap: 0.35rem;
}
.bp-dash__stats--row1 .bp-dash__stat-value {
  font-size: 1.2rem;
  line-height: 1.1;
}
.bp-dash__stats--row1 .bp-dash__stat-label {
  font-size: 0.66rem;
  letter-spacing: 0.12em;
}
.bp-dash__stats--row1:not(:has(.bp-dash__stat--cashback)) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
/* 2ª linha curta: Moedas (lado a lado) · VIP · Online */
.bp-dash__stats--row2 {
  grid-template-columns: minmax(0, 1.4fr) minmax(140px, 0.7fr) minmax(140px, 0.7fr);
  margin-bottom: 1.25rem;
  align-items: stretch;
}
.bp-dash__stats--row2:not(:has(.bp-dash__stat--hours)) {
  grid-template-columns: minmax(0, 1.5fr) minmax(160px, 0.85fr);
}
.bp-dash__stat--compact {
  min-height: 0;
  padding: 0.75rem 0.95rem;
  gap: 0.4rem;
}
.bp-dash__stat--compact .bp-dash__stat-value {
  font-size: 1.2rem;
}
.bp-dash__stat--coins-row {
  min-height: 0;
  padding: 0.75rem 0.95rem;
  gap: 0.45rem;
}
.bp-dash__stat--cashback {
  min-height: 0;
  gap: 0.35rem;
}
.bp-dash__stat--cashback .bp-dash__stat-label > i { color: #34d399; }
/* Cashback: mesmo empilhamento dos Créditos (saldo → botões → link) */
.bp-dash__stat--cashback .bp-cashback-balance {
  width: 100%;
}
.bp-dash__stat--cashback .bp-dash__stat-actions--btns {
  margin-top: 0.05rem;
}
.bp-dash__stat--cashback .bp-dash__stat-sub-link,
.bp-dash__stat--cashback .bp-dash__cashback-meta {
  margin-top: 0.15rem;
}
/* Cashback compacto na 1ª linha — alinhado aos créditos */
.bp-dash__stats--row1 .bp-cashback-balance--compact {
  padding: 0.4rem 0.65rem;
}
.bp-dash__stats--row1 .bp-cashback-balance--compact strong {
  font-size: 1.15rem;
}
.bp-dash__stats--row1 .bp-cashback-balance span {
  font-size: 0.6rem;
}
.bp-dash__stats--row1 .bp-dash__cashback-meta,
.bp-dash__stats--row1 .bp-dash__stat-sub-link {
  font-size: 0.68rem;
}
/* Botão Sacar cashback no mesmo padrão mini dos créditos (verde) */
.bp-dash__mini-btn--cashback {
  border-color: rgba(52, 211, 153, 0.35);
  color: #6ee7b7;
  background: rgba(16, 185, 129, 0.12);
}
.bp-dash__mini-btn--cashback:hover {
  border-color: rgba(52, 211, 153, 0.55);
  color: #a7f3d0;
  background: rgba(16, 185, 129, 0.2);
}
.bp-dash__stats--row1 .bp-dash__mini-btn {
  padding: 0.32rem 0.6rem;
  font-size: 0.64rem !important;
}
.bp-dash__stat-sub-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-300);
  text-decoration: none;
}
.bp-dash__stat-sub-link:hover { color: var(--brand-200); }

/* Moedas em linha (uma ao lado da outra) */
.bp-dash__coins--row {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: stretch;
  gap: 0.45rem;
  width: 100%;
}
.bp-dash__coin--row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex: 1 1 auto;
  min-width: 100px;
  padding: 0.4rem 0.55rem;
  border-radius: 10px;
  border: 1px solid var(--line);
  background:
    linear-gradient(145deg, rgba(230, 57, 70, 0.08), transparent 55%),
    rgba(0, 0, 0, 0.22);
}
.bp-dash__coin--row:hover {
  border-color: var(--line-brand-soft);
  transform: translateY(-1px);
}
.bp-dash__coin--row .bp-dash__coin-amt {
  font-size: 1rem;
}
.bp-dash__mini-btn--hours {
  width: auto;
  align-self: flex-start;
}

@media (max-width: 960px) {
  .bp-dash__stats--row1,
  .bp-dash__stats--row2,
  .bp-dash__stats--row2:not(:has(.bp-dash__stat--hours)),
  .bp-dash__stats--row1:not(:has(.bp-dash__stat--cashback)) {
    grid-template-columns: 1fr;
  }
}

/* legado wallet-split (outras páginas) */
.bp-dash__wallet-split {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 1.15fr);
  gap: 0.75rem 0.85rem;
  align-items: stretch;
}
@media (max-width: 960px) {
  .bp-dash__wallet-split { grid-template-columns: 1fr; }
}
.bp-dash__wallet-card {
  display: grid;
  gap: 0.55rem;
  align-content: start;
  padding: 0.75rem 0.9rem 0.8rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: var(--shadow-1);
  min-height: 0;
}
/* cashback: sem box verde — mesmo visual das outras */
.bp-dash__wallet-card--cash {
  border-color: var(--line);
  background: var(--surface);
  box-shadow: var(--shadow-1);
}
.bp-dash__wallet-card--coins {
  border-color: var(--line);
  background: var(--surface);
}
.bp-dash__wallet-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  min-width: 0;
}
.bp-dash__wallet-card-title {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}
.bp-dash__wallet-card-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-dash__wallet-card--cash .bp-dash__wallet-card-label {
  color: var(--text-dim-2);
}
.bp-dash__wallet-card-label i {
  font-size: 0.75rem;
  opacity: 0.9;
  color: var(--brand-300);
}
.bp-dash__wallet-card--cash .bp-dash__wallet-card-label i {
  color: #34d399;
}
.bp-dash__wallet-card-head .hm-link {
  flex: 0 0 auto;
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}
/* Legado: row lado a lado (não usado no painel atual — empilha como créditos) */
.bp-dash__cashback-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.4rem;
  min-width: 0;
}
.bp-dash__cashback-row .bp-cashback-balance {
  width: 100%;
  min-width: 0;
}
.bp-dash__cashback-btn {
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: auto;
  min-width: 0;
  padding: 0.32rem 0.6rem !important;
  white-space: nowrap;
  line-height: 1.15;
}
.bp-dash__cashback-btn i {
  font-size: 0.72rem;
}
.bp-dash__cashback-btn span {
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.bp-dash__coins {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0;
}
/* Moedas compactas (2ª linha com histórico ao lado) */
.bp-dash__coins--compact {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  width: 100%;
}
.bp-dash__coin {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.65rem 0.35rem 0.4rem;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  transition: all var(--t-fast) var(--ease);
}
.bp-dash__coin--compact {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  border: 1px solid var(--line);
  background:
    linear-gradient(145deg, rgba(230, 57, 70, 0.08), transparent 55%),
    rgba(0, 0, 0, 0.22);
  min-width: 0;
}
.bp-dash__coin--compact:hover {
  border-color: var(--line-brand-soft);
  transform: translateY(-1px);
}
.bp-dash__coin-ico {
  display: grid;
  place-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  font-size: 1.05rem;
  color: var(--brand-200);
  background:
    radial-gradient(circle at 40% 35%, rgba(230, 57, 70, 0.28), transparent 65%),
    rgba(230, 57, 70, 0.12);
  border: 1px solid var(--line-brand-soft);
  border-radius: 12px;
  box-shadow: 0 0 14px rgba(230, 57, 70, 0.12);
}
.bp-dash__coin-ico--sm {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  font-size: 0.85rem;
  border-radius: 9px;
}
.bp-dash__coin-meta {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  min-width: 0;
  text-align: left;
  flex: 1;
}
.bp-dash__coin-name {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-dim-2);
  line-height: 1.15;
}
.bp-dash__coin-amt {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--brand-200);
  line-height: 1.1;
  letter-spacing: 0.01em;
}
/* Histórico na 2ª linha */
.bp-dash__wallet-card--hist {
  display: flex;
  flex-direction: column;
}
.bp-dash__hist-body {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  flex: 1;
  justify-content: center;
}
.bp-dash__hist-desc {
  margin: 0;
  font-size: 0.78rem;
  color: var(--text-muted);
  line-height: 1.35;
}
.bp-dash__mini-btn--hist {
  width: 100%;
  margin-top: auto;
}
.bp-dash__coin:hover { border-color: var(--line-brand-soft); transform: translateY(-2px); }
.bp-dash__coin > i {
  display: grid;
  place-content: center;
  width: 24px;
  height: 24px;
  font-size: 0.7rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.1);
  border: 1px solid var(--line-brand-soft);
  border-radius: 50%;
}
.bp-dash__coin span {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-dash__coin strong {
  font-family: var(--font-display);
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--brand-200);
}
.bp-cashback-balance--compact {
  padding: 0.5rem 0.75rem;
}
.bp-cashback-balance--compact strong {
  font-size: 1.2rem;
}
.bp-dash__cashback-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  font-size: 0.74rem;
  color: var(--text-dim-2);
}
.bp-dash__cashback-meta i { margin-right: 0.2rem; opacity: 0.9; color: #34d399; }
.bp-dash__cashback-hint {
  margin: 0;
  font-size: 0.74rem;
  color: var(--text-muted);
  line-height: 1.3;
}
.bp-dash__cashback-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 520px) {
  .bp-dash__stat--cashback .bp-dash__stat-actions--btns {
    width: 100%;
  }
  .bp-dash__stat--cashback .bp-dash__mini-btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* Blocos e grids do dashboard */
.bp-dash__block { margin-bottom: 1.6rem; }
.bp-dash__block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.bp-dash__block-head h2, .bp-dash__block-head h3 { margin: 0; font-size: 1.1rem; }
.bp-dash__alert { margin-bottom: 1.5rem; }

/* Alerta compacto: e-mail não confirmado (painel) */
.bp-dash__email-alert {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin: 0 0 1.15rem;
  padding: 0.85rem 1rem;
  border-radius: var(--r-lg);
  border: 1px solid rgba(251, 191, 36, 0.4);
  background:
    linear-gradient(120deg, rgba(251, 191, 36, 0.1), transparent 55%),
    rgba(20, 16, 8, 0.65);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
}
.bp-dash__email-alert__ico {
  display: grid;
  place-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 11px;
  color: #fbbf24;
  background: rgba(251, 191, 36, 0.14);
  border: 1px solid rgba(251, 191, 36, 0.35);
  font-size: 1rem;
}
.bp-dash__email-alert__body {
  flex: 1 1 200px;
  min-width: 0;
}
.bp-dash__email-alert__body strong {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.92rem;
  font-weight: 800;
  color: #fde68a;
}
.bp-dash__email-alert__body p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.4;
  color: var(--text-muted);
}
.bp-dash__email-alert__mail {
  display: inline-block;
  margin-left: 0.15rem;
  padding: 0.08rem 0.45rem;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.82rem;
  color: var(--text);
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid var(--line-soft);
  word-break: break-all;
}
.bp-dash__email-alert__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  flex: 0 0 auto;
  margin-left: auto;
}
@media (max-width: 640px) {
  .bp-dash__email-alert__actions {
    width: 100%;
    margin-left: 0;
  }
  .bp-dash__email-alert__actions .bp-btn {
    flex: 1;
    justify-content: center;
  }
}

.bp-dash__char-grid,
.bp-dash__chars {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.1rem;
}
.bp-dash__char-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 1.2rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  color: inherit;
  text-decoration: none;
  transition: all var(--t-med) var(--ease);
}
/* corner-tick — assinatura do site */
.bp-dash__char-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  border-top: 2px solid var(--line-brand);
  border-left: 2px solid var(--line-brand);
  border-top-left-radius: var(--r-lg);
  opacity: 0.7;
  pointer-events: none;
}
.bp-dash__char-card:hover { transform: translateY(-4px); border-color: var(--line-brand-soft); box-shadow: var(--shadow-2); }
.bp-dash__char-card--link { cursor: pointer; }
.bp-dash__char-card-top { display: flex; align-items: center; gap: 0.8rem; }
.bp-dash__char-ico {
  display: grid;
  place-content: center;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  font-size: 1.1rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 12px;
  overflow: hidden;
}
.bp-dash__char-ico--lg { width: 58px; height: 58px; font-size: 1.4rem; }
.bp-dash__char-ico--class.bp-dash__char-ico--lg {
  width: 72px;
  height: 80px;
  flex: 0 0 72px;
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
}
.bp-dash__char-selected {
  margin-bottom: 1.1rem;
  padding: 0.9rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--surface);
}
.bp-dash__char-selected-info {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
}
.bp-dash__char-selected-info h3 {
  margin: 0.15rem 0;
  font-size: 1.15rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Avatar de classe — personagem solto, sem box/círculo ao redor */
.bp-dash__char-ico--class {
  width: 72px;
  height: 84px;
  flex: 0 0 72px;
  border-radius: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.bp-dash__char-ico img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.bp-dash__char-ico--class img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  margin: 0;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.5));
}

/* Card de escolha de personagem — maior, nome completo legível */
.bp-dash__char {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 96px;
  padding: 1.05rem 1.15rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  text-decoration: none;
  transition: all var(--t-med) var(--ease);
  min-width: 0;
}
.bp-dash__char:hover { transform: translateY(-3px); border-color: var(--line-brand-soft); box-shadow: var(--shadow-2); }
.bp-dash__char > div:not(.bp-dash__char-ico) {
  min-width: 0;
  flex: 1 1 auto;
  overflow: visible;
}
.bp-dash__char strong {
  display: block;
  font-size: 1.12rem;
  font-weight: 900;
  line-height: 1.25;
  color: var(--text);
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  word-break: break-word;
  max-width: 100%;
}
.bp-dash__char strong + span {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.82rem;
  line-height: 1.3;
  color: var(--text-dim-2);
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  max-width: 100%;
}
.bp-dash__char > em {
  margin-left: auto;
  flex: 0 0 auto;
  align-self: center;
  font-style: normal;
  font-family: var(--font-display);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  color: var(--brand-300);
  padding: 0.35rem 0.8rem;
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-pill);
  background: rgba(230, 57, 70, 0.07);
  white-space: nowrap;
}
/* Ícone fallback (sem imagem de classe) também maior no seletor */
.bp-dash__char .bp-dash__char-ico:not(.bp-dash__char-ico--class) {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  font-size: 1.35rem;
  border-radius: 14px;
}
.bp-dash__char-card h3 { margin: 0; font-size: 1.05rem; }
.bp-dash__char-card-top > div:not(.bp-dash__char-ico) { display: flex; flex-direction: column; gap: 0.3rem; align-items: flex-start; }
/* Stats do personagem — <dl> com Level/RST/MR */
.bp-dash__char-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin: 0;
}
.bp-dash__char-stats > div {
  padding: 0.5rem 0.6rem;
  text-align: center;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-sm);
  background: rgba(255, 255, 255, 0.03);
}
.bp-dash__char-stats dt {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-dash__char-stats dd {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--text);
}
.bp-dash__char-stats span { padding: 0.2rem 0.6rem; border: 1px solid var(--line-soft); border-radius: var(--r-pill); background: rgba(255,255,255,0.03); }
.bp-dash__char-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: auto; }
.bp-dash__char-actions .bp-btn { width: 100%; justify-content: center; }

.bp-dash__char-selected {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.2rem 1.4rem;
  margin-bottom: 1.4rem;
  background: linear-gradient(120deg, rgba(230, 57, 70, 0.1), transparent 55%), var(--surface);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
}
.bp-dash__char-selected-info strong { font-size: 1.1rem; }
.bp-dash__char-selected-info small { display: block; color: var(--text-dim-2); }

.bp-dash__manage { display: grid; gap: 1rem; }
.bp-dash__manage-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.3rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-med) var(--ease);
}
.bp-dash__manage-card:hover { border-color: var(--line-brand-soft); transform: translateX(4px); }
.bp-dash__manage-card > i {
  display: grid;
  place-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 12px;
}
.bp-dash__manage-card strong { display: block; }
.bp-dash__manage-card small { color: var(--text-dim-2); }
.bp-dash__manage-go { margin-left: auto; color: var(--text-dim-2); transition: all var(--t-fast) var(--ease); }
.bp-dash__manage-card:hover .bp-dash__manage-go { color: var(--brand-300); transform: translateX(3px); }

/* Pedidos */
.bp-dash__orders { display: grid; gap: 0.7rem; }
.bp-dash__order {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.9rem;
  padding: 0.95rem 1.15rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  transition: all var(--t-fast) var(--ease);
}
.bp-dash__order:hover { border-color: var(--line-brand-soft); }
.bp-dash__order-id {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--brand-300);
}
.bp-dash__order-body { flex: 1; min-width: 140px; }
.bp-dash__order-body strong { display: block; color: var(--text); }
.bp-dash__order-body span { display: block; margin-top: 0.15rem; font-size: 0.78rem; color: var(--text-dim-2); }
.bp-dash__order-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.35rem;
  font-size: 0.78rem;
  color: var(--text-dim-2);
}
.bp-dash__order-meta em {
  font-style: normal;
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--brand-200);
}

/* ---------- Plugin list rows (Events, Guides, ...) ---------- */
.bp-plist { display: grid; gap: 0.7rem; }
.bp-plist__row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.9rem 1.1rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  color: inherit;
  text-decoration: none;
  transition: all var(--t-fast) var(--ease);
}
a.bp-plist__row:hover { border-color: var(--line-brand-soft); transform: translateY(-2px); }
.bp-plist__ico {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(230, 57, 70, 0.12);
  border: 1px solid var(--line-brand);
  color: var(--brand-300);
  font-size: 1.05rem;
}
.bp-plist__body { flex: 1; min-width: 0; }
.bp-plist__body strong { display: block; color: var(--text); font-size: 0.95rem; }
.bp-plist__body small { display: block; margin-top: 0.15rem; font-size: 0.78rem; color: var(--text-dim-2); }
.bp-plist__tag {
  flex: 0 0 auto;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 0.82rem;
  color: var(--brand-200);
  white-space: nowrap;
}
.bp-plist__go { flex: 0 0 auto; color: var(--text-dim-2); font-size: 0.8rem; transition: all var(--t-fast) var(--ease); }
a.bp-plist__row:hover .bp-plist__go { color: var(--brand-300); transform: translateX(3px); }

/* ---------- Filter pills (plugin grids) ---------- */
.bp-filters { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-bottom: 1.3rem; }
.bp-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.95rem;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-muted);
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: all var(--t-fast) var(--ease);
}
.bp-filter:hover { border-color: var(--line-brand-soft); color: var(--text); }
.bp-filter.is-active {
  border-color: var(--line-brand);
  background: linear-gradient(160deg, rgba(230, 57, 70, 0.18), rgba(230, 57, 70, 0.06));
  color: var(--brand-200);
}

/* Minha conta — boxes compactas em uma linha */
.bp-dash__account-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1rem;
}
.bp-dash__account-grid--row {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.15rem;
  -webkit-overflow-scrolling: touch;
}
.bp-dash__account-grid--row .bp-dash__account-cell {
  flex: 1 1 0;
  min-width: 0;
  padding: 0.55rem 0.7rem;
  gap: 0.15rem;
  border-radius: 10px;
}
.bp-dash__account-grid--row .bp-dash__account-cell > span,
.bp-dash__account-grid--row .bp-dash__account-cell small {
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-dash__account-grid--row .bp-dash__account-cell strong {
  font-size: 0.82rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-dash__account-grid--row .bp-badge {
  font-size: 0.68rem;
  padding: 0.12rem 0.45rem;
}
@media (max-width: 720px) {
  .bp-dash__account-grid--row {
    flex-wrap: wrap;
  }
  .bp-dash__account-grid--row .bp-dash__account-cell {
    flex: 1 1 calc(33.33% - 0.5rem);
    min-width: 5.5rem;
  }
}
.bp-dash__account-cell {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem 1.2rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.bp-dash__account-cell > span,
.bp-dash__account-cell small { display: block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-dim-2); }
.bp-dash__account-cell strong { display: block; font-size: 0.98rem; color: var(--text); }

.bp-dash__notif {
  display: flex;
  gap: 0.75rem;
  padding: 1rem 1.2rem;
  margin-bottom: 0.8rem;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--surface);
  font-size: 0.9rem;
  color: var(--text-muted);
}
.bp-dash__notif > i { color: var(--brand-400); margin-top: 0.15rem; }

/* Serviços: menu à esquerda + conteúdo à direita (legado) */
.bp-dash__service-layout {
  display: grid;
  grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
  gap: 1.15rem;
  align-items: start;
  width: 100%;
}
/* Hub em cards: sem menu lateral */
.bp-dash__service-layout--solo {
  grid-template-columns: minmax(0, 1fr);
}
.bp-dash__service-layout--solo .bp-dash__services {
  display: none !important;
}
.bp-dash__services {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0;
  padding: 0.65rem;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--surface);
  min-width: 0;
}
.bp-dash__service-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  padding: 0.55rem 0.7rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--text-muted);
  text-decoration: none;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  transition: all var(--t-fast) var(--ease);
  box-sizing: border-box;
}
.bp-dash__service-link span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bp-dash__service-link:hover {
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--line-soft);
}
.bp-dash__service-link.is-active {
  color: var(--brand-200);
  background: rgba(230, 57, 70, 0.1);
  border-color: var(--line-brand-soft);
}
.bp-dash__service-body {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}
.bp-dash__service-body--solo { grid-column: 1 / -1; }
/* Formulários do core sem float / colunas quebradas */
.bp-dash__service-body .form,
.bp-dash__service-body form,
.bp-dash__service-body .form-action,
.bp-dash__service-body .form-horizontal {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.bp-dash__service-body .form-group,
.bp-dash__service-body .control-group,
.bp-dash__service-body .row,
.bp-dash__service-body [class*="col-"] {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}
.bp-dash__service-body .form-group::after,
.bp-dash__service-body .control-group::after,
.bp-dash__service-body .row::after {
  content: none !important;
  display: none !important;
  clear: both;
}
.bp-dash__service-body input,
.bp-dash__service-body select,
.bp-dash__service-body textarea {
  max-width: 100%;
  box-sizing: border-box;
}
.bp-dash__service-body label.control-label,
.bp-dash__service-body .control-label {
  float: none !important;
  width: auto !important;
  text-align: left !important;
  display: block;
  margin-bottom: 0.4rem;
}
.bp-dash__service-body .controls {
  float: none !important;
  margin-left: 0 !important;
  width: 100% !important;
}

/* --------------------------------------------------------------------------
   25. Serviços (formulários do painel / conta / personagem)
   -------------------------------------------------------------------------- */
.bp-service-block {
  padding: 1.5rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-service-block__title {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 1.1rem;
  font-size: 1.05rem;
}
.bp-service-block__title i { color: var(--brand-400); }
.bp-service-form { max-width: 560px; }
.bp-service-list { display: grid; gap: 0.6rem; margin: 0 0 1.2rem; }
.bp-service-list li {
  display: flex;
  gap: 0.6rem;
  font-size: 0.9rem;
  color: var(--text-muted);
}
.bp-service-list li::before { content: '—'; color: var(--brand-500); }
.bp-service-note { font-size: 0.84rem; color: var(--text-dim-2); }
.bp-service-warn {
  padding: 0.9rem 1.1rem;
  margin-bottom: 1.2rem;
  font-size: 0.88rem;
  color: var(--brand-200);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-md);
  background: rgba(230, 57, 70, 0.06);
}
.bp-service-rates {
  padding: 1.3rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-service-rates__title {
  margin: 0 0 0.9rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-400);
}

/* --------------------------------------------------------------------------
   Exchange panel (conversão + pacotes de tempo)
   -------------------------------------------------------------------------- */
.bp-ex { display: grid; gap: 1.25rem; width: 100%; max-width: none; }
.bp-ex--hours,
.bp-ex--convert { width: 100%; max-width: none; }
.bp-ex-lead { margin: 0; font-size: 0.88rem; color: var(--text-muted); line-height: 1.45; }
.bp-ex-card { margin-bottom: 0; width: 100%; }
.bp-dash__service-body .bp-ex { max-width: none; width: 100%; }
.bp-ex-row {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 0.85rem 1rem;
}
@media (max-width: 560px) {
  .bp-ex-row { grid-template-columns: 1fr; }
}
.bp-ex-form .bp-form-group { margin-bottom: 0.95rem; }
.bp-ex-form .bp-label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-ex-form .bp-input {
  width: 100%;
  min-height: 44px;
  padding: 0.65rem 0.85rem;
  color: var(--text);
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  transition: border-color var(--t-fast) var(--ease);
}
.bp-ex-form .bp-input:focus {
  outline: 0;
  border-color: var(--line-brand);
  box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.12);
}
.bp-ex-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin: 0.35rem 0 0.85rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-300);
}
.bp-ex-arrow i {
  width: 32px;
  height: 32px;
  display: grid;
  place-content: center;
  border-radius: 999px;
  border: 1px solid var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.08);
  font-size: 0.85rem;
}
.bp-ex-result {
  margin-top: 1.1rem;
  padding: 1rem 1.1rem;
  text-align: center;
  border-radius: var(--r-md);
  border: 1px dashed var(--line-soft);
  background: rgba(0, 0, 0, 0.18);
  min-height: 72px;
}
.bp-ex-result__label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-ex-result__tax {
  margin-top: 0.25rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-muted);
}
.bp-ex-result__amount {
  margin-top: 0.25rem;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.25;
}
.bp-ex-result__amount span[style*="red"],
.bp-ex-result__amount .is-err {
  color: #f87171 !important;
  font-size: 0.95rem;
  font-weight: 600;
}
.bp-ex-form .bp-btn { margin-top: 1rem; }

/* Saldo full-width */
.bp-ex-balance {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  width: 100%;
  padding: 1.25rem 1.4rem;
  border-radius: var(--r-lg);
  border: 1px solid rgba(240, 180, 41, 0.28);
  background:
    radial-gradient(ellipse 55% 120% at 0% 50%, rgba(240, 180, 41, 0.1), transparent 55%),
    var(--surface);
}
.bp-ex-balance__left {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.bp-ex-balance__ico {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  display: grid;
  place-content: center;
  border-radius: 16px;
  font-size: 1.35rem;
  color: #f0b429;
  background: rgba(240, 180, 41, 0.12);
  border: 1px solid rgba(240, 180, 41, 0.32);
}
.bp-ex-balance__text { min-width: 0; }
.bp-ex-balance__text span {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-ex-balance__text strong {
  display: block;
  margin-top: 0.15rem;
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.1;
}
.bp-ex-balance__text strong small {
  font-size: 0.68em;
  font-weight: 700;
  color: #f0b429;
  margin-left: 0.25rem;
}
.bp-ex-balance__right {
  text-align: right;
  max-width: 320px;
}
.bp-ex-balance__right p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--text-muted);
  line-height: 1.4;
}
.bp-ex-balance__right em {
  display: block;
  margin-top: 0.35rem;
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 600;
  color: #f0d78c;
}
@media (max-width: 640px) {
  .bp-ex-balance__right { text-align: left; max-width: none; width: 100%; }
}

/* Seção Pacotes disponíveis */
.bp-ex-section {
  width: 100%;
  padding: 1.25rem 1.35rem 1.4rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
}
.bp-ex-section__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 1.15rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line-soft);
}
.bp-ex-section__head--in-card {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
}
.bp-ex-section__head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.bp-ex-section__head h3 i { color: var(--brand-300); }
.bp-ex-section__head p {
  margin: 0.35rem 0 0;
  font-size: 0.86rem;
  color: var(--text-muted);
  line-height: 1.45;
  max-width: 520px;
}
.bp-ex-section__count {
  flex-shrink: 0;
  padding: 0.35rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-dim-2);
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.2);
}

/* Grid de pacotes — full width */
.bp-ex-pkg-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
  width: 100%;
}
@media (min-width: 1100px) {
  .bp-ex-pkg-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }
}
.bp-ex-pkg {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  min-height: 100%;
  padding: 1.2rem 1.2rem 1.1rem;
  background:
    radial-gradient(ellipse 80% 50% at 100% 0%, rgba(230, 57, 70, 0.06), transparent 60%),
    rgba(0, 0, 0, 0.18);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  transition: border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.bp-ex-pkg:hover {
  border-color: var(--line-brand-soft);
  transform: translateY(-3px);
  box-shadow: var(--shadow-2);
}
.bp-ex-pkg.is-locked {
  opacity: 0.72;
}
.bp-ex-pkg.is-locked:hover {
  transform: none;
  box-shadow: none;
}
.bp-ex-pkg__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.65rem;
}
.bp-ex-pkg__name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.25;
}
.bp-ex-pkg__cost {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.32rem 0.65rem;
  font-size: 0.78rem;
  font-weight: 800;
  color: #f5d78e;
  background: rgba(240, 180, 41, 0.1);
  border: 1px solid rgba(240, 180, 41, 0.3);
  border-radius: 999px;
  white-space: nowrap;
}
.bp-ex-pkg__media {
  display: grid;
  place-content: center;
  min-height: 96px;
  padding: 0.65rem;
  border-radius: var(--r-md);
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--line-soft);
}
.bp-ex-pkg__media img {
  max-height: 88px;
  max-width: 100%;
  object-fit: contain;
}
.bp-ex-pkg__desc {
  margin: 0;
  font-size: 0.84rem;
  color: var(--text-muted);
  line-height: 1.45;
}
.bp-ex-pkg__rewards-label {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-dim-2);
  margin-top: 0.15rem;
}
.bp-ex-pkg__rewards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.4rem;
}
.bp-ex-pkg__rewards li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text-muted);
}
.bp-ex-pkg__rewards li i {
  width: 1.1rem;
  text-align: center;
  font-size: 0.78rem;
  color: #4ade80;
}
.bp-ex-pkg__actions {
  margin-top: auto;
  padding-top: 0.55rem;
}
.bp-ex-pkg__actions .bp-btn {
  width: 100%;
  justify-content: center;
}
.bp-ex-pkg__actions .bp-btn:disabled,
.bp-ex-pkg__actions .bp-btn[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   26. Conta (bp-acc)
   -------------------------------------------------------------------------- */
.bp-acc__hero {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.3rem;
  padding: 1.7rem 1.8rem;
  margin-bottom: 1.5rem;
  background:
    radial-gradient(420px 200px at 88% 0%, rgba(230, 57, 70, 0.12), transparent 65%),
    var(--surface);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
}
.bp-acc__hero-avatar {
  display: grid;
  place-content: center;
  width: 68px;
  height: 68px;
  flex: 0 0 68px;
  font-size: 1.7rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand);
  border-radius: 18px;
  box-shadow: var(--glow-brand);
}
.bp-acc__hero-text { min-width: 0; }
.bp-acc__kicker {
  margin: 0 0 0.2rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-acc__hero-text h1, .bp-acc__hero-text h2 { margin: 0; font-size: 1.45rem; }
.bp-acc__hero-badge {
  margin-left: auto;
  flex: 0 0 auto;
}
/* grid 4 col definido mais abaixo (serviços conta/personagem) */
.bp-acc__tile {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.bp-acc__tile strong,
.bp-acc__tile span:not(.bp-acc__tile-ico) {
  min-width: 0;
}
.bp-acc__stat {
  padding: 1.15rem 1.25rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-med) var(--ease);
}
.bp-acc__stat:hover { border-color: var(--line-brand-soft); transform: translateY(-3px); }
.bp-acc__stats { display: grid; gap: 0.9rem; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.bp-acc__section { margin-bottom: 1.6rem; }

/* Carteira: moedas | cashback (legado split) */
.bp-acc__wallet-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 1rem;
  align-items: stretch;
}
@media (max-width: 900px) {
  .bp-acc__wallet-split { grid-template-columns: 1fr; }
}

/* Carteira compacta — chips de moeda + plugins ao lado */
.bp-acc__wallet-compact {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.bp-acc__wallet-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0.85rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
}
.bp-acc__wallet-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.4rem 0.7rem;
  border-radius: 10px;
  border: 1px solid var(--line-soft);
  background: rgba(0, 0, 0, 0.22);
}
.bp-acc__wallet-chip > i {
  font-size: 0.9rem;
  color: #e2b15a;
  opacity: 0.9;
  flex-shrink: 0;
}
.bp-acc__wallet-chip span {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-dim-2);
  line-height: 1.1;
}
.bp-acc__wallet-chip strong {
  display: block;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.2;
}
.bp-acc__wallet-chip--credit {
  border-color: rgba(230, 57, 70, 0.3);
  background: rgba(230, 57, 70, 0.08);
}
.bp-acc__wallet-chip--credit > i { color: var(--brand-300); }
.bp-acc__wallet-add {
  margin-left: auto;
  flex-shrink: 0;
}
.bp-acc__wallet-plugins {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.75rem;
  align-items: stretch;
}
/* Cards de plugin (indicação / streamer / cashback) mais baixos */
.bp-acc__wallet-plugins .bp-acc__wallet-card,
.bp-acc__wallet-plugins .bp-acc__wallet-card--extra,
.bp-acc__wallet-plugins .bp-acc__wallet-card--cashback {
  padding: 0.85rem 1rem;
  gap: 0.55rem;
  min-height: 0;
  height: auto;
}
.bp-acc__wallet-plugins .bp-acc__wallet-card-ico {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  font-size: 0.9rem;
}
.bp-acc__wallet-plugins .bp-acc__wallet-card-head strong { font-size: 0.92rem; }
.bp-acc__wallet-plugins .bp-acc__wallet-card-head em { font-size: 0.74rem; }
.bp-acc__wallet-plugins .bp-cashback-balance {
  padding: 0.55rem 0.7rem;
}
.bp-acc__wallet-plugins .bp-cashback-balance strong {
  font-size: 1.1rem;
}
.bp-acc__stats--compact {
  margin-bottom: 0.25rem;
}

/* Hub de serviços em cards (conta / personagem) */
.bp-acc__tile.is-active {
  border-color: var(--line-brand);
  background: rgba(230, 57, 70, 0.08);
}

.bp-acc__wallet-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.15rem 1.2rem 1.2rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: var(--shadow-1);
}
.bp-acc__wallet-card--cashback {
  border-color: rgba(52, 211, 153, 0.35);
  background:
    linear-gradient(165deg, rgba(16, 185, 129, 0.12), rgba(15, 17, 24, 0.92) 42%),
    var(--surface);
  box-shadow: 0 0 0 1px rgba(16, 185, 129, 0.08), var(--shadow-1);
}
.bp-acc__wallet-card-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.bp-acc__wallet-card-ico {
  display: grid;
  place-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #e2b15a;
  background: rgba(226, 177, 90, 0.12);
  border: 1px solid rgba(226, 177, 90, 0.28);
  flex-shrink: 0;
}
.bp-acc__wallet-card-ico--cash {
  color: #6ee7b7;
  background: rgba(16, 185, 129, 0.14);
  border-color: rgba(52, 211, 153, 0.35);
}
.bp-acc__wallet-card-head strong {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;
}
.bp-acc__wallet-card-head em {
  display: block;
  font-style: normal;
  font-size: 0.78rem;
  color: var(--text-muted);
  margin-top: 0.1rem;
}
.bp-acc__wallet-rows {
  display: grid;
  gap: 0.45rem;
  flex: 1;
}
.bp-acc__wallet-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  border: 1px solid var(--line-soft);
  background: rgba(0, 0, 0, 0.18);
  font-size: 0.88rem;
}
.bp-acc__wallet-row span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--text-muted);
}
.bp-acc__wallet-row span i { color: #e2b15a; }
.bp-acc__wallet-row strong {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--text);
}
.bp-acc__wallet-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-top: auto;
  padding-top: 0.25rem;
}
.bp-acc__wallet-actions--cash { justify-content: space-between; }

/* Cashback help — mark only; content is CSS hover tip */
.bp-cashback-balance {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(52, 211, 153, 0.28);
  background: rgba(0, 0, 0, 0.28);
}
.bp-cashback-balance span {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(167, 243, 208, 0.85);
}
.bp-cashback-balance strong {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 800;
  color: #6ee7b7;
  line-height: 1.15;
}
.bp-cashback-howto {
  padding: 0.85rem 0.95rem;
  border-radius: 12px;
  border: 1px solid rgba(52, 211, 153, 0.22);
  background: rgba(6, 78, 59, 0.25);
  font-size: 0.84rem;
  color: var(--text-muted);
}
.bp-cashback-howto[hidden] { display: none !important; }
.bp-cashback-howto h4 {
  margin: 0 0 0.55rem;
  font-size: 0.82rem;
  font-weight: 800;
  color: #a7f3d0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.bp-cashback-howto ol {
  margin: 0;
  padding-left: 1.15rem;
  display: grid;
  gap: 0.35rem;
  line-height: 1.4;
}
.bp-cashback-howto__tip {
  margin: 0.65rem 0 0;
  padding: 0.45rem 0.55rem;
  border-radius: 8px;
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.25);
  color: #fde68a;
  font-size: 0.78rem;
  display: flex;
  gap: 0.4rem;
  align-items: flex-start;
}

/* —— Sacar cashback (tela cheia no painel) —— */
.bp-cb-rescue {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  width: 100%;
  min-width: 0;
}
.bp-cb-rescue__card {
  padding: 1.2rem 1.35rem 1.3rem;
  border-radius: 16px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  background: var(--surface, rgba(16, 18, 26, 0.92));
  box-shadow: var(--shadow-1, 0 10px 28px rgba(0, 0, 0, 0.28));
  min-width: 0;
}
.bp-cb-rescue__card--balance {
  border-color: rgba(52, 211, 153, 0.22);
  background:
    linear-gradient(165deg, rgba(16, 185, 129, 0.1), transparent 48%),
    var(--surface, rgba(16, 18, 26, 0.92));
}
.bp-cb-rescue__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.75rem;
}
.bp-cb-rescue__stat {
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.bp-cb-rescue__stat span {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94a3b8;
}
.bp-cb-rescue__stat strong {
  font-size: 1.35rem;
  font-weight: 900;
  color: #f8fafc;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
.bp-cb-rescue__stat--ok {
  border-color: rgba(52, 211, 153, 0.28);
  background: rgba(16, 185, 129, 0.08);
}
.bp-cb-rescue__stat--ok strong {
  color: #6ee7b7;
}
.bp-cb-rescue__hint {
  margin: 0.85rem 0 0;
  font-size: 0.82rem;
  color: #94a3b8;
  line-height: 1.4;
}
.bp-cb-rescue__hint i {
  color: #34d399;
  margin-right: 0.3rem;
}
.bp-cb-rescue__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(240px, 0.85fr);
  gap: 1.1rem;
  align-items: start;
}
@media (max-width: 980px) {
  .bp-cb-rescue__grid {
    grid-template-columns: 1fr;
  }
}
.bp-cb-rescue__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.95rem;
}
.bp-cb-rescue__card-head h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #e2e8f0;
}
.bp-cb-rescue__card-head h3 i {
  color: #34d399;
}
.bp-cb-rescue__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.15rem;
}
@media (max-width: 720px) {
  .bp-cb-rescue__fields {
    grid-template-columns: 1fr;
  }
}
.bp-cb-rescue__form .bp-form-group {
  margin: 0;
}
.bp-cb-rescue__field-hint {
  margin: 0.4rem 0 0;
  font-size: 0.78rem;
  color: #94a3b8;
  line-height: 1.35;
}
.bp-cb-rescue__field-hint strong {
  color: #cbd5e1;
  font-weight: 700;
}
.bp-cb-rescue__acts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-cb-rescue__empty-msg {
  font-size: 0.82rem;
  color: #94a3b8;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.bp-cb-rescue__empty-msg i {
  color: #fbbf24;
}
.bp-cb-rescue__card--howto {
  border-color: rgba(52, 211, 153, 0.18);
  background:
    linear-gradient(180deg, rgba(6, 78, 59, 0.18), transparent 55%),
    var(--surface, rgba(16, 18, 26, 0.92));
}
.bp-cb-rescue__steps {
  margin: 0;
  padding-left: 1.2rem;
  display: grid;
  gap: 0.55rem;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #cbd5e1;
}
.bp-cb-rescue__steps li::marker {
  color: #34d399;
  font-weight: 800;
}

.bp-cashback-block__title {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(167, 243, 208, 0.75);
}
.bp-cashback-coupons,
.bp-cashback-rescues {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}
.bp-cashback-coupons a,
.bp-cashback-rescues li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.65rem;
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.22);
  text-decoration: none;
  color: inherit;
  font-size: 0.84rem;
}
.bp-cashback-coupons a:hover {
  border-color: rgba(52, 211, 153, 0.35);
}
.bp-cashback-coupons em {
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 800;
  color: #6ee7b7;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.15);
}
.bp-cashback-coupons span,
.bp-cashback-rescues em {
  margin-left: auto;
  font-size: 0.78rem;
  color: var(--text-muted);
}
.bp-cashback-status {
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-muted);
}
.bp-cashback-status.is-pending {
  color: #fde68a;
  background: rgba(251, 191, 36, 0.12);
}
.bp-cashback-status.is-ok {
  color: #86efac;
  background: rgba(34, 197, 94, 0.12);
}
.bp-cashback-empty {
  display: grid;
  gap: 0.3rem;
  justify-items: start;
  padding: 0.7rem 0.75rem;
  border-radius: 10px;
  border: 1px dashed rgba(52, 211, 153, 0.28);
  background: rgba(0, 0, 0, 0.18);
  font-size: 0.84rem;
  color: var(--text-muted);
}
.bp-cashback-empty i { color: #6ee7b7; font-size: 1.1rem; }
.bp-cashback-empty p { margin: 0; color: var(--text); font-weight: 600; }
.bp-cashback-empty span { font-size: 0.78rem; line-height: 1.35; }
.bp-cashback-min {
  font-size: 0.75rem;
  color: rgba(167, 243, 208, 0.75);
}
.bp-btn--cashback {
  background: linear-gradient(180deg, #34d399, #059669) !important;
  border-color: transparent !important;
  color: #042f1a !important;
  font-weight: 800;
  box-shadow: 0 6px 18px rgba(16, 185, 129, 0.28);
}
.bp-btn--cashback:hover {
  filter: brightness(1.06);
}
.bp-btn--cashback:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}
.bp-acc__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.bp-acc__section-head h2, .bp-acc__section-head h3 { margin: 0; font-size: 1.08rem; }

.bp-acc__quick {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.8rem;
}

/* Barra compacta do personagem (substitui o box vermelho "Gerenciando") */
.bp-dash__char-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin: 0 0 0.9rem;
  padding: 0.7rem 0.95rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.02);
}
.bp-dash__char-bar-text {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.65rem;
}
.bp-dash__char-bar-text .bp-dash__kicker {
  width: 100%;
  margin: 0;
}
.bp-dash__char-bar-text strong {
  font-size: 1.05rem;
  color: var(--text);
}
.bp-dash__char-bar-text span {
  font-size: 0.82rem;
  color: var(--text-muted);
}

/* Cards extras (indicação / streamer) na carteira */
.bp-acc__wallet-col--extra {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-width: 0;
}
.bp-acc__wallet-card--extra {
  border-color: var(--line);
  background: var(--surface);
}
.bp-acc__wallet-card-ico--ind {
  color: #93c5fd;
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(96, 165, 250, 0.35);
}
.bp-acc__wallet-card-ico--stream {
  color: #f0abfc;
  background: rgba(192, 132, 252, 0.12);
  border-color: rgba(192, 132, 252, 0.35);
}

/* Tiles da conta: sem estouro / layout estável */
/* Legacy box-panel injetado na conta: re-estilo para não quebrar o grid */
.bp-acc .box-panel,
.bp-acc__wallet-col--extra .box-panel {
  margin: 0 !important;
  padding: 1rem 1.1rem !important;
  border-radius: var(--r-lg) !important;
  border: 1px solid var(--line) !important;
  background: var(--surface) !important;
  box-shadow: var(--shadow-1);
}
.bp-acc .box-panel-title,
.bp-acc__wallet-col--extra .box-panel-title {
  margin: 0 0 0.55rem !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  background: none !important;
  border: 0 !important;
}
.bp-acc .box-panel-content,
.bp-acc__wallet-col--extra .box-panel-content {
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
.bp-acc .box-panel .btn,
.bp-acc__wallet-col--extra .box-panel .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 0.9rem;
  border-radius: 10px;
  border: 0;
  background: var(--brand-500, #e63946);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  font-size: 0.85rem;
}
.bp-acc .box-panel table.list,
.bp-acc__wallet-col--extra .box-panel table.list {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.86rem;
}
.bp-acc .box-panel table.list td,
.bp-acc__wallet-col--extra .box-panel table.list td {
  padding: 0.4rem 0.2rem;
  border-bottom: 1px solid var(--line-soft, rgba(255,255,255,0.06));
  color: var(--text-muted);
  word-break: break-word;
}
.bp-acc .box-panel table.list td:last-child,
.bp-acc__wallet-col--extra .box-panel table.list td:last-child {
  color: var(--text);
  text-align: right;
  font-weight: 700;
}

/* Esconde qualquer script residual renderizado como texto (cashback help antigo) */
.bp-acc script,
.bp-acc__wallet-col--extra script {
  display: none !important;
}

/* Tiles de serviço (conta + personagem) — legíveis, com descrição */
.bp-acc__tile,
.bp-acc__tile--service {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  min-width: 0;
  width: 100%;
  min-height: 132px;
  box-sizing: border-box;
  padding: 1rem 1.05rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text-muted);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-fast) var(--ease);
  text-decoration: none;
}
.bp-acc__tile:hover,
.bp-acc__tile--service:hover {
  color: inherit;
  border-color: var(--line-brand-soft);
  transform: translateY(-3px);
  box-shadow: var(--shadow-2);
}
.bp-acc__tile-ico {
  display: grid;
  place-content: center;
  width: 40px;
  height: 40px;
  font-size: 0.95rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.1);
  border: 1px solid var(--line-brand-soft);
  border-radius: 11px;
  flex: 0 0 auto;
  margin-bottom: 0.15rem;
}
.bp-acc__tile > strong {
  min-width: 0;
  width: 100%;
  color: var(--text);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.25;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  word-break: break-word;
}
.bp-acc__tile > span:not(.bp-acc__tile-ico) {
  min-width: 0;
  width: 100%;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--text-dim-2);
  line-height: 1.35;
  flex: 1 1 auto;
}
.bp-acc__tile > em {
  margin: 0.2rem 0 0;
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--brand-300);
  white-space: nowrap;
}
.bp-acc__tile-ico--gold { color: #e2b15a; background: rgba(226, 177, 90, 0.12); border-color: rgba(226, 177, 90, 0.3); }
.bp-acc__tile-ico--warn { color: #f87171; background: rgba(248, 113, 113, 0.12); border-color: rgba(248, 113, 113, 0.3); }

/* Grid de serviços: 4 por linha (conta e personagem) */
.bp-acc__grid,
.bp-svc-hub__grid--4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.5rem;
  width: 100%;
  min-width: 0;
}
.bp-svc-hub {
  margin-top: 1.1rem;
}
.bp-svc-hub__grid {
  margin-bottom: 0;
}
@media (max-width: 1100px) {
  .bp-acc__grid,
  .bp-svc-hub__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .bp-acc__grid,
  .bp-svc-hub__grid--4 { grid-template-columns: 1fr; }
}

.bp-acc__conn { display: grid; gap: 0.7rem; }
.bp-acc__conn-list { display: grid; gap: 0.55rem; }
.bp-acc__conn-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
  padding: 0.85rem 1.05rem;
  font-size: 0.88rem;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.025);
}
.bp-acc__conn-meta { color: var(--text-dim-2); font-size: 0.8rem; }
.bp-acc__ellip {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: bottom;
}

/* --------------------------------------------------------------------------
   27. Registro
   -------------------------------------------------------------------------- */
.bp-register {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 1.6rem;
  align-items: start;
}
/* Registro enxuto (padrão war) — menos campos, layout mais compacto */
.bp-register--compact .bp-register__main {
  padding: 1.35rem 1.45rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-register--compact .bp-form-grid {
  gap: 0.95rem 1rem;
}
.bp-register--compact .bp-form-group {
  margin: 0;
}
.bp-register--compact .bp-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.35rem;
  font-size: 0.84rem;
}
.bp-register--compact .bp-label i {
  font-size: 0.78rem;
  color: var(--text-dim-2);
  opacity: 0.9;
}
.bp-register--compact .bp-hint {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.74rem;
  color: var(--text-dim-2);
}
.bp-register--compact .bp-register__terms {
  display: flex;
  justify-content: center;
  padding-top: 0.25rem;
}
.bp-register--compact .bp-register__captcha {
  display: flex;
  justify-content: center;
}
.bp-register--compact .bp-register__actions {
  display: flex;
  justify-content: center;
  padding-top: 0.15rem;
}
.bp-register--compact .bp-register__actions .bp-btn {
  min-width: 200px;
}
.bp-register__card {
  padding: 1.9rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-register__side { display: grid; gap: 1rem; position: sticky; top: calc(var(--rail-h) + 16px); }
.bp-register__steps { display: grid; gap: 0.7rem; margin: 0 0 1rem; }
.bp-register__card > .bp-btn { margin-top: 0.15rem; }
.bp-register__steps li {
  display: flex;
  gap: 0.8rem;
  align-items: flex-start;
  padding: 0.9rem 1.05rem;
  font-size: 0.88rem;
  color: var(--text-muted);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.02);
}
.bp-register__steps li i { color: var(--brand-400); margin-top: 0.15rem; }
.bp-register__bonus {
  padding: 1.2rem;
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
  background: linear-gradient(160deg, rgba(230, 57, 70, 0.12), rgba(230, 57, 70, 0.03));
}
.bp-register__bonus h3 { display: flex; align-items: center; gap: 0.5rem; font-size: 0.95rem; color: var(--brand-200); }
.bp-register__bonus p { margin: 0; font-size: 0.84rem; color: var(--text-muted); }

/* --------------------------------------------------------------------------
   28. Downloads
   -------------------------------------------------------------------------- */
.bp-dl-page__head { margin-bottom: 1.35rem; }
.bp-dl-page__head h1 {
  margin: 0.15rem 0 0.35rem;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
}
.bp-dl-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.35rem;
}
@media (max-width: 860px) {
  .bp-dl-grid { grid-template-columns: 1fr; }
}
.bp-dl-list { display: grid; gap: 1rem; }
.bp-dl-card {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1.25rem 1.35rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-med) var(--ease);
}
.bp-dl-card:hover { border-color: var(--line-brand-soft); box-shadow: var(--shadow-2); transform: translateY(-3px); }
.bp-dl-card--main {
  background:
    linear-gradient(145deg, rgba(230, 57, 70, 0.08), transparent 45%),
    var(--surface);
}
.bp-dl-card > i,
.bp-dl-card__icon {
  display: grid;
  place-content: center;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  font-size: 1.3rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 14px;
}
.bp-dl-card__icon--soft {
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--line-soft);
}
.bp-dl-card__body { flex: 1 1 auto; min-width: 0; }
.bp-dl-card__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.35rem;
}
.bp-dl-card h3 {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--text);
}
.bp-dl-card__size {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--brand-200);
  border: 1px solid var(--line-brand-soft);
  border-radius: 999px;
  background: rgba(230, 57, 70, 0.08);
  white-space: nowrap;
}
.bp-dl-card p,
.bp-dl-card__desc {
  margin: 0 0 0.85rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--text-muted);
}
.bp-dl-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.bp-dl-extra { margin-bottom: 1.5rem; }
.bp-dl-extra__lead { margin: 0 0 1rem; font-size: 0.88rem; }
/* FAQ downloads — formato atual, largura total (ponta a ponta) */
.bp-dl-faq-wrap {
  max-width: none;
  width: 100%;
  margin: 0.35rem 0 1.85rem;
}
.bp-dl-faq-head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.95rem;
  padding: 0 0.15rem;
}
.bp-dl-faq-head__ico {
  display: grid;
  place-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 12px;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.1);
  border: 1px solid var(--line-brand-soft);
  font-size: 1rem;
}
.bp-dl-faq-head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.2;
}
.bp-dl-faq-head p {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  color: var(--text-dim-2);
}
.bp-dl-faq-list {
  display: grid;
  gap: 0.65rem;
}
/* Cada dúvida em card próprio (separados) */
.bp-dl-faq-item {
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: rgba(10, 12, 18, 0.55);
  overflow: hidden;
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.bp-dl-faq-item:hover {
  border-color: var(--line-brand-soft);
  background: rgba(14, 16, 24, 0.72);
}
.bp-dl-faq-item[open] {
  border-color: var(--line-brand-soft);
  box-shadow: 0 0 0 1px rgba(230, 57, 70, 0.08);
  background: linear-gradient(160deg, rgba(230, 57, 70, 0.06), transparent 55%), rgba(12, 14, 20, 0.75);
}
.bp-dl-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1.05rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  color: var(--text);
  font-size: 0.94rem;
  font-weight: 600;
  transition: color var(--t-fast) var(--ease);
}
.bp-dl-faq-item summary::-webkit-details-marker { display: none; }
.bp-dl-faq-item summary:hover { color: var(--brand-200); }
.bp-dl-faq-item__q {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
  line-height: 1.35;
}
/* Seta em “botão” circular — mais destaque */
.bp-dl-faq-item__chev {
  display: grid;
  place-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-dim-2);
  transition:
    transform var(--t-med) var(--ease),
    color var(--t-fast) var(--ease),
    border-color var(--t-fast) var(--ease),
    background var(--t-fast) var(--ease),
    box-shadow var(--t-fast) var(--ease);
}
.bp-dl-faq-item__chev i {
  font-size: 0.85rem;
  line-height: 1;
  transition: transform var(--t-med) var(--ease);
}
.bp-dl-faq-item summary:hover .bp-dl-faq-item__chev {
  color: var(--brand-300);
  border-color: var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.1);
}
.bp-dl-faq-item[open] .bp-dl-faq-item__chev {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(160deg, var(--brand-400), var(--brand-600));
  box-shadow: 0 4px 14px rgba(230, 57, 70, 0.35);
}
.bp-dl-faq-item[open] .bp-dl-faq-item__chev i {
  transform: rotate(180deg);
}
.bp-dl-faq-item__a {
  padding: 0 1.05rem 1.05rem 1.05rem;
  margin: 0 0.15rem 0.15rem;
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--text-muted);
  border-top: 1px solid var(--line-soft);
  padding-top: 0.85rem;
}
.bp-dl-support { margin-bottom: 1.25rem; }
.bp-dl-support__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line-brand-soft);
  background:
    linear-gradient(120deg, rgba(230, 57, 70, 0.1), transparent 55%),
    var(--surface);
}
.bp-dl-support__inner strong {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 1rem;
  color: var(--text);
}
.bp-dl-support__inner p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--text-muted);
}
.bp-dl-back {
  text-align: center;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line-soft);
}

/* --------------------------------------------------------------------------
   29. Mercado (bp-mkt) / WebShop / Pacotes
   -------------------------------------------------------------------------- */
.bp-mkt__head { margin-bottom: 1.5rem; }
.bp-mkt__kicker {
  margin: 0 0 0.3rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-mkt__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }

.bp-mkt-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.bp-mkt-main { min-width: 0; }

/* Market nav — Itens / Personagens (estilo CTA chamativo, como Vender) */
.bp-mkt-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 1.35rem;
}
.bp-mkt-nav__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.62rem 1.2rem;
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fde68a;
  text-decoration: none;
  background: linear-gradient(160deg, rgba(250, 204, 21, 0.16), rgba(30, 24, 12, 0.92));
  border: 1px solid rgba(250, 204, 21, 0.45);
  border-radius: var(--r-pill);
  box-shadow: 0 0 0 1px rgba(250, 204, 21, 0.08), 0 6px 18px rgba(0, 0, 0, 0.35);
  transition: color var(--t-fast) var(--ease),
              border-color var(--t-fast) var(--ease),
              background var(--t-fast) var(--ease),
              box-shadow var(--t-fast) var(--ease),
              transform var(--t-fast) var(--ease),
              filter var(--t-fast) var(--ease);
}
.bp-mkt-nav__btn i {
  font-size: 0.92rem;
  color: #fbbf24;
  opacity: 1;
}
.bp-mkt-nav__btn:hover {
  color: #fffbeb;
  border-color: rgba(252, 211, 77, 0.75);
  background: linear-gradient(160deg, rgba(250, 204, 21, 0.28), rgba(40, 30, 12, 0.95));
  box-shadow: 0 0 20px rgba(250, 204, 21, 0.28), 0 8px 20px rgba(0, 0, 0, 0.4);
  transform: translateY(-1px);
}
.bp-mkt-nav__btn:hover i { color: #fde68a; }
.bp-mkt-nav__btn.is-active {
  color: #1a1005;
  border-color: transparent;
  background: linear-gradient(160deg, #fde68a, #fbbf24 45%, #f59e0b 100%);
  box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.35), 0 0 22px rgba(245, 158, 11, 0.45), 0 8px 20px rgba(0, 0, 0, 0.35);
}
.bp-mkt-nav__btn.is-active i { color: #1a1005; opacity: 1; }
.bp-mkt-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.35rem;
}
.bp-mkt-toolbar .bp-mkt-nav { margin-bottom: 0; flex: 1; }
.bp-mkt-toolbar__right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}
.bp-mkt-toolbar__right .bp-btn.is-active {
  border-color: var(--line-brand);
  color: var(--brand-200);
  background: rgba(230, 57, 70, 0.1);
}

.bp-mkt-cats { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.3rem; }

.bp-mkt-filters {
  padding: 1.2rem;
  margin-bottom: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  position: sticky;
  top: 1rem;
}
.bp-mkt-filters__title {
  margin: 0 0 0.9rem;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-mkt-filters__form { display: grid; gap: 0.9rem; }

/* Categorias laterais — sections reais do market */
.bp-mkt-side-cats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.28rem;
  max-height: min(58vh, 520px);
  overflow-y: auto;
}
.bp-mkt-side-cats__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.52rem 0.7rem;
  border-radius: 10px;
  border: 1px solid transparent;
  color: var(--text-muted);
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 600;
  transition: all var(--t-fast) var(--ease);
}
.bp-mkt-side-cats__link span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bp-mkt-side-cats__link em {
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 800;
  min-width: 1.4rem;
  text-align: center;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-dim-2);
}
.bp-mkt-side-cats__link:hover {
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--line-soft);
}
.bp-mkt-side-cats__link.is-active {
  color: var(--brand-100);
  background: rgba(230, 57, 70, 0.12);
  border-color: var(--line-brand-soft);
}
.bp-mkt-side-cats__link.is-active em {
  background: rgba(230, 57, 70, 0.25);
  color: var(--brand-200);
}
.bp-mkt-side-cats__empty {
  padding: 0.55rem 0.35rem;
  font-size: 0.8rem;
  color: var(--text-dim-2);
}

/* CTA vender itens (estilo Dual, classes bp) */
.bp-mkt-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem 1.2rem;
  margin-bottom: 1.25rem;
  padding: 1rem 1.15rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background:
    linear-gradient(120deg, rgba(230, 57, 70, 0.08), transparent 55%),
    var(--surface);
}
.bp-mkt-cta strong {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.98rem;
}
.bp-mkt-cta p {
  margin: 0;
  font-size: 0.84rem;
  color: var(--text-muted);
  max-width: 48ch;
}
.bp-mkt-cta--compact { padding: 0.75rem 1rem; margin-bottom: 1rem; }

.bp-mkt-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 1rem;
}
.bp-mkt-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.1rem;
  padding-top: 1.35rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-med) var(--ease);
  min-height: 260px;
}
.bp-mkt-card:hover { transform: translateY(-4px); border-color: var(--line-brand-soft); box-shadow: var(--shadow-2), var(--glow-brand); }
.bp-mkt-card__img {
  display: grid;
  place-content: center;
  height: 92px;
  font-size: 2rem;
  color: var(--brand-300);
  background:
    radial-gradient(circle at 50% 60%, rgba(230, 57, 70, 0.14), transparent 70%),
    rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
.bp-mkt-card__img img { max-height: 76px; object-fit: contain; margin: auto; }
.bp-mkt-card__name {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--text);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.3;
  min-height: 2.4em;
}
.bp-mkt-card__section {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-mkt-card__meta {
  margin: 0;
  font-size: 0.76rem;
  color: var(--text-dim-2);
}
.bp-mkt-card__meta strong { color: var(--text-muted); font-weight: 700; }
.bp-mkt-card__price {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--brand-300);
}
.bp-mkt-card__own {
  margin-top: auto;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-dim-2);
  padding: 0.45rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

/* Tag de tempo / expiração no card */
.bp-mkt-card__expire {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  max-width: calc(100% - 1.1rem);
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #a7f3d0;
  background: rgba(16, 185, 129, 0.16);
  border: 1px solid rgba(52, 211, 153, 0.35);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}
.bp-mkt-card__expire i { font-size: 0.72rem; opacity: 0.9; }
.bp-mkt-card__expire.is-soon {
  color: #fde68a;
  background: rgba(245, 158, 11, 0.16);
  border-color: rgba(251, 191, 36, 0.4);
}
.bp-mkt-card__expire.is-urgent,
.bp-mkt-card__expire.is-expired {
  color: #fecaca;
  background: rgba(239, 68, 68, 0.16);
  border-color: rgba(248, 113, 113, 0.45);
}
.bp-mkt-card__expire.is-inline {
  position: static;
  max-width: none;
  box-shadow: none;
}

/* Sell layout */
.bp-mkt-sell {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
@media (max-width: 860px) {
  .bp-mkt-layout { grid-template-columns: 1fr; }
  .bp-mkt-filters { position: static; }
  .bp-mkt-sell { grid-template-columns: 1fr; }
  .bp-mkt-side-cats { max-height: none; }
}
.bp-mkt-sell__wh {
  padding: 0.85rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
}
.bp-mkt-sell__form {
  padding: 1.15rem 1.2rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
}
.bp-mkt-sell__hint {
  display: grid;
  place-items: center;
  gap: 0.65rem;
  min-height: 180px;
  text-align: center;
  color: var(--text-muted);
}
.bp-mkt-sell__hint i { font-size: 1.6rem; color: var(--brand-300); }
.bp-mkt-sell__item-name {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  color: var(--text);
}
.bp-mkt-sell__expire-note {
  margin: 0 0 0.9rem;
  font-size: 0.82rem;
  color: #a7f3d0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.bp-mkt-sell-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
.bp-mkt-sell-row__img {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--line-soft);
  flex-shrink: 0;
}
.bp-mkt-sell-row__img img { max-width: 32px; max-height: 32px; object-fit: contain; }
.bp-mkt-pager { margin-top: 1.25rem; }
.bp-mkt-grid--compact {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}
.bp-mkt-grid--compact .bp-mkt-card { min-height: 220px; padding: 0.9rem; }

.bp-mkt-hub {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.1rem;
}
.bp-mkt-hub__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.7rem;
  padding: 2rem 1.4rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-med) var(--ease);
}
.bp-mkt-hub__card:hover { transform: translateY(-5px); border-color: var(--line-brand); box-shadow: var(--shadow-2), var(--glow-brand); }
.bp-mkt-hub__icon {
  display: grid;
  place-content: center;
  width: 62px;
  height: 62px;
  font-size: 1.5rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.09);
  border: 1px solid var(--line-brand-soft);
  border-radius: 16px;
}
.bp-mkt-hub__card h3 { margin: 0; font-size: 1.05rem; }
.bp-mkt-hub__card p { margin: 0; font-size: 0.85rem; color: var(--text-muted); }
.bp-mkt-hub__card--link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.bp-mkt-hub__card--link:hover { color: inherit; }
.bp-mkt-hub__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.35rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--brand-300);
}
.bp-mkt-hub__card--link:hover .bp-mkt-hub__cta { gap: 0.55rem; }
.bp-mkt-hub--single {
  max-width: 420px;
  margin: 0.75rem auto 0;
}
.bp-mkt-hub--single .bp-mkt-hub__card {
  min-height: 240px;
  justify-content: center;
}
.bp-mkt-hub__card--rich {
  text-align: center;
  gap: 0.85rem;
  padding: 2.2rem 1.6rem;
}
.bp-mkt-hub__btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 0.35rem;
}
.bp-mkt-empty {
  display: grid;
  place-items: center;
  gap: 0.7rem;
  padding: 2.8rem 1.4rem;
  text-align: center;
  color: var(--text-muted);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
}
.bp-mkt-empty--compact { padding: 1.5rem 1rem; }
.bp-mkt-empty__icon {
  display: grid;
  place-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 0.15rem;
  font-size: 1.45rem;
  color: var(--brand-300);
  background:
    radial-gradient(circle at 50% 40%, rgba(230, 57, 70, 0.16), transparent 70%),
    rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
}
.bp-mkt-empty h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.08rem;
  color: var(--text);
}
.bp-mkt-empty p { margin: 0; font-size: 0.9rem; color: var(--text-muted); }
.bp-mkt-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.15rem;
}
.bp-mkt-steps__item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.42rem 0.8rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text-dim-2);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--surface);
}
.bp-mkt-steps__item span {
  display: grid;
  place-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  font-size: 0.72rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--line-soft);
}
.bp-mkt-steps__item.is-on {
  color: var(--text-muted);
  border-color: var(--line-brand-soft);
}
.bp-mkt-steps__item.is-current {
  color: var(--brand-100);
  border-color: transparent;
  background: linear-gradient(160deg, var(--brand-400), var(--brand-500) 55%, var(--brand-600));
  box-shadow: var(--glow-brand);
}
.bp-mkt-steps__item.is-current span {
  background: rgba(0, 0, 0, 0.18);
  border-color: transparent;
}
.bp-btn--block { width: 100%; justify-content: center; }
.bp-input--lg { min-height: 48px; font-size: 1.05rem; }
.bp-mkt-panel__head { margin-bottom: 0.85rem; }
.bp-mkt-panel__subtitle {
  margin: 0 0 0.65rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-mkt-char-card__btn {
  width: 100%;
  justify-content: center;
  margin-top: 0.15rem;
}
.bp-mkt-char-card__btn i { margin-left: 0.25rem; }
.bp-mkt-char-card__acts {
  display: grid;
  gap: 0.4rem;
  margin-top: 0.15rem;
}
.bp-mkt-char-card--hist .bp-mkt-char-card__foot {
  border-top: 0;
  padding-top: 0.25rem;
  justify-content: center;
}
/* Abas de personagens reutilizam .bp-mp-tabs */
.bp-mkt--mp .bp-mp-tabs {
  margin-bottom: 1rem;
}
.bp-mkt-chip i { margin-right: 0.25rem; opacity: 0.75; }
.bp-mkt-char-card__seller i { margin-right: 0.3rem; opacity: 0.7; }

/* MarketPlace character show / sell layout */
.bp-mp-show__layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.bp-mp-show__card {
  padding: 1.45rem 1.3rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}
.bp-mp-show__avatar {
  display: grid;
  place-content: center;
  width: 88px;
  height: 88px;
  margin: 0 auto 0.9rem;
  font-size: 2rem;
  color: var(--brand-300);
  overflow: hidden;
  border-radius: var(--r-md, 12px);
}
.bp-mp-show__avatar.has-img {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 35%, rgba(230, 57, 70, 0.12), transparent 70%),
    rgba(0, 0, 0, 0.25);
  border: 1px solid var(--line-brand-soft);
}
.bp-mp-show__avatar img {
  width: 90%;
  height: 94%;
  object-fit: contain;
  object-position: center center;
  display: block;
  margin: 0 auto;
}
.bp-mp-show__avatar:not(.has-img) {
  background:
    radial-gradient(circle at 50% 40%, rgba(230, 57, 70, 0.18), transparent 70%),
    rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line-brand-soft);
}
.bp-mp-show__name {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 800;
}
.bp-mp-show__class { margin: 0.3rem 0 0.85rem; color: var(--text-muted); font-size: 0.9rem; }
.bp-mp-show__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem; margin-bottom: 1rem; }
.bp-mp-show__pricebox {
  padding: 0.95rem;
  margin-bottom: 0.9rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line-brand-soft);
  background:
    linear-gradient(160deg, rgba(230, 57, 70, 0.12), rgba(255, 255, 255, 0.02));
}
.bp-mp-show__pricebox > span {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-mp-show__pricebox > strong {
  display: block;
  margin-top: 0.25rem;
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--brand-300);
}
.bp-mp-show__pricebox > strong > small {
  display: block;
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--text-muted);
}
/* Joias individuais no card de preço (detalhe do personagem) */
.bp-mp-show__pricebox--jewels {
  text-align: left;
}
.bp-mp-show__jewel-prices {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.55rem;
}
.bp-mp-show__jewel-price {
  display: grid;
  grid-template-columns: 22px minmax(0, auto) 1fr;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.5rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.22);
}
.bp-mp-show__jewel-price img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.bp-mp-show__jewel-price > i {
  color: #e2b15a;
  font-size: 0.9rem;
  text-align: center;
}
.bp-mp-show__jewel-price strong {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--brand-300);
}
.bp-mp-show__jewel-price small {
  font-size: 0.72rem;
  color: var(--text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bp-mp-show__meta {
  display: grid;
  gap: 0.65rem;
  margin-bottom: 1rem;
  padding: 0.8rem 0.9rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.015);
  text-align: left;
}
.bp-mp-show__meta span {
  display: block;
  font-size: 0.72rem;
  color: var(--text-dim-2);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.15rem;
}
.bp-mp-show__meta strong {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.55rem;
  font-size: 0.92rem;
}
.bp-mp-show__meta-sub {
  display: block;
  width: 100%;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-dim-2);
  letter-spacing: 0.02em;
  text-transform: none;
}
.bp-mp-show__exp {
  color: #fbbf24;
  font-weight: 800;
}
.bp-mp-show__exp.is-urgent { color: #f87171; }
.bp-mp-show__exp i { margin-right: 0.2rem; font-size: 0.8rem; }
.bp-mp-show__actions { display: grid; gap: 0.5rem; }
.bp-mp-show__side { display: grid; gap: 1rem; align-content: start; }
.bp-mp-show__main {
  min-width: 0;
  display: grid;
  gap: 1rem;
  align-content: start;
}

/* Atributos — barra horizontal acima do gear (não em card solto na lateral) */
.bp-mp-show__attrs {
  padding: 0.9rem 1.05rem 1rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
}
.bp-mp-show__attrs-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.bp-mp-show__attrs-head h3 {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-mp-show__attrs-pts {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.55rem;
  border-radius: var(--r-pill);
  border: 1px solid rgba(134, 239, 172, 0.28);
  background: rgba(134, 239, 172, 0.08);
  color: #86efac;
  font-size: 0.72rem;
  font-weight: 700;
}
.bp-mp-show__attrs-pts i { font-size: 0.65rem; opacity: 0.85; }
.bp-mp-show__attrs-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 0.5rem;
}
.bp-mp-show__attr {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  min-height: 72px;
  padding: 0.55rem 0.4rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line-soft);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));
  text-align: center;
}
.bp-mp-show__attr-k {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #e2b15a;
}
.bp-mp-show__attr-v {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--text);
}
.bp-mp-show__attr-l {
  font-style: normal;
  font-size: 0.62rem;
  color: var(--text-dim-2);
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
/* legado (se ainda existir em outra view) */
.bp-mp-show__stats {
  margin-top: 0;
  padding: 1.15rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}
.bp-mp-show__stats h3 {
  margin: 0 0 0.8rem;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-mp-show__stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
}

.bp-mp-sell__layout {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 1.15rem;
  align-items: start;
}
.bp-mp-sell__preview { min-width: 0; }
.bp-mkt-mine__acts { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.bp-mkt-mine__row {
  background: rgba(255, 255, 255, 0.015);
  border-color: var(--line);
  border-radius: var(--r-md);
}
.bp-mkt-req__item {
  background: rgba(255, 255, 255, 0.015);
  border-color: var(--line);
}
.bp-mkt-stat {
  background: rgba(255, 255, 255, 0.015);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}

/* Gear: equipment + inventory */
.bp-mp-gear {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.bp-mp-gear__col {
  padding: 1.15rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}
.bp-mp-gear__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.9rem;
}
.bp-mp-gear__head h3 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
}
.bp-mp-gear__head h3 i { margin-right: 0.35rem; color: var(--brand-300); }
.bp-mp-gear__equip {
  position: relative;
  display: grid;
  place-content: center;
  min-height: 220px;
  padding: 0.85rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line-soft);
  background:
    radial-gradient(circle at 50% 40%, rgba(230, 57, 70, 0.08), transparent 65%),
    rgba(0, 0, 0, 0.22);
  overflow: hidden;
}
.bp-mp-gear__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.18;
  pointer-events: none;
}
.bp-mp-gear__slots {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 56px);
  gap: 0.45rem;
  justify-content: center;
}
.bp-mp-gear__slot {
  display: grid;
  place-content: center;
  width: 56px;
  height: 56px;
  border-radius: 10px;
  border: 1px dashed rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
}
.bp-mp-gear__slot.has-item {
  border-style: solid;
  border-color: var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.08);
}
.bp-mp-gear__slot img {
  max-width: 46px;
  max-height: 46px;
  object-fit: contain;
}
.bp-mp-gear__fallback {
  color: var(--text-dim-2);
  font-size: 0.95rem;
}
.bp-mp-gear__inv {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(52px, 1fr));
  gap: 0.45rem;
}
.bp-mp-gear__inv-item {
  position: relative;
  display: grid;
  place-content: center;
  aspect-ratio: 1;
  border-radius: 10px;
  border: 1px solid var(--line-soft);
  background: rgba(255,255,255,0.03);
  transition: border-color var(--t-fast) var(--ease);
}
.bp-mp-gear__inv-item:hover { border-color: var(--line-brand); }
.bp-mp-gear__inv-item img {
  max-width: 42px;
  max-height: 42px;
  object-fit: contain;
}
.bp-mp-gear__inv-item em {
  position: absolute;
  right: 3px;
  bottom: 2px;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 700;
  color: var(--brand-300);
}
.bp-mp-gear__empty {
  display: grid;
  place-items: center;
  gap: 0.4rem;
  min-height: 160px;
  color: var(--text-dim-2);
  font-size: 0.85rem;
  border: 1px dashed var(--line-soft);
  border-radius: 12px;
}
.bp-mp-gear__empty i { font-size: 1.4rem; opacity: 0.7; }

@media (max-width: 980px) {
  .bp-mp-show__layout,
  .bp-mp-sell__layout,
  .bp-mp-gear {
    grid-template-columns: 1fr;
  }
}

.bp-mkt-pager {
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 1.5rem;
}
.bp-mkt-pager a, .bp-mkt-pager span {
  display: grid;
  place-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 0.6rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  transition: all var(--t-fast) var(--ease);
}
.bp-mkt-pager a:hover { color: var(--brand-200); border-color: var(--line-brand-soft); }
.bp-mkt-pager .is-active { color: #ffffff; background: linear-gradient(160deg, var(--brand-300), var(--brand-600)); border-color: transparent; }

.bp-mkt-sell__form { max-width: 640px; }
.bp-mkt-sell__wh { margin-bottom: 1.3rem; }
.bp-mkt-check { display: inline-flex; align-items: center; gap: 0.5rem; }
.bp-mkt-char-tip { display: flex; align-items: center; gap: 0.7rem; }
.bp-mkt-char-tip__av {
  display: grid; place-content: center;
  width: 38px; height: 38px; flex: 0 0 38px;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 10px;
}

.bp-mkt-acc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.bp-mkt-acc__list { display: grid; gap: 0.9rem; }
.bp-mkt-acc__chars { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.bp-mkt-acc__chars-label { font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-dim-2); }
.bp-mkt-acc__char { padding: 0.25rem 0.7rem; font-size: 0.78rem; border: 1px solid var(--line-soft); border-radius: var(--r-pill); background: rgba(255,255,255,0.03); color: var(--text-muted); }
.bp-mkt-acc__name { font-weight: 700; }
.bp-mkt-acc-search { display: flex; gap: 0.6rem; margin-bottom: 1.3rem; }
.bp-mkt-acc-tools { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 1.2rem; }
.bp-mkt-acc-order { display: flex; align-items: center; gap: 0.8rem; padding: 0.9rem 1.1rem; border: 1px solid var(--line-soft); border-radius: var(--r-md); background: rgba(255,255,255,0.02); }

/* MarketPlace — characters (retrato completo + card glass) */
.bp-mkt-char-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.75rem 1.1rem;
  padding-top: 3.25rem; /* respiro para o avatar sobressair */
}
.bp-mkt-char-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
  overflow: visible; /* avatar sobressai no topo */
  min-height: 300px;
  transition: transform var(--t-med) var(--ease),
              border-color var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease);
}
.bp-mkt-char-card:hover {
  transform: translateY(-4px);
  border-color: var(--line-brand-soft);
  box-shadow: var(--shadow-2), var(--glow-brand);
}
.bp-mkt-char-card--portrait {
  text-align: center;
  overflow: visible !important; /* sobrescreve spotlight overflow:hidden */
}
.bp-mkt-char-card__portrait {
  /* círculo maior + contain = personagem inteiro (sem cortar) */
  width: 152px;
  height: 152px;
  margin: -3.1rem auto 0.45rem;
  border-radius: 50%;
  overflow: hidden;
  display: grid;
  place-content: center;
  background:
    radial-gradient(circle at 50% 30%, rgba(96, 165, 250, 0.25), transparent 65%),
    linear-gradient(165deg, rgba(30, 36, 48, 0.98), rgba(10, 12, 18, 0.99));
  border: 3px solid rgba(148, 163, 184, 0.35);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 2;
  flex-shrink: 0;
}
.bp-mkt-char-card__portrait img {
  /* contain: herói completo (pés + cabeça) dentro do círculo */
  width: 90%;
  height: 94%;
  max-width: 90%;
  max-height: 94%;
  object-fit: contain !important;
  object-position: center center;
  display: block;
  margin: 0 auto;
}
.bp-mkt-char-card__portrait i {
  font-size: 2.2rem;
  color: var(--brand-300);
}
.bp-mkt-char-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.35rem 1.1rem 1.15rem;
  flex: 1;
  min-width: 0;
}
.bp-mkt-char-card--link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.bp-mkt-char-card--link:hover { color: inherit; }
.bp-mkt-char-card__head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}
.bp-mkt-char-card__icon {
  display: grid;
  place-content: center;
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  font-size: 1.15rem;
  color: var(--brand-300);
  background:
    radial-gradient(circle at 50% 40%, rgba(230, 57, 70, 0.16), transparent 72%),
    rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-md);
  overflow: hidden;
}
.bp-mkt-char-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.bp-mkt-char-card__titles { min-width: 0; }
.bp-mkt-char-card__name {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-mkt-char-card__class {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.78rem;
  color: var(--text-muted);
}
.bp-mkt-char-card__time {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  margin: 0.15rem auto 0;
  width: 100%;
  text-align: center;
  font-size: 0.7rem;
}
.bp-mkt-char-card__ago {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  color: var(--text-dim-2);
}
.bp-mkt-char-card__exp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  color: #fbbf24;
  font-weight: 700;
  font-size: 0.68rem;
}
.bp-mkt-char-card__exp.is-urgent { color: #f87171; }
.bp-mkt-char-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: center;
}
.bp-mkt-chip {
  padding: 0.24rem 0.7rem;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-pill);
}
.bp-mkt-char-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.55rem 0.75rem;
  padding-top: 0.6rem;
  border-top: 1px solid var(--line-soft);
  margin-top: auto;
}
.bp-mkt-char-card__seller {
  font-size: 0.78rem;
  color: var(--text-dim-2);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bp-mkt-char-card__price {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--brand-300);
  text-align: center;
  line-height: 1.15;
}
.bp-mkt-char-card__price small {
  display: block;
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--text-muted);
}
/* Joias individuais nos cards (ícone + qtd, sem somar tudo) */
.bp-mkt-char-card__price.bp-mp-payline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.55rem;
  width: 100%;
}
.bp-mkt-char-card__price.bp-mp-payline--jewels .bp-mp-payline__item {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
}
.bp-mkt-char-card__price.bp-mp-payline--jewels .bp-mp-payline__ico {
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.bp-mkt-char-card__price.bp-mp-payline--jewels strong {
  font-size: 0.95rem;
  color: var(--brand-300);
}

/* Venda personagem — painel estilo modal + requisitos */
.bp-mp-char-sell-modal {
  padding: 1.25rem 1.35rem 1.4rem;
}
.bp-mp-char-sell-modal__head {
  margin-bottom: 0.85rem;
}
.bp-mp-char-sell-modal__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.bp-mp-char-sell-modal__alert {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin-bottom: 1rem;
  padding: 0.7rem 0.85rem;
  border-radius: 10px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #fbbf24;
  font-size: 0.82rem;
  line-height: 1.4;
}
.bp-mp-char-sell-modal__alert i {
  margin-top: 0.15rem;
  flex-shrink: 0;
}
.bp-mp-char-req {
  margin: 0 0 1.1rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-mp-char-req__title {
  margin: 0 0 0.65rem;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--text);
}
.bp-mp-char-req__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}
.bp-mp-char-req__item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.84rem;
  line-height: 1.35;
  color: var(--text-muted);
}
.bp-mp-char-req__item i {
  margin-top: 0.12rem;
  flex-shrink: 0;
  font-size: 0.95rem;
}
.bp-mp-char-req__item.is-ok {
  color: #86efac;
}
.bp-mp-char-req__item.is-ok i { color: #4ade80; }
.bp-mp-char-req__item.is-bad {
  color: #fca5a5;
}
.bp-mp-char-req__item.is-bad i { color: #f87171; }
.bp-mp-char-req__item small {
  opacity: 0.75;
  font-size: 0.78em;
}
.bp-mp-char-pay-panel[hidden] {
  display: none !important;
}
.bp-mp-char-price-table {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 1rem;
  padding: 0.75rem;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-mp-char-price-table__head,
.bp-mp-char-price-table__row {
  display: grid;
  grid-template-columns: minmax(100px, 1.2fr) minmax(90px, 1fr) 64px 72px;
  gap: 0.45rem;
  align-items: center;
}
.bp-mp-char-price-table__head {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-mp-char-price-table__coin {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  font-weight: 600;
}
.bp-mp-char-price-table__coin img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.bp-mp-char-price-table__coin i { color: #e2b15a; }
.bp-mp-char-price-table__tax {
  font-size: 0.8rem;
  color: #e2b15a;
  text-align: center;
}
.bp-mp-char-price-table__net {
  font-size: 0.9rem;
  font-weight: 800;
  color: #86efac;
  text-align: right;
}
.bp-mp-char-price-table--jewels .bp-mp-char-price-table__row {
  padding: 0.25rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.bp-mp-char-price-table--jewels .bp-mp-char-price-table__row:last-child {
  border-bottom: 0;
}

/* Inventário personagem (grid tipo baú) */
.bp-mp-char-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.85rem;
}
.bp-mp-char-tabs__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.9rem;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.28);
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}
.bp-mp-char-tabs__btn.is-on {
  color: #1a1305;
  background: linear-gradient(160deg, #f0b429, #e29a12 55%, #c47d0a);
  border-color: transparent;
}
.bp-mp-char-tabs__btn .bp-mkt-chip {
  background: rgba(0, 0, 0, 0.15);
  border-color: transparent;
  color: inherit;
  font-size: 0.7rem;
  padding: 0.12rem 0.45rem;
}
.bp-mp-inv-grid {
  --inv-cols: 8;
  --inv-rows: 8;
  display: grid;
  grid-template-columns: repeat(var(--inv-cols), minmax(0, 1fr));
  grid-template-rows: repeat(var(--inv-rows), minmax(36px, 1fr));
  gap: 3px;
  padding: 0.55rem;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
  min-height: 280px;
  position: relative;
}
.bp-mp-inv-grid__cell {
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.04);
  min-height: 36px;
}
.bp-mp-inv-item {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: linear-gradient(165deg, rgba(30, 36, 48, 0.95), rgba(12, 14, 20, 0.98));
  border: 1px solid rgba(226, 177, 90, 0.22);
  overflow: hidden;
  min-height: 36px;
}
.bp-mp-inv-item img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
}
.bp-mp-inv-item em {
  position: absolute;
  right: 2px;
  bottom: 1px;
  font-style: normal;
  font-size: 0.62rem;
  font-weight: 800;
  color: #f0d78c;
  text-shadow: 0 1px 2px #000;
  line-height: 1;
}
.bp-mp-gear__lv {
  position: absolute;
  right: 2px;
  bottom: 1px;
  font-style: normal;
  font-size: 0.62rem;
  font-weight: 800;
  color: #f0d78c;
}
.bp-mp-gear__slot {
  position: relative;
}
.bp-mp-gear[hidden] {
  display: none !important;
}

.bp-mkt-badge-row { margin-bottom: 1rem; }
.bp-mkt-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.48rem 0.9rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-muted);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  box-shadow: var(--shadow-1);
}
.bp-mkt-panel {
  padding: 0;
  margin-bottom: 1.15rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}
.bp-mkt-panel--form,
.bp-mkt-panel > .bp-mkt-form,
.bp-mkt-panel > .bp-mkt-mine,
.bp-mkt-panel > .bp-mp-gear {
  padding: 1.25rem 1.35rem;
}
.bp-mkt-panel > .bp-mkt-panel__head,
.bp-mkt-panel .bp-mkt-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.35rem;
  margin: 0;
  border-bottom: 1px solid var(--line-soft);
  background: linear-gradient(90deg, rgba(230, 57, 70, 0.06), transparent 55%);
}
.bp-mkt-panel__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 0.98rem;
  font-weight: 700;
}
.bp-mkt-panel__title i { margin-right: 0.4rem; color: var(--brand-400); }
.bp-mkt-panel--form { padding: 1.35rem; }
.bp-mkt-form { display: grid; gap: 1rem; max-width: 520px; }
.bp-mkt-mine { display: grid; gap: 0.55rem; }
.bp-mkt-mine__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: rgba(255,255,255,0.02);
}
.bp-mkt-mine__info { display: grid; gap: 0.15rem; min-width: 0; }
.bp-mkt-mine__info strong { font-size: 0.92rem; }
.bp-mkt-mine__info span { font-size: 0.78rem; color: var(--text-muted); }

.bp-mkt-req { display: grid; gap: 0.45rem; }
.bp-mkt-req__item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.7rem 0.85rem;
  border-radius: 10px;
  border: 1px solid var(--line-soft);
  background: rgba(255,255,255,0.02);
}
.bp-mkt-req__item.is-ok {
  border-color: rgba(34, 197, 94, 0.3);
  background: rgba(34, 197, 94, 0.07);
}
.bp-mkt-req__item.is-bad {
  border-color: rgba(239, 68, 68, 0.3);
  background: rgba(239, 68, 68, 0.07);
}
.bp-mkt-req__item > i {
  width: 1rem;
  margin-top: 0.15rem;
  text-align: center;
}
.bp-mkt-req__item.is-ok > i { color: #22c55e; }
.bp-mkt-req__item.is-bad > i { color: #ef4444; }
.bp-mkt-req__text { display: grid; gap: 0.1rem; }
.bp-mkt-req__text strong { font-size: 0.88rem; }
.bp-mkt-req__text span { font-size: 0.78rem; color: var(--text-muted); }
.bp-mkt-hint {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.75rem 0.9rem;
  font-size: 0.85rem;
  border-radius: 10px;
  border: 1px solid var(--line-soft);
  color: var(--text-muted);
}
.bp-mkt-hint--warn {
  border-color: rgba(234, 179, 8, 0.35);
  background: rgba(234, 179, 8, 0.08);
  color: var(--text);
}

.bp-mkt-detail {
  max-width: 440px;
  padding: 1.4rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-mkt-detail__hero {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-bottom: 1.15rem;
}
.bp-mkt-detail__icon { width: 56px; height: 56px; font-size: 1.35rem; }
.bp-mkt-detail__name { margin: 0; font-size: 1.25rem; font-weight: 800; }
.bp-mkt-detail__class { margin: 0.2rem 0 0; font-size: 0.85rem; color: var(--text-muted); }
.bp-mkt-detail__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-bottom: 1.2rem;
}
.bp-mkt-stat {
  display: grid;
  gap: 0.2rem;
  padding: 0.7rem 0.8rem;
  border-radius: 10px;
  border: 1px solid var(--line-soft);
  background: rgba(255,255,255,0.02);
}
.bp-mkt-stat span { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-dim-2); }
.bp-mkt-stat strong { font-size: 0.95rem; }
.bp-mkt-stat--price { grid-column: 1 / -1; }
.bp-mkt-stat--price strong { color: var(--brand-300); font-size: 1.15rem; }
.bp-mkt-stat--price small { font-size: 0.75rem; font-weight: 500; color: var(--text-muted); }
.bp-mkt-detail__actions { display: flex; gap: 0.55rem; }
.bp-mkt-detail__actions .bp-btn { flex: 1; justify-content: center; text-align: center; }

/* Produtos (WebShop / genérico) */
.bp-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 1rem;
}
.bp-product {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 1.1rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-med) var(--ease);
}
.bp-product:hover { transform: translateY(-4px); border-color: var(--line-brand-soft); box-shadow: var(--shadow-2), var(--glow-brand); }
.bp-product__img {
  display: grid;
  place-content: center;
  height: 96px;
  font-size: 2rem;
  color: var(--brand-300);
  background: radial-gradient(circle at 50% 60%, rgba(230, 57, 70, 0.13), transparent 70%), rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
.bp-product__name { margin: 0; font-size: 0.94rem; }
.bp-product__price {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--brand-300);
}
.bp-product__body { display: flex; flex-direction: column; gap: 0.55rem; }

/* Pacotes */
.bp-pkg-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.bp-pkg-head__balance,
.bp-pkg-balance {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 1.15rem;
  font-weight: 700;
  color: var(--brand-200);
  border: 1px solid var(--line-brand);
  border-radius: var(--r-pill);
  background: rgba(230, 57, 70, 0.09);
  box-shadow: var(--glow-brand);
}
.bp-pkg-balance i { color: var(--brand-400); }
.bp-pkg-cats { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 1.4rem; }
.bp-pkg-cats__label { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-dim-2); margin-right: 0.4rem; }
.bp-pkg-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 1.1rem;
}
.bp-pkg-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.3rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-med) var(--ease);
}
.bp-pkg-card:hover { transform: translateY(-5px); border-color: var(--line-brand); box-shadow: var(--shadow-2), var(--glow-brand); }
.bp-pkg-card__media {
  display: grid;
  place-content: center;
  height: 104px;
  font-size: 2.3rem;
  color: var(--brand-300);
  background: radial-gradient(circle at 50% 60%, rgba(230, 57, 70, 0.15), transparent 70%), rgba(255, 255, 255, 0.02);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
}
.bp-pkg-card__media img { max-height: 88px; object-fit: contain; margin: auto; }
.bp-pkg-card__name { margin: 0; font-size: 1rem; }
.bp-pkg-card__desc { margin: 0; font-size: 0.83rem; color: var(--text-muted); }
.bp-pkg-card__price {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--brand-300);
}
.bp-pkg-card__actions { display: flex; justify-content: center; gap: 0.55rem; margin-top: auto; }

/* Painel unificado: compra + itens do pacote */
.bp-pkg-panel {
  display: grid;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background:
    linear-gradient(165deg, rgba(230, 57, 70, 0.06), transparent 42%),
    var(--surface);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}
.bp-pkg-detail {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: 1.25rem 1.5rem;
  align-items: center;
  padding: 1.25rem 1.35rem;
}
.bp-pkg-detail__media {
  display: grid;
  place-content: center;
  min-height: 180px;
  font-size: 3rem;
  color: var(--brand-300);
  background:
    radial-gradient(circle at 50% 55%, rgba(230, 57, 70, 0.16), transparent 70%),
    rgba(0, 0, 0, 0.22);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-md);
}
.bp-pkg-detail__media img {
  max-width: 90%;
  max-height: 160px;
  object-fit: contain;
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.45));
}
.bp-pkg-detail__info { min-width: 0; }
.bp-pkg-detail__price {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--brand-300);
  margin: 0.45rem 0 0.85rem;
}
.bp-pkg-detail__desc {
  color: var(--text-muted);
  line-height: 1.5;
  font-size: 0.92rem;
}
.bp-pkg-detail__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
}
.bp-pkg-detail__pipe {
  opacity: 0.55;
  margin: 0 0.15rem;
  font-weight: 600;
}
.bp-pkg-detail__sep { border: 0; border-top: 1px solid var(--line); margin: 1.4rem 0; }

/* Itens do pacote — bloco encaixado no painel */
.bp-pkg-items {
  margin: 0;
  padding: 0 1.15rem 1.15rem;
  border-top: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.16);
}
.bp-pkg-items__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.95rem 0.15rem 0.85rem;
  margin: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.bp-pkg-items__title {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  min-width: 0;
}
.bp-pkg-items__title > i {
  display: grid;
  place-content: center;
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  margin-top: 0.05rem;
  font-size: 0.85rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.1);
  border: 1px solid var(--line-brand-soft);
  border-radius: 10px;
}
.bp-pkg-items__title h3 {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brand-300);
  line-height: 1.2;
}
.bp-pkg-items__title span {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.74rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--text-dim-2);
}
.bp-pkg-items__count {
  flex: 0 0 auto;
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-dim-2);
  padding: 0.28rem 0.6rem;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
}
.bp-pkg-items__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
  gap: 0.65rem;
  padding-top: 0.9rem;
}
.bp-pkg-card__sold {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin: 0.15rem 0 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: var(--r-pill);
  font-size: 0.72rem;
  font-weight: 700;
  color: #fbbf24;
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.28);
}
.bp-pkg-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 0.55rem 0.75rem;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 55%),
    rgba(8, 10, 14, 0.72);
  transition: border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.bp-pkg-item:hover {
  border-color: var(--line-brand-soft);
  transform: translateY(-2px);
  box-shadow: var(--shadow-1);
}
.bp-pkg-item__badge {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 1;
  padding: 0.12rem 0.4rem;
  border-radius: 6px;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.1;
  color: #1a1205;
  background: linear-gradient(180deg, #f5a623, #e08910);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}
.bp-pkg-item__img {
  display: grid;
  place-content: center;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  font-size: 1rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 10px;
}
.bp-pkg-item__img img {
  max-width: 44px;
  max-height: 44px;
  object-fit: contain;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.55));
}
.bp-pkg-item__name {
  width: 100%;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}
/* compat: qty antigo */
.bp-pkg-item__qty { font-size: 0.74rem; color: var(--text-dim-2); }
.bp-pkg-plus {
  display: grid;
  place-content: center;
  width: 2.4rem;
  height: 2.4rem;
  min-height: 0;
  border: 1px solid var(--line-brand-soft);
  border-radius: 50%;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.1);
  text-decoration: none;
  transition: all var(--t-fast) var(--ease);
}
.bp-pkg-plus:hover {
  background: rgba(230, 57, 70, 0.2);
  color: var(--brand-200);
}
.bp-pkg-store { display: grid; gap: 1.4rem; }
.bp-pkg-layout--cats { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 1.5rem; align-items: start; }
@media (max-width: 760px) {
  .bp-pkg-detail { grid-template-columns: 1fr; }
  .bp-pkg-detail__media { min-height: 150px; }
  .bp-pkg-items__grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
}

/* --------------------------------------------------------------------------
   30. Doação
   -------------------------------------------------------------------------- */
/* Recarga PagHiper / Mercado Pago — tela cheia + como funciona */
.bp-donate-page {
  width: 100%;
  min-width: 0;
}
.bp-donate-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(260px, 0.9fr);
  gap: 1.15rem;
  align-items: start;
}
@media (max-width: 980px) {
  .bp-donate-page__grid {
    grid-template-columns: 1fr;
  }
}
.bp-donate-page__card {
  padding: 1.2rem 1.35rem 1.35rem;
  border-radius: 16px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  background: var(--surface, rgba(16, 18, 26, 0.92));
  box-shadow: var(--shadow-1, 0 10px 28px rgba(0, 0, 0, 0.28));
  min-width: 0;
}
.bp-donate-page__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.bp-donate-page__card-head h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #e2e8f0;
}
.bp-donate-page__card-head h3 i {
  color: #e2b15a;
}
.bp-donate-page__card--form .bp-donate-form__grid {
  max-width: none;
}
.bp-donate-page__acts {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}
.bp-donate-page__card--howto {
  border-color: rgba(226, 177, 90, 0.18);
  background:
    linear-gradient(180deg, rgba(226, 177, 90, 0.08), transparent 52%),
    var(--surface, rgba(16, 18, 26, 0.92));
}
.bp-donate-page__steps {
  margin: 0 0 1rem;
  padding-left: 1.2rem;
  display: grid;
  gap: 0.55rem;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #cbd5e1;
}
.bp-donate-page__steps li::marker {
  color: #e2b15a;
  font-weight: 800;
}
.bp-donate-page__tips {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-donate-page__tips p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #94a3b8;
  display: flex;
  gap: 0.45rem;
  align-items: flex-start;
}
.bp-donate-page__tips i {
  margin-top: 0.15rem;
  color: #e2b15a;
  flex-shrink: 0;
}

.bp-donate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
  margin-bottom: 1.6rem;
}
.bp-donate-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1.6rem 1.4rem 1.45rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  cursor: pointer;
  transition: all var(--t-med) var(--ease);
}
.bp-donate-card:hover { transform: translateY(-5px); border-color: var(--line-brand); box-shadow: var(--shadow-2), var(--glow-brand); }
/* Logos soltos — sem box vermelho; tamanho ~área do quadro da UI */
.bp-donate-card__logo {
  display: grid;
  place-content: center;
  width: 160px;
  height: 96px;
  padding: 0;
  font-size: 2.2rem;
  color: var(--brand-300);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.bp-donate-card__logo img {
  max-width: 148px;
  max-height: 88px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.45));
}
.bp-donate-card__name {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.bp-donate-card__fallback {
  display: grid;
  place-content: center;
  font-size: 2rem;
  color: var(--text-dim-2);
}
@media (max-width: 640px) {
  .bp-donate-card__logo {
    width: 140px;
    height: 84px;
  }
  .bp-donate-card__logo img {
    max-width: 128px;
    max-height: 76px;
  }
}

.bp-donate-form-wrap { max-width: 680px; margin-inline: auto; }
.bp-donate-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem 1rem;
}
@media (max-width: 640px) {
  .bp-donate-form__grid { grid-template-columns: 1fr; }
}
.bp-donate-amount {
  display: flex;
  align-items: stretch;
  border-radius: var(--r-md, 10px);
  border: 1px solid var(--line);
  overflow: hidden;
  background: rgba(0, 0, 0, 0.22);
}
.bp-donate-amount__prefix {
  display: grid;
  place-content: center;
  min-width: 2.5rem;
  color: #e2b15a;
  background: rgba(255, 255, 255, 0.04);
  border-right: 1px solid var(--line-soft);
}
.bp-donate-amount .bp-input {
  border: 0;
  background: transparent;
  border-radius: 0;
}
.bp-donate-orders { margin-top: 1.25rem; }
.bp-donate-table__money { color: #86efac; font-weight: 700; }

/* PIX PagHiper */
.bp-donate-pix {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 1.1rem;
  align-items: start;
}
@media (max-width: 820px) {
  .bp-donate-pix { grid-template-columns: 1fr; }
}
.bp-donate-pix__img-wrap {
  display: inline-block;
  padding: 0.55rem;
  border-radius: 12px;
  background: #fff;
  margin-bottom: 0.85rem;
}
.bp-donate-pix__img-wrap img {
  display: block;
  max-width: 220px;
  width: 100%;
  height: auto;
}
.bp-donate-pix__total {
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: 800;
  color: #86efac;
}
.bp-donate-pix__list {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}
.bp-donate-pix__list li {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  font-size: 0.9rem;
  color: var(--text-muted);
  line-height: 1.45;
}
.bp-donate-pix__list i {
  color: #e2b15a;
  margin-top: 0.15rem;
  flex-shrink: 0;
}
.bp-donate-pix__copy.is-copied {
  border-color: rgba(74, 222, 128, 0.55) !important;
  color: #86efac !important;
}
.bp-donate-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.1rem;
}
@media (max-width: 640px) {
  .bp-donate-form__grid {
    grid-template-columns: 1fr;
  }
}
.bp-donate-amount {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.035);
  transition: all var(--t-fast) var(--ease);
}
.bp-donate-amount:focus-within { border-color: var(--line-brand); box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.14); }
.bp-donate-amount__prefix {
  display: grid;
  place-content: center;
  padding: 0 1rem;
  font-weight: 700;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.09);
  border-right: 1px solid var(--line);
}
.bp-donate-amount input { flex: 1; padding: 0.8rem 1rem; background: transparent; border: 0; outline: none; }

.bp-donate-orders { margin-top: 1.8rem; }
.bp-donate-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.bp-donate-table th {
  padding: 0.7rem 0.9rem; text-align: left;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--brand-400); border-bottom: 1px solid var(--line-brand-soft);
}
.bp-donate-table td { padding: 0.72rem 0.9rem; border-bottom: 1px solid var(--line-soft); color: var(--text-muted); }
.bp-donate-table__money { font-family: var(--font-display); font-weight: 700; color: var(--brand-300); }

/* --------------------------------------------------------------------------
   31. Perfil (bp-profile) — layout estilo WAR + visual BRPlay
   -------------------------------------------------------------------------- */
.bp-profile__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 1.25rem;
}
.bp-profile__top--search-only {
  justify-content: flex-end;
  margin-bottom: 1rem;
}
.bp-profile__top h1 {
  margin: 0.15rem 0 0.25rem;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
}
.bp-profile__search {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  max-width: 320px;
  width: 100%;
  margin-left: auto;
}
.bp-profile__search input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.28);
  color: var(--text);
  font-size: 0.88rem;
}
.bp-profile__search button {
  display: grid;
  place-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.15);
  color: var(--brand-300);
  cursor: pointer;
}
.bp-profile__search-err {
  width: 100%;
  margin: 0;
  color: #ff8ba0;
  font-size: 0.82rem;
  font-weight: 600;
}

.bp-profile__grid {
  display: grid;
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  gap: 1.35rem;
  align-items: start;
}
.bp-profile__main,
.bp-profile__side {
  min-width: 0;
  display: grid;
  gap: 1rem;
  align-content: start;
}
.bp-profile__side {
  position: sticky;
  top: calc(var(--rail-h, 64px) + 12px);
}

.bp-profile__card {
  padding: 1.25rem 1.3rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
}
.bp-profile__card--center { text-align: center; }
.bp-profile__hero {
  padding-top: 1.5rem;
  padding-bottom: 1.35rem;
}

/* Avatar de classe (class_char) */
.bp-profile__avatar-wrap {
  position: relative;
  display: inline-block;
  margin-bottom: 0.85rem;
}
.bp-profile__avatar-wrap--class {
  width: 148px;
  height: 148px;
}
.bp-profile__avatar {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 24px;
  border: 1px solid var(--line-brand);
  box-shadow: var(--glow-brand);
}
.bp-profile__avatar--class {
  width: 148px;
  height: 148px;
  object-fit: contain;
  object-position: center bottom;
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% 30%, rgba(96, 165, 250, 0.18), transparent 65%),
    linear-gradient(165deg, rgba(28, 32, 42, 0.98), rgba(10, 12, 18, 0.99));
  border: 2px solid rgba(148, 163, 184, 0.28);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}
/* Badge RR compacto (não quebra o avatar) */
.bp-profile__meta-row {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0.15rem;
}
.bp-profile__rr-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  max-width: 100%;
  padding: 0.28rem 0.65rem;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.2;
  color: #fff;
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
  border-radius: 999px;
  box-shadow: 0 3px 10px rgba(179, 36, 52, 0.35);
  white-space: nowrap;
}
.bp-profile__rr-pill em {
  font-style: normal;
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  opacity: 0.9;
}
.bp-profile__name {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--text);
  word-break: break-word;
  line-height: 1.2;
}
.bp-profile__class {
  margin: 0.25rem 0 0.55rem;
  color: var(--brand-300);
  font-size: 0.9rem;
  font-weight: 600;
}
.bp-profile__kicker {
  margin: 0 0 0.3rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-profile__status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.28rem 0.7rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(0, 0, 0, 0.25);
  white-space: nowrap;
}
.bp-profile__status i { font-size: 0.55rem; }
.bp-profile__status.is-on {
  color: #86efac;
  border-color: rgba(74, 222, 128, 0.35);
  background: rgba(34, 197, 94, 0.1);
}
.bp-profile__status.is-on i { color: #4ade80; }
.bp-profile__status.is-off {
  color: var(--text-dim-2);
}
.bp-profile__status.is-off i { color: #64748b; }

/* Guild banner (estilo WAR) */
.bp-profile__guild-banner {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.2rem;
  text-decoration: none;
  color: inherit;
  background: linear-gradient(120deg, rgba(230, 57, 70, 0.1), rgba(15, 17, 24, 0.6) 45%, var(--surface));
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
  transition: border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.bp-profile__guild-banner:hover {
  color: inherit;
  border-color: var(--line-brand);
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
}
.bp-profile__guild-logo--lg {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line-brand-soft);
  display: grid;
  place-content: center;
  background: rgba(0, 0, 0, 0.3);
}
.bp-profile__guild-info { flex: 1 1 auto; min-width: 0; }
.bp-profile__guild-info h3 {
  margin: 0 0 0.2rem;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--text);
}
.bp-profile__guild-info span {
  font-size: 0.82rem;
  color: var(--text-muted);
}
.bp-profile__guild-info strong { color: var(--text); }
.bp-profile__guild-go {
  color: var(--brand-300);
  opacity: 0.8;
  flex: 0 0 auto;
}

.bp-profile__stats { display: grid; gap: 0; padding-top: 0.85rem; padding-bottom: 0.85rem; }
.bp-profile__stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.55rem 0.15rem;
  font-size: 0.88rem;
  border-bottom: 1px solid var(--line-soft);
}
.bp-profile__stat:last-child,
.bp-profile__stat.is-last { border-bottom: 0; }
.bp-profile__stat span:first-child { color: var(--text-dim-2); font-weight: 600; }
.bp-profile__stat strong { font-weight: 800; color: var(--text); text-align: right; }
.bp-profile__stat-map {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.1rem;
  color: #6ee7b7;
  font-size: 0.84rem;
}
.bp-profile__stat-map em {
  font-style: normal;
  font-size: 0.72rem;
  color: #f0d78c;
  font-weight: 700;
}
/* divider removido do fluxo padrão (evita linha dupla após Mapa) */
.bp-profile__stat-divider { display: none; }

.bp-profile__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1rem;
}
.bp-profile__tab {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 1.1rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.03);
  cursor: pointer;
  transition: all var(--t-fast) var(--ease);
}
.bp-profile__tab i { font-size: 0.78rem; opacity: 0.85; }
.bp-profile__tab:hover { color: var(--text); border-color: var(--line-brand-soft); }
.bp-profile__tab.is-active {
  color: #ffffff;
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
  border-color: transparent;
  box-shadow: 0 4px 16px rgba(230, 57, 70, 0.28);
}
.bp-profile__panes {
  min-width: 0;
  overflow: visible;
}
.bp-profile__pane {
  display: none;
  overflow: visible;
}
.bp-profile__pane.is-active {
  display: block;
  animation: bp-fade-up 0.35s var(--ease-out);
}
.bp-profile__pane[hidden] {
  display: none !important;
}

@media (max-width: 900px) {
  .bp-profile__grid { grid-template-columns: 1fr; }
  .bp-profile__side { position: static; }
}

/* Bloquear Perfil — loja de pacotes (painel do char) */
.bp-profile-block {
  padding: 1.25rem 1.3rem 1.4rem;
  text-align: left;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-profile-block__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.bp-profile-block__balance {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.15rem;
  padding: 0.65rem 0.9rem;
  border-radius: 12px;
  border: 1px solid rgba(226, 177, 90, 0.35);
  background: rgba(226, 177, 90, 0.08);
  min-width: 140px;
}
.bp-profile-block__balance span {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-profile-block__balance strong {
  font-size: 1.15rem;
  font-weight: 800;
  color: #f0d78c;
}
.bp-profile-block__balance em {
  font-style: normal;
  font-size: 0.68rem;
  color: var(--text-dim-2);
}
.bp-profile-block__active {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin: 0 0 1rem;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(74, 222, 128, 0.35);
  background: rgba(74, 222, 128, 0.08);
}
.bp-profile-block__active > i {
  margin-top: 0.15rem;
  color: #4ade80;
  font-size: 1.15rem;
}
.bp-profile-block__active strong {
  display: block;
  font-size: 0.92rem;
  font-weight: 800;
  color: #86efac;
}
.bp-profile-block__active span {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.86rem;
  color: var(--text-muted);
}
.bp-profile-block__active em {
  display: block;
  margin-top: 0.25rem;
  font-style: normal;
  font-size: 0.78rem;
  color: var(--text-dim-2);
}
.bp-profile-block__hint {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  padding: 0.75rem 0.9rem;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: rgba(0, 0, 0, 0.22);
  margin-bottom: 1rem;
}
.bp-profile-block__hint i {
  color: #38bdf8;
  margin-top: 0.15rem;
  flex: 0 0 auto;
}
.bp-profile-block__hint strong {
  display: block;
  font-size: 0.88rem;
  color: var(--text);
  margin-bottom: 0.2rem;
}
.bp-profile-block__hint p {
  margin: 0;
  font-size: 0.8rem;
  color: var(--text-muted);
  line-height: 1.4;
}
.bp-profile-block__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.85rem;
}
.bp-profile-block__card {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1rem 1.05rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.2);
}
.bp-profile-block__ico {
  display: grid;
  place-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(230, 57, 70, 0.12);
  color: var(--brand-300);
  border: 1px solid var(--line-brand-soft);
}
.bp-profile-block__img img {
  width: 100%;
  max-height: 100px;
  object-fit: contain;
  border-radius: 8px;
}
.bp-profile-block__card h4 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: var(--text);
}
.bp-profile-block__desc {
  margin: 0;
  font-size: 0.8rem;
  color: var(--text-muted);
  line-height: 1.35;
}
.bp-profile-block__meta {
  list-style: none;
  margin: 0.25rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.3rem;
}
.bp-profile-block__meta li {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.78rem;
  padding: 0.3rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.bp-profile-block__meta span { color: var(--text-dim-2); }
.bp-profile-block__meta strong { color: var(--text); font-weight: 700; }
.bp-profile-block__pay {
  margin-top: 0.25rem;
  font-size: 0.75rem;
}
.bp-profile-block__pay em {
  font-style: normal;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.bp-profile-block__pay .is-ok { color: #86efac; }
.bp-profile-block__pay .is-alt { color: #f0d78c; }
.bp-profile-block__pay .is-bad { color: #fca5a5; }
.bp-profile-block__btn {
  margin-top: 0.45rem;
  width: 100%;
  justify-content: center;
}
.bp-profile__blocked {
  text-align: center;
  padding: 2.2rem 1.5rem 2.4rem;
  color: var(--text-dim-2);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-profile__blocked h2 {
  margin: 0 0 0.5rem;
  color: var(--text);
  font-size: 1.35rem;
}
.bp-profile__blocked-msg {
  font-size: 1rem;
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  justify-content: center;
}
.bp-profile__blocked-msg i { color: #f0b429; }

/* Perfil bloqueado — layout normal + cadeados */
.bp-profile__lock-only {
  display: flex;
  justify-content: center;
  padding: 1.5rem 0 2rem;
}
.bp-profile__lock-banner {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  margin: 0 0 1.15rem;
  padding: 0.95rem 1.15rem;
  border-radius: var(--r-lg);
  border: 1px solid rgba(240, 180, 41, 0.35);
  background:
    linear-gradient(135deg, rgba(240, 180, 41, 0.1), rgba(0, 0, 0, 0.2)),
    var(--surface);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.bp-profile__lock-banner--solo {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.75rem 1.5rem 1.6rem;
}
.bp-profile__lock-banner--solo .bp-profile__lock-banner-ico {
  width: 56px;
  height: 56px;
  font-size: 1.35rem;
  margin-bottom: 0.35rem;
}
.bp-profile__lock-banner--solo .bp-profile__lock-banner-body {
  align-items: center;
}
.bp-profile__lock-char {
  display: block;
  margin: 0.35rem 0 0.15rem;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--text);
  letter-spacing: 0.02em;
}
.bp-profile__lock-banner--solo .bp-profile__protect-link {
  margin-top: 0.85rem;
}
.bp-profile__lock-banner-ico {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  display: grid;
  place-content: center;
  border-radius: 12px;
  background: rgba(240, 180, 41, 0.14);
  border: 1px solid rgba(240, 180, 41, 0.3);
  color: #f0b429;
  font-size: 1.05rem;
}
.bp-profile__lock-banner-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.bp-profile__lock-banner-body strong {
  font-size: 0.95rem;
  font-weight: 800;
  color: #f5d78e;
  letter-spacing: 0.02em;
}
.bp-profile__lock-banner-body span {
  font-size: 0.86rem;
  color: var(--text-muted);
}
.bp-profile__lock-banner-body em {
  font-style: normal;
  font-size: 0.78rem;
  color: var(--text-dim-2);
  margin-top: 0.15rem;
}
.bp-profile__lock-banner--owner {
  border-color: rgba(56, 189, 248, 0.35);
  background:
    linear-gradient(135deg, rgba(56, 189, 248, 0.1), rgba(0, 0, 0, 0.2)),
    var(--surface);
}
.bp-profile__lock-banner--owner .bp-profile__lock-banner-ico {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border-color: rgba(56, 189, 248, 0.3);
}
.bp-profile__lock-banner--owner .bp-profile__lock-banner-body strong {
  color: #7dd3fc;
}
.bp-profile__protect-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.55rem;
  padding: 0.4rem 0.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: #f5d78e;
  text-decoration: none;
  border-radius: 999px;
  border: 1px solid rgba(240, 180, 41, 0.35);
  background: rgba(240, 180, 41, 0.08);
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.bp-profile__protect-link:hover {
  color: #fff;
  border-color: rgba(240, 180, 41, 0.55);
  background: rgba(240, 180, 41, 0.16);
}
.bp-profile__protect-link .fa-arrow-right { font-size: 0.7rem; opacity: 0.85; }
.bp-profile__locked-pane-ico {
  width: 56px;
  height: 56px;
  margin: 0 auto 0.75rem;
  display: grid;
  place-content: center;
  border-radius: 16px;
  font-size: 1.35rem;
  color: #f0b429;
  background: rgba(240, 180, 41, 0.1);
  border: 1px solid rgba(240, 180, 41, 0.35);
}
.bp-profile__locked-pane > i { display: none; }
.bp-profile__protect-btn {
  margin-top: 0.35rem;
  justify-content: center;
}
.bp-profile__protect-hint {
  display: block;
  margin-top: 0.65rem;
  font-size: 0.75rem;
  color: var(--text-dim-2);
}
.bp-profile__lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(240, 180, 41, 0.85);
  font-size: 0.85rem;
  min-width: 1.1rem;
}
.bp-profile__lock--inline {
  gap: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-dim-2);
}
.bp-profile__lock--inline i { color: #f0b429; }
.bp-profile__avatar-wrap { position: relative; }
.bp-profile__avatar-lock {
  position: absolute;
  right: 6px;
  bottom: 6px;
  width: 32px;
  height: 32px;
  display: grid;
  place-content: center;
  border-radius: 999px;
  background: rgba(12, 14, 20, 0.88);
  border: 1px solid rgba(240, 180, 41, 0.45);
  color: #f0b429;
  font-size: 0.78rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.bp-profile__hero.is-locked .bp-profile__avatar {
  filter: saturate(0.75) brightness(0.92);
}
.bp-profile__stat.is-locked strong {
  color: rgba(240, 180, 41, 0.75);
}
.bp-profile__rr-pill.is-locked {
  opacity: 0.85;
  gap: 0.25rem;
  color: #f0b429;
}
.bp-profile__guild-banner--locked {
  pointer-events: none;
  opacity: 0.9;
  border-style: dashed;
  cursor: default;
}
.bp-profile__locked-slot {
  display: grid !important;
  place-content: center;
  color: rgba(240, 180, 41, 0.7);
  font-size: 1.25rem;
  background: rgba(0, 0, 0, 0.25) !important;
}
.bp-profile__tab-lock {
  margin-left: 0.3rem;
  font-size: 0.68rem;
  color: #f0b429;
  opacity: 0.9;
}
.bp-profile__locked-pane {
  text-align: center;
  padding: 1.5rem 1rem 1.75rem;
  border-radius: var(--r-lg);
  border: 1px dashed rgba(240, 180, 41, 0.28);
  background: rgba(0, 0, 0, 0.18);
}
.bp-profile__locked-pane > i {
  display: block;
  font-size: 1.6rem;
  color: #f0b429;
  margin-bottom: 0.55rem;
  opacity: 0.9;
}
.bp-profile__locked-pane strong {
  display: block;
  font-size: 1rem;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 0.3rem;
}
.bp-profile__locked-pane p {
  margin: 0 auto 1rem;
  max-width: 360px;
  font-size: 0.86rem;
  color: var(--text-dim-2);
}
.bp-profile__locked-pane .bp-eqg,
.bp-profile__locked-pane .bp-inv {
  opacity: 0.55;
  pointer-events: none;
  filter: grayscale(0.25);
}

/* Badge bloqueio no painel / lista de chars */
.bp-profile-lock-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.22rem 0.55rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 999px;
  color: #f5d78e;
  background: rgba(240, 180, 41, 0.12);
  border: 1px solid rgba(240, 180, 41, 0.35);
  white-space: nowrap;
  line-height: 1.2;
}
.bp-profile-lock-badge i { font-size: 0.7rem; }
.bp-profile-lock-badge--sm {
  padding: 0.15rem 0.45rem;
  font-size: 0.62rem;
}
.bp-char-info__meta .bp-profile-lock-badge { margin-top: 0.55rem; }
.bp-char-info__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.65rem;
}
.bp-dash__char-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.2rem;
}
.bp-dash__char.is-profile-locked {
  border-color: rgba(240, 180, 41, 0.28);
}
.bp-dash__char.is-profile-locked .bp-dash__char-ico {
  position: relative;
}
.bp-dash__char.is-profile-locked .bp-dash__char-ico::after {
  content: "\f023";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 18px;
  height: 18px;
  display: grid;
  place-content: center;
  font-size: 0.58rem;
  border-radius: 999px;
  background: rgba(12, 14, 20, 0.92);
  border: 1px solid rgba(240, 180, 41, 0.5);
  color: #f0b429;
}

.bp-profile--guild .bp-profile__guild-hero {
  display: flex;
  align-items: center;
  gap: 1.3rem;
  padding: 1.6rem;
  background: var(--surface);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
  margin-bottom: 1.4rem;
}
.bp-profile__guild-info { min-width: 0; }
.bp-profile__guild-kpis { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.8rem; }
.bp-profile__guild-kpis span {
  padding: 0.35rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-muted);
}

/* ==========================================================================
   Equipamento — paperdoll MU (proporção harmônica)
     pet · helm · wings
     weapon · pendant · armor · shield
     gloves · ring · pants · ring · boots
   ========================================================================== */
.bp-eqg {
  /* Um tamanho-base para slots grandes; sm para pet/colar/aneis */
  --eq-lg: 88px;
  --eq-sm: 42px;
  --eq-gap-x: 14px;
  --eq-gap-y: 18px;
  --eq-item: 60%; /* mesma base do centro (armadura) */

  padding: 1.15rem 1.2rem 1.4rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: visible; /* armas longas não perdem a ponta/base no card */
}
.bp-eqg__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 1rem;
}
.bp-eqg__head h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.bp-eqg__head h3 i { color: var(--brand-300); }
.bp-eqg__head-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.bp-eqg__sub {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-dim-2);
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(0, 0, 0, 0.2);
}
.bp-eqg__wrap {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 0.35rem 0 0.25rem;
}

/*
 * Grid simétrico 5×3
 * Colunas iguais; asas só um pouco maiores no próprio slot
 */
.bp-eqg__board {
  display: grid;
  grid-template-columns:
    var(--eq-lg)
    var(--eq-sm)
    var(--eq-lg)
    var(--eq-sm)
    var(--eq-lg);
  /* Linha do meio mais alta: armas L/R (slot 1.28×) cabem sem cortar */
  grid-template-rows: var(--eq-lg) calc(var(--eq-lg) * 1.32) var(--eq-lg);
  grid-template-areas:
    "pet    .      helm   .      wings"
    "weapon pend   armor  .      shield"
    "gloves ring1  pants  ring2  boots";
  column-gap: var(--eq-gap-x);
  row-gap: var(--eq-gap-y);
  align-items: center;
  justify-items: center;
  width: max-content;
  max-width: 100%;
  padding: 0.7rem 0.55rem 0.85rem;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
}

.bp-eqg__slot--pet     { grid-area: pet; }
.bp-eqg__slot--helm    { grid-area: helm; }
.bp-eqg__slot--wings   { grid-area: wings; }
.bp-eqg__slot--weapon  { grid-area: weapon; }
.bp-eqg__slot--pendant { grid-area: pend; }
.bp-eqg__slot--armor   { grid-area: armor; }
.bp-eqg__slot--shield  { grid-area: shield; }
.bp-eqg__slot--gloves  { grid-area: gloves; }
.bp-eqg__slot--ring1   { grid-area: ring1; }
.bp-eqg__slot--pants   { grid-area: pants; }
.bp-eqg__slot--ring2   { grid-area: ring2; }
.bp-eqg__slot--boots   { grid-area: boots; }

/* —— Slot base (todos os grandes iguais) —— */
.bp-eqg__slot {
  position: relative;
  display: grid;
  place-items: center;
  width: var(--eq-lg);
  height: var(--eq-lg);
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  /* visible: não corta o rodapé do sprite (espada/calça/botas) */
  overflow: visible;
  isolation: isolate;
  z-index: 1;
  transition: transform var(--t-fast) var(--ease), filter var(--t-fast) var(--ease);
}
.bp-eqg__slot > * {
  grid-area: 1 / 1;
  max-width: 100%;
  max-height: 100%;
}

/* Pequenos: pet / colar / anéis (mesma base) */
.bp-eqg__slot--sm,
.bp-eqg__slot--pet,
.bp-eqg__slot--pendant,
.bp-eqg__slot--ring1,
.bp-eqg__slot--ring2 {
  width: var(--eq-sm);
  height: var(--eq-sm);
}

/* PET: um pouco menor (encaixe) */
.bp-eqg__slot--pet {
  width: calc(var(--eq-sm) * 1.08);
  height: calc(var(--eq-sm) * 1.08);
}

/* Asas: um pouco maior (mesma proporção inversa do ajuste de elmo/calça/etc.) */
.bp-eqg__slot--wings {
  width: calc(var(--eq-lg) * 1.24);
  height: calc(var(--eq-lg) * 1.24);
}

/*
 * Linha CENTRAL (weapon · pendant · armor · shield):
 * sobe em bloco — topo e rodapé intactos
 */
.bp-eqg__slot--weapon,
.bp-eqg__slot--pendant,
.bp-eqg__slot--armor,
.bp-eqg__slot--shield {
  transform: translateY(-18px);
}

/* Colar no vão */
.bp-eqg__slot--pendant {
  transform: translateY(-28px);
  z-index: 2;
}
/* Anéis */
.bp-eqg__slot--ring1,
.bp-eqg__slot--ring2 {
  transform: translateY(-12px);
  z-index: 2;
}

/* =================================================================
   ARMAS L / R — 1º quadro (ghost), 2º item (sobre o quadro)
   Mesma altura, mesma caixa, imagem completa (sem corte)
   ================================================================= */
.bp-eqg__slot--weapon,
.bp-eqg__slot--shield {
  width: var(--eq-lg);
  height: calc(var(--eq-lg) * 1.28);
  max-height: none;
  /* não usa grid stack genérico: camadas absolutas */
  display: block;
  position: relative;
  overflow: visible; /* não corta ponta/base */
  place-items: unset;
}
.bp-eqg__slot--weapon > *,
.bp-eqg__slot--shield > * {
  grid-area: unset;
  max-width: none;
  max-height: none;
}

/* 1) Imagem do quadro (silhueta) — preenche o slot */
.bp-eqg__slot--weapon .bp-eqg__ghost-img,
.bp-eqg__slot--shield .bp-eqg__ghost-img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 92%;
  height: 92%;
  object-fit: contain;
  object-position: center center;
  z-index: 1;
  margin: 0;
  padding: 0;
  opacity: 0.9;
  align-self: unset;
}
.bp-eqg__slot--weapon.has-item .bp-eqg__ghost-img,
.bp-eqg__slot--shield.has-item .bp-eqg__ghost-img {
  opacity: 0.42;
  filter: none; /* sem brightness — não lava a cor do item */
}

/* 2) Item — centralizado no quadro, L = R, sprite inteiro */
.bp-eqg__slot--weapon .bp-eqg__item,
.bp-eqg__slot--shield .bp-eqg__item {
  position: absolute;
  left: 50%;
  top: 50%;
  /* -54% no Y sobe levemente o visual (base MU costuma “pesar” embaixo) */
  transform: translate(-50%, -54%);
  width: auto;
  height: auto;
  max-width: 62%;
  max-height: 78%;
  object-fit: contain;
  object-position: center center;
  align-self: unset;
  justify-self: unset;
  margin: 0;
  padding: 0;
  z-index: 2;
}
/* +N das armas */
.bp-eqg__slot--weapon .bp-eqg__lv,
.bp-eqg__slot--shield .bp-eqg__lv {
  position: absolute;
  right: 2px;
  bottom: 2px;
  z-index: 3;
  transform: none;
}

.bp-eqg__slot--weapon.has-item:hover,
.bp-eqg__slot--shield.has-item:hover {
  transform: translateY(-20px);
  /* box-shadow no slot (não filter) para não alterar cores do item */
  box-shadow: 0 0 14px rgba(230, 57, 70, 0.18);
  z-index: 3;
}

/* —— Ghost (slots normais) —— */
.bp-eqg__ghost-img {
  display: block;
  width: 88%;
  height: 88%;
  object-fit: contain;
  object-position: center;
  opacity: 0.88;
  filter: none; /* silhueta sem filter — não interfere nas cores do item */
  pointer-events: none;
  user-select: none;
  z-index: 1;
}
.bp-eqg__slot--pet .bp-eqg__ghost-img,
.bp-eqg__slot--pendant .bp-eqg__ghost-img,
.bp-eqg__slot--ring1 .bp-eqg__ghost-img,
.bp-eqg__slot--ring2 .bp-eqg__ghost-img {
  width: 92%;
  height: 92%;
}
.bp-eqg__slot--wings .bp-eqg__ghost-img {
  width: 98%;
  height: 98%;
}

/* —— Com item (slots normais) —— */
.bp-eqg__slot.has-item { cursor: pointer; }
/* Ghost com item: um pouco mais visível (quadro do slot) */
.bp-eqg__slot.has-item .bp-eqg__ghost-img {
  opacity: 0.4;
  filter: none;
}
.bp-eqg__slot.has-item:hover {
  z-index: 3;
  box-shadow: 0 0 12px rgba(230, 57, 70, 0.16);
  filter: none;
}
.bp-eqg__slot--armor.has-item:hover {
  transform: translateY(-20px) scale(1.03);
}
.bp-eqg__slot--pendant.has-item:hover {
  transform: translateY(-30px) scale(1.05);
}
.bp-eqg__slot--ring1.has-item:hover,
.bp-eqg__slot--ring2.has-item:hover {
  transform: translateY(-14px) scale(1.05);
}
.bp-eqg__slot.has-item:hover:not(.bp-eqg__slot--weapon):not(.bp-eqg__slot--shield):not(.bp-eqg__slot--armor):not(.bp-eqg__slot--pendant):not(.bp-eqg__slot--ring1):not(.bp-eqg__slot--ring2) {
  transform: translateY(-2px) scale(1.03);
}

/* —— Item: cores originais (sem filter/brightness) —— */
.bp-eqg__item {
  display: block;
  width: var(--eq-item);
  height: var(--eq-item);
  max-width: var(--eq-item);
  max-height: var(--eq-item);
  object-fit: contain;
  object-position: center center;
  filter: none;
  /* sombra sem alterar a cor do sprite */
  box-shadow: none;
  -webkit-filter: none;
  pointer-events: auto;
  z-index: 2;
  box-sizing: border-box;
  image-rendering: auto;
}
/* Pet / colar / anéis */
.bp-eqg__slot--pet .bp-eqg__item,
.bp-eqg__slot--pendant .bp-eqg__item,
.bp-eqg__slot--ring1 .bp-eqg__item,
.bp-eqg__slot--ring2 .bp-eqg__item {
  width: 76%;
  height: 76%;
  max-width: 76%;
  max-height: 76%;
}
/* Centro (armadura) — base OK */
.bp-eqg__slot--armor .bp-eqg__item {
  width: var(--eq-item);
  height: var(--eq-item);
  max-width: var(--eq-item);
  max-height: var(--eq-item);
}
/* Elmo / luvas / calça / botas / pet — levemente menores p/ encaixar no quadro */
.bp-eqg__slot--helm .bp-eqg__item,
.bp-eqg__slot--gloves .bp-eqg__item,
.bp-eqg__slot--pants .bp-eqg__item,
.bp-eqg__slot--boots .bp-eqg__item {
  width: 52%;
  height: 52%;
  max-width: 52%;
  max-height: 52%;
}
.bp-eqg__slot--pet .bp-eqg__item {
  width: 70%;
  height: 70%;
  max-width: 70%;
  max-height: 70%;
}
/* Ghost um pouco menor nesses slots vazios também */
.bp-eqg__slot--helm .bp-eqg__ghost-img,
.bp-eqg__slot--gloves .bp-eqg__ghost-img,
.bp-eqg__slot--pants .bp-eqg__ghost-img,
.bp-eqg__slot--boots .bp-eqg__ghost-img {
  width: 78%;
  height: 78%;
}
.bp-eqg__slot--pet .bp-eqg__ghost-img {
  width: 86%;
  height: 86%;
}
/* Asas — item/silhueta um pouco maiores */
.bp-eqg__slot--wings .bp-eqg__item {
  width: 76%;
  height: 76%;
  max-width: 76%;
  max-height: 76%;
}

.bp-eqg__lv {
  position: absolute;
  right: 3px;
  bottom: 3px;
  z-index: 3;
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  color: #f0c674;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.95), 0 0 6px rgba(0, 0, 0, 0.6);
  pointer-events: none;
}

@media (max-width: 480px) {
  .bp-eqg {
    --eq-lg: 70px;
    --eq-sm: 34px;
    --eq-gap-x: 8px;
    --eq-gap-y: 12px;
    padding: 1rem 0.75rem 1.1rem;
  }
  .bp-eqg__board { padding: 0.4rem 0.25rem 0.5rem; }
  .bp-eqg__slot--weapon,
  .bp-eqg__slot--armor,
  .bp-eqg__slot--shield { transform: translateY(-12px); }
  .bp-eqg__slot--pendant { transform: translateY(-18px); }
  .bp-eqg__slot--ring1,
  .bp-eqg__slot--ring2 { transform: translateY(-8px); }
}
@media (min-width: 900px) {
  .bp-eqg {
    --eq-lg: 96px;
    --eq-sm: 46px;
    --eq-gap-x: 16px;
    --eq-gap-y: 20px;
  }
}

/* Marketplace: board sem card duplo */
.bp-mp-gear--board {
  display: block;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.bp-mp-gear--board .bp-eqg {
  margin: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(56, 120, 180, 0.08), transparent 70%),
    var(--surface);
}
.bp-mp-gear[hidden] {
  display: none !important;
}

/* Fight */
.bp-fight {
  padding: 1.25rem 1.3rem 1.4rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-fight__head {
  margin-bottom: 1rem;
}
.bp-fight__head h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.bp-fight__head h3 i { color: var(--brand-300); }
.bp-fight__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}
.bp-fight__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  padding: 1.35rem 1rem;
  text-align: center;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
}
.bp-fight__card i { font-size: 1.75rem; }
.bp-fight__card strong {
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.1;
}
.bp-fight__card span {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-fight__card--ok {
  border-left: 3px solid #2ecc71;
}
.bp-fight__card--ok i { color: #2ecc71; }
.bp-fight__card--bad {
  border-left: 3px solid #e74c3c;
}
.bp-fight__card--bad i { color: #e74c3c; }
@media (max-width: 560px) {
  .bp-fight__grid { grid-template-columns: 1fr; }
}

/* Achievements — painéis + badges (classes novas, sem conflito legado) */
.bp-ach-panel {
  padding: 1.15rem 1.2rem 1.3rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  overflow: visible;
}
.bp-ach-panel__head { margin-bottom: 0.9rem; }
.bp-ach-panel__head h3 {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--text);
}
.bp-ach-panel__head h3 i { color: #e2b15a; }
.bp-ach-panel__head p { margin: 0; font-size: 0.82rem; }
.bp-ach-panel__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem 1rem;
  align-items: flex-start;
}
.bp-ach-badge {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 92px;
  flex: 0 0 92px;
  cursor: default;
  transition: transform var(--t-fast) var(--ease);
}
.bp-ach-badge:hover { transform: translateY(-3px); z-index: 5; }
.bp-ach-badge__icon {
  display: grid;
  place-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 0.4rem;
  font-size: 1.3rem;
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: #64748b;
}
.bp-ach-badge.is-on .bp-ach-badge__icon {
  color: #e2b15a;
  border-color: rgba(226, 177, 90, 0.45);
  background: rgba(226, 177, 90, 0.08);
  box-shadow: 0 4px 16px rgba(226, 177, 90, 0.12);
}
.bp-ach-badge__title {
  font-size: 0.7rem;
  font-weight: 700;
  text-align: center;
  color: var(--text-dim-2);
  line-height: 1.25;
}
.bp-ach-badge.is-on .bp-ach-badge__title { color: var(--text-muted); }
.bp-ach-badge__tip {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  bottom: 112%;
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  width: max-content;
  max-width: 230px;
  padding: 0.75rem 0.85rem;
  border-radius: 10px;
  border: 1px solid rgba(226, 177, 90, 0.3);
  background: #161920;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.85);
  z-index: 50;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  text-align: center;
}
.bp-ach-badge:hover .bp-ach-badge__tip {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.bp-ach-badge__tip strong {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  color: #e2b15a;
  text-transform: uppercase;
}
.bp-ach-badge__tip em {
  display: block;
  font-style: normal;
  font-size: 0.78rem;
  color: #cbd5e1;
  line-height: 1.35;
}
.bp-ach-badge__tip small {
  display: block;
  margin-top: 0.45rem;
  padding-top: 0.45rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.bp-ach-badge__tip small.is-on { color: #2ecc71; }
.bp-ach-badge__tip small.is-off { color: #e74c3c; }

/* --------------------------------------------------------------------------
   32. Tickets / Chat (HelpDesk)
   -------------------------------------------------------------------------- */
.bp-tk-list { display: grid; gap: 0.8rem; }
.bp-tk-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.05rem 1.2rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  transition: all var(--t-fast) var(--ease);
}
.bp-tk-item:hover { border-color: var(--line-brand-soft); transform: translateX(4px); }
.bp-tk-item__avatar {
  display: grid;
  place-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  font-size: 1rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 12px;
}
.bp-tk-item__top { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; }
.bp-tk-item__subject { font-weight: 700; color: var(--text); }
.bp-tk-item__body { flex: 1; min-width: 0; }
.bp-tk-item__meta { font-size: 0.78rem; color: var(--text-dim-2); margin-top: 0.2rem; }
.bp-tk-item__go { margin-left: auto; color: var(--text-dim-2); transition: all var(--t-fast); }
.bp-tk-item:hover .bp-tk-item__go { color: var(--brand-300); transform: translateX(3px); }
.bp-tk-status {
  padding: 0.22rem 0.7rem;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: var(--r-pill);
  border: 1px solid var(--line);
  color: var(--text-muted);
}
.bp-tk-status--open, .bp-tk-status.is-on { color: #7ddb9c; border-color: rgba(80, 200, 120, 0.4); background: rgba(80, 200, 120, 0.08); }
.bp-tk-status--closed, .bp-tk-status.is-off { color: #ff8ba0; border-color: rgba(227, 56, 85, 0.35); background: rgba(227, 56, 85, 0.07); }
/* Novo ticket: regras à esquerda + formulário em largura total */
.bp-tk-create {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 1.25rem 1.5rem;
  align-items: start;
  margin-bottom: 1.4rem;
  width: 100%;
}
.bp-tk-form {
  max-width: none;
  width: 100%;
  min-width: 0;
}
.bp-tk-form .bp-form-group,
.bp-tk-form .bp-input,
.bp-tk-form textarea.bp-input,
.bp-tk-form select.bp-input {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
.bp-tk-form textarea.bp-input {
  min-height: 180px;
}
.bp-tk-rules {
  padding: 1.2rem 1.3rem;
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
  background: rgba(230, 57, 70, 0.05);
  margin: 0;
}
.bp-tk-rules__title { margin: 0 0 0.7rem; font-size: 0.82rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brand-400); }
.bp-tk-rules ul { display: grid; gap: 0.45rem; font-size: 0.88rem; color: var(--text-muted); }
.bp-tk-rules li { display: flex; gap: 0.55rem; }
.bp-tk-rules li::before { content: '•'; color: var(--brand-500); }
@media (max-width: 900px) {
  .bp-tk-create { grid-template-columns: 1fr; }
}
.bp-tk-empty { padding: 3rem 1.4rem; text-align: center; color: var(--text-dim-2); }
.bp-tk-empty__icon { font-size: 2.2rem; color: var(--brand-600); margin-bottom: 0.8rem; }

/* Chat */
.bp-chat-shell { display: grid; gap: 1.2rem; }
.bp-chat-head {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 1.1rem 1.3rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-chat-head__dept { font-weight: 700; }
.bp-chat-thread {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.3rem;
  background: rgba(255, 255, 255, 0.015);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  max-height: 560px;
  overflow-y: auto;
}
.bp-chat-row { display: flex; gap: 0.75rem; align-items: flex-end; }
.bp-chat-row--admin { flex-direction: row-reverse; }
.bp-chat-avatar {
  display: grid;
  place-content: center;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  font-size: 0.82rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.09);
  border: 1px solid var(--line-brand-soft);
  border-radius: 50%;
}
.bp-chat-avatar--admin, .bp-chat-row--admin .bp-chat-avatar { color: var(--emerald-300); background: rgba(47, 174, 110, 0.09); border-color: rgba(47, 174, 110, 0.3); }
.bp-chat-col { display: flex; flex-direction: column; gap: 0.25rem; max-width: 74%; }
.bp-chat-row--admin .bp-chat-col { align-items: flex-end; }
.bp-chat-author { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-dim-2); }
.bp-chat-author--staff { color: var(--emerald-300); }
.bp-chat-bubble {
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px 14px 14px 4px;
}
.bp-chat-bubble--admin, .bp-chat-row--admin .bp-chat-bubble {
  background: linear-gradient(160deg, rgba(47, 174, 110, 0.14), rgba(47, 174, 110, 0.05));
  border-color: rgba(47, 174, 110, 0.28);
  border-radius: 14px 14px 4px 14px;
}
.bp-chat-meta { display: flex; gap: 0.5rem; align-items: center; }
.bp-chat-time { font-size: 0.7rem; color: var(--text-dim-2); }
.bp-chat-attach { font-size: 0.78rem; color: var(--emerald-300); }
.bp-chat-closed {
  padding: 0.8rem 1.1rem;
  text-align: center;
  font-size: 0.84rem;
  color: var(--text-dim-2);
  border: 1px dashed var(--line);
  border-radius: var(--r-md);
}
.bp-chat-composer__bar { display: flex; gap: 0.6rem; align-items: flex-end; }
.bp-chat-composer__input { flex: 1; }
.bp-chat-composer__file {
  display: grid;
  place-content: center;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  color: var(--text-muted);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
  transition: all var(--t-fast);
}
.bp-chat-composer__file:hover { color: var(--brand-300); border-color: var(--line-brand-soft); }

/* --------------------------------------------------------------------------
   33. FAQ / Comandos / Termos / Siege / Tips
   -------------------------------------------------------------------------- */
.bp-faq { display: grid; gap: 0.8rem; }
.bp-faq__item {
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--surface);
  overflow: hidden;
  transition: border-color var(--t-fast) var(--ease);
}
.bp-faq__item:hover { border-color: var(--line-brand-soft); }
.bp-faq__item summary {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1.05rem 1.3rem;
  font-weight: 600;
  font-size: 0.96rem;
  cursor: pointer;
  list-style: none;
  transition: color var(--t-fast);
}
.bp-faq__item summary::-webkit-details-marker { display: none; }
.bp-faq__item summary::before {
  content: '\f054';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 0.7rem;
  color: var(--brand-400);
  transition: transform var(--t-fast) var(--ease);
}
.bp-faq__item[open] summary::before { transform: rotate(90deg); }
.bp-faq__item summary:hover { color: var(--brand-200); }
.bp-faq__item > div,
.bp-faq__item > p {
  padding: 0 1.3rem 1.15rem 2.9rem;
  margin: 0;
  font-size: 0.9rem;
  color: var(--text-muted);
}

.bp-cmd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.8rem; }
.bp-cmd {
  padding: 1rem 1.15rem;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--surface);
  transition: all var(--t-fast) var(--ease);
}
.bp-cmd:hover { border-color: var(--line-brand-soft); transform: translateY(-2px); }
.bp-cmd code {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  margin-bottom: 0.4rem;
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.09);
  border: 1px solid var(--line-brand-soft);
  border-radius: 7px;
}
.bp-cmd p { margin: 0; font-size: 0.84rem; color: var(--text-muted); }

.bp-terms { max-width: 780px; }
.bp-terms h3 {
  margin: 1.15rem 0 0.4rem;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--brand-300);
  letter-spacing: 0.01em;
}
.bp-terms p,
.bp-terms li {
  color: var(--text-muted);
  font-size: 0.9rem;
  line-height: 1.6;
}
.bp-terms p { margin: 0 0 0.5rem; }
.bp-terms ul {
  padding-left: 1.15rem;
  list-style: disc;
  display: grid;
  gap: 0.35rem;
  margin: 0.45rem 0 0.75rem;
}
.bp-terms strong { color: var(--text); font-weight: 700; }
.bp-terms__updated {
  margin-top: 1.35rem !important;
  padding-top: 0.85rem;
  border-top: 1px dashed var(--line-soft);
  font-size: 0.82rem !important;
  color: var(--text-dim-2) !important;
}

/* Modal de termos no cadastro — layout estável */
.bp-modal--terms { z-index: 520; }
.bp-modal__dialog--terms {
  width: min(680px, calc(100vw - 1.5rem));
  max-height: min(86vh, 780px);
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--r-lg, 16px);
  border: 1px solid var(--line-brand-soft);
  background:
    radial-gradient(420px 180px at 12% 0%, rgba(230, 57, 70, 0.12), transparent 65%),
    var(--surface-solid, var(--surface));
  box-shadow: var(--shadow-3, 0 24px 60px rgba(0, 0, 0, 0.55));
}
.bp-terms__head {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 1.15rem 1.2rem 0.95rem;
  border-bottom: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.18);
}
.bp-terms__head-text { min-width: 0; flex: 1 1 auto; padding-right: 0.25rem; }
.bp-terms__badge {
  display: inline-block;
  margin-bottom: 0.35rem;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(145deg, var(--brand-400, #e63946), var(--brand-600, #b91c2c));
  box-shadow: 0 4px 12px rgba(230, 57, 70, 0.28);
}
.bp-terms__head h2 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.25;
}
.bp-terms__subtitle {
  margin: 0.25rem 0 0;
  font-size: 0.8rem;
  color: var(--text-dim-2);
}
/* X vermelho, alinhado ao header */
.bp-modal__dialog--terms .bp-modal__close,
.bp-modal__close--brand {
  position: relative;
  top: 0;
  right: 0;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  color: #fff;
  border: 1px solid rgba(230, 57, 70, 0.55);
  border-radius: 11px;
  background: linear-gradient(145deg, #e63946, #b91c2c);
  box-shadow: 0 4px 14px rgba(230, 57, 70, 0.35);
}
.bp-modal__dialog--terms .bp-modal__close:hover,
.bp-modal__close--brand:hover {
  color: #fff;
  border-color: rgba(255, 120, 130, 0.7);
  filter: brightness(1.08);
  transform: none;
}
.bp-terms--modal {
  max-width: none;
  overflow: auto;
  flex: 1 1 auto;
  min-height: 0;
  padding: 0.85rem 1.2rem 1rem;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(230, 57, 70, 0.45) transparent;
}
.bp-terms--modal::-webkit-scrollbar { width: 8px; }
.bp-terms--modal::-webkit-scrollbar-thumb {
  background: rgba(230, 57, 70, 0.4);
  border-radius: 999px;
}
.bp-terms__footer {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.55rem;
  padding: 0.85rem 1.2rem 1.05rem;
  border-top: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.22);
}
.bp-register__terms-link {
  color: var(--brand-300);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.bp-register__terms-link:hover { color: var(--brand-200); }

@media (max-width: 520px) {
  .bp-modal__dialog--terms { max-height: min(90vh, 100%); }
  .bp-terms__head { padding: 1rem 1rem 0.85rem; }
  .bp-terms--modal { padding: 0.75rem 1rem 0.9rem; }
  .bp-terms__footer {
    justify-content: stretch;
  }
  .bp-terms__footer .bp-btn { flex: 1 1 auto; justify-content: center; }
}

.bp-siege {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem;
  padding: 1.5rem;
  background:
    radial-gradient(300px 160px at 85% 20%, rgba(227, 56, 85, 0.12), transparent 65%),
    var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-siege__avatar {
  display: grid;
  place-content: center;
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  font-size: 1.5rem;
  color: var(--crimson-500);
  background: rgba(227, 56, 85, 0.08);
  border: 1px solid rgba(227, 56, 85, 0.3);
  border-radius: 16px;
}
.bp-siege__body { flex: 1; min-width: 200px; }
.bp-siege__label { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-dim-2); }
.bp-siege__owner { font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; color: var(--text); }
.bp-siege__master { font-size: 0.86rem; color: var(--text-muted); }
.bp-siege__next { text-align: right; }
.bp-siege__next strong { display: block; font-family: var(--font-display); color: var(--brand-300); font-size: 1.05rem; }
.bp-siege__mark { font-size: 0.78rem; color: var(--text-dim-2); }

/* Help tip (?) — isolado do uppercase dos labels */
.bp-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  margin-left: 0.28rem;
  vertical-align: middle;
  cursor: help;
  z-index: 6;
  /* corta herança do .bp-dash__stat-label */
  font-family: var(--font-body, inherit);
  font-size: 0.75rem;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1;
  color: inherit;
}
.bp-tip__mark {
  display: inline-grid;
  place-content: center;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 999px;
  border: 1px solid rgba(230, 57, 70, 0.45);
  background: linear-gradient(160deg, rgba(230, 57, 70, 0.28), rgba(230, 57, 70, 0.1));
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25), 0 0 10px rgba(230, 57, 70, 0.18);
  color: #fecaca;
  font-family: var(--font-display, inherit);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.15s ease;
}
.bp-tip--cash .bp-tip__mark {
  border-color: rgba(52, 211, 153, 0.5);
  background: linear-gradient(160deg, rgba(16, 185, 129, 0.32), rgba(16, 185, 129, 0.1));
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25), 0 0 10px rgba(16, 185, 129, 0.18);
  color: #a7f3d0;
}
.bp-tip:hover .bp-tip__mark,
.bp-tip:focus .bp-tip__mark,
.bp-tip:focus-within .bp-tip__mark {
  color: #fff;
  border-color: rgba(248, 113, 113, 0.75);
  background: linear-gradient(160deg, rgba(230, 57, 70, 0.55), rgba(230, 57, 70, 0.22));
  box-shadow: 0 0 0 1px rgba(230, 57, 70, 0.25), 0 0 14px rgba(230, 57, 70, 0.35);
  transform: scale(1.08);
}
.bp-tip--cash:hover .bp-tip__mark,
.bp-tip--cash:focus .bp-tip__mark,
.bp-tip--cash:focus-within .bp-tip__mark {
  color: #ecfdf5;
  border-color: rgba(110, 231, 183, 0.8);
  background: linear-gradient(160deg, rgba(16, 185, 129, 0.55), rgba(16, 185, 129, 0.2));
  box-shadow: 0 0 0 1px rgba(16, 185, 129, 0.25), 0 0 14px rgba(16, 185, 129, 0.35);
}

/* Popover compacto no estilo brplay */
.bp-tip__box {
  position: absolute;
  bottom: calc(100% + 9px);
  left: 50%;
  width: max-content;
  max-width: min(240px, 70vw);
  padding: 0.65rem 0.75rem 0.7rem;
  border-radius: 10px;
  border: 1px solid rgba(230, 57, 70, 0.35);
  background:
    linear-gradient(165deg, rgba(230, 57, 70, 0.14), transparent 48%),
    rgba(12, 14, 20, 0.97);
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 18px rgba(230, 57, 70, 0.12);
  /* reset FORTE — não herdar uppercase do label */
  font-family: var(--font-body, system-ui, sans-serif) !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  font-style: normal !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  line-height: 1.45 !important;
  color: rgba(226, 232, 240, 0.92) !important;
  text-align: left;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(4px) scale(0.97);
  transition:
    opacity 0.14s ease,
    visibility 0.14s ease,
    transform 0.14s ease;
  z-index: 120;
}
/* setinha */
.bp-tip__box::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border: 5px solid transparent;
  border-top-color: rgba(230, 57, 70, 0.45);
}
.bp-tip__box--wide {
  max-width: min(280px, 78vw);
  border-color: rgba(52, 211, 153, 0.4);
  background:
    linear-gradient(165deg, rgba(16, 185, 129, 0.14), transparent 48%),
    rgba(12, 14, 20, 0.97);
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 0 18px rgba(16, 185, 129, 0.12);
}
.bp-tip__box--wide::after {
  border-top-color: rgba(52, 211, 153, 0.45);
}
.bp-tip__box strong,
.bp-tip__box .bp-tip__title {
  display: block;
  margin: 0 0 0.35rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  font-family: var(--font-display, inherit) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--brand-300) !important;
  line-height: 1.2 !important;
}
.bp-tip--cash .bp-tip__box strong,
.bp-tip--cash .bp-tip__box .bp-tip__title,
.bp-tip__box--wide strong,
.bp-tip__box--wide .bp-tip__title {
  color: #6ee7b7 !important;
  border-bottom-color: rgba(52, 211, 153, 0.18);
}
.bp-tip__box p,
.bp-tip__box .bp-tip__text {
  margin: 0;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: rgba(203, 213, 225, 0.92) !important;
  line-height: 1.45 !important;
}
.bp-tip__box ol {
  margin: 0.15rem 0 0;
  padding-left: 1rem;
  display: grid;
  gap: 0.28rem;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgba(203, 213, 225, 0.88) !important;
  line-height: 1.4 !important;
}
.bp-tip__box em,
.bp-tip__box .bp-tip__note {
  display: block;
  margin-top: 0.45rem;
  padding: 0.35rem 0.45rem;
  font-style: normal !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgba(167, 243, 208, 0.95) !important;
  background: rgba(6, 78, 59, 0.35);
  border: 1px solid rgba(52, 211, 153, 0.18);
  border-radius: 7px;
  line-height: 1.35 !important;
}
.bp-tip:hover .bp-tip__box,
.bp-tip:focus .bp-tip__box,
.bp-tip:focus-within .bp-tip__box {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
}
/* cards de stat: tip abre para a direita p/ não cortar */
.bp-dash__stat .bp-tip__box {
  left: 0;
  right: auto;
  transform: translateX(0) translateY(4px) scale(0.97);
}
.bp-dash__stat .bp-tip:hover .bp-tip__box,
.bp-dash__stat .bp-tip:focus .bp-tip__box,
.bp-dash__stat .bp-tip:focus-within .bp-tip__box {
  transform: translateX(0) translateY(0) scale(1);
}
.bp-dash__stat .bp-tip__box::after {
  left: 12px;
  margin-left: 0;
}
/* cashback card: alinha à esquerda */
.bp-dash__wallet-card--cash .bp-tip__box {
  left: 0;
  transform: translateX(0) translateY(4px) scale(0.97);
}
.bp-dash__wallet-card--cash .bp-tip:hover .bp-tip__box,
.bp-dash__wallet-card--cash .bp-tip:focus .bp-tip__box,
.bp-dash__wallet-card--cash .bp-tip:focus-within .bp-tip__box {
  transform: translateX(0) translateY(0) scale(1);
}
.bp-dash__wallet-card--cash .bp-tip__box::after {
  left: 12px;
  margin-left: 0;
}

.bp-stat-row { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.bp-stat-tile {
  flex: 1;
  min-width: 130px;
  padding: 1rem 1.15rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.bp-stat-tile strong { display: block; font-family: var(--font-display); font-size: 1.2rem; color: var(--brand-300); }
.bp-stat-tile small { font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-dim-2); }

.bp-side-nav { display: grid; gap: 0.35rem; position: sticky; top: calc(var(--rail-h) + 16px); }
.bp-side-nav a {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.65rem 0.85rem;
  font-size: 0.88rem;
  color: var(--text-muted);
  border-radius: 10px;
  border: 1px solid transparent;
  transition: all var(--t-fast) var(--ease);
}
.bp-side-nav a i { width: 16px; text-align: center; font-size: 0.82rem; color: var(--text-dim-2); }
.bp-side-nav a:hover { color: var(--text); background: rgba(255, 255, 255, 0.04); }
.bp-side-nav a.is-active { color: var(--brand-200); background: rgba(230, 57, 70, 0.09); border-color: var(--line-brand-soft); }

/* Personagem: card + serviços lado a lado (legado) */
.bp-char-page {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(200px, 0.72fr);
  gap: 1rem;
  align-items: start;
}
@media (max-width: 900px) {
  .bp-char-page { grid-template-columns: 1fr; }
}
.bp-char-page__svc { min-width: 0; }

/* Hub do char: infos full-width no topo + cards de serviço abaixo (estilo conta) */
.bp-char-page--stack {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  grid-template-columns: none;
}
.bp-char-page--stack .bp-char-page__info,
.bp-char-page--stack .bp-char-page__svc {
  width: 100%;
  min-width: 0;
}
.bp-char-page--stack .bp-acc__grid {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.bp-char-info--hub { margin: 0; }
.bp-char-info__card {
  padding: 1.1rem 1.15rem;
  background: var(--surface);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
}
/* Linha principal: info à esquerda · atributos à direita */
.bp-char-info__row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(220px, 0.85fr);
  gap: 1rem 1.25rem;
  align-items: stretch;
}
@media (max-width: 820px) {
  .bp-char-info__row {
    grid-template-columns: 1fr;
  }
}
.bp-char-info__top {
  display: flex;
  align-items: stretch;
  gap: 1.15rem;
  min-width: 0;
}
.bp-char-info__avatar {
  display: grid;
  place-content: center;
  width: 88px;
  min-height: 100%;
  flex: 0 0 88px;
  align-self: stretch;
  font-size: 1.75rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand);
  border-radius: 16px;
  overflow: hidden;
}
.bp-char-info__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Retrato de classe — maior, preenche a coluna de info */
.bp-char-info__avatar--class {
  width: 168px;
  flex: 0 0 168px;
  min-height: 200px;
  height: auto;
  align-self: stretch;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  border: 0;
  background:
    radial-gradient(ellipse 70% 45% at 50% 92%, rgba(230, 57, 70, 0.12), transparent 70%),
    transparent;
  border-radius: 0;
  overflow: visible;
}
.bp-char-info__avatar--class img {
  width: 100%;
  height: 100%;
  min-height: 200px;
  max-height: 240px;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.55));
  transform: scale(1.08);
  transform-origin: center bottom;
}
@media (max-width: 820px) {
  .bp-char-info__avatar--class {
    width: 140px;
    flex: 0 0 140px;
    min-height: 170px;
  }
  .bp-char-info__avatar--class img {
    min-height: 170px;
    max-height: 200px;
  }
}
@media (max-width: 520px) {
  .bp-char-info__avatar--class {
    width: 112px;
    flex: 0 0 112px;
    min-height: 140px;
  }
  .bp-char-info__avatar--class img {
    min-height: 140px;
    max-height: 160px;
    transform: scale(1.05);
  }
}
.bp-char-info__kicker {
  margin: 0 0 0.2rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.bp-char-info__meta { color: var(--text-muted); font-size: 0.9rem; min-width: 0; flex: 1; }
.bp-char-info__meta h3 {
  margin: 0 0 0.2rem;
  font-size: 1.3rem;
  font-weight: 900;
  color: var(--text);
  word-break: break-word;
}
.bp-char-info__meta .bp-btn { margin-top: 0.5rem; }
.bp-char-info__meta-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.55rem;
}
.bp-char-info__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line-soft);
}
.bp-char-info__chip i { font-size: 0.7rem; opacity: 0.85; }
.bp-char-info__chip.is-on { color: #86efac; border-color: rgba(74, 222, 128, 0.35); }
.bp-char-info__chip.is-off { color: #fca5a5; border-color: rgba(248, 113, 113, 0.35); }

/* Atributos — coluna direita compacta */
.bp-char-info__attrs {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  padding: 0.7rem 0.8rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line-soft);
  background: rgba(0, 0, 0, 0.22);
}
.bp-char-info__attrs-title {
  margin: 0 0 0.5rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-char-info__attrs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem 0.45rem;
  flex: 1;
  align-content: start;
}
/* 5 attrs (Dark Lord): 3+2 ou 2+2+1 — mantém 2 colunas */
.bp-char-info__attrs-grid .bp-char-attr:nth-child(5) {
  grid-column: 1 / -1;
}
@media (min-width: 821px) {
  .bp-char-info__attrs-grid .bp-char-attr:nth-child(5) {
    grid-column: auto;
  }
}
.bp-char-attr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  padding: 0.4rem 0.5rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
}
.bp-char-attr__ico {
  display: grid;
  place-content: center;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border-radius: 8px;
  font-size: 0.72rem;
  color: var(--stat-c, var(--brand-300));
  background: color-mix(in srgb, var(--stat-c, var(--brand-300)) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--stat-c, var(--brand-300)) 28%, transparent);
}
.bp-char-attr span {
  display: block;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-dim-2);
  line-height: 1.1;
}
.bp-char-attr strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}
.bp-char-attr > div {
  min-width: 0;
  overflow: hidden;
}

/* Serviços compactos (coluna do personagem) */
.bp-svc-compact {
  padding: 0.85rem 0.9rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: var(--surface);
  height: 100%;
}
.bp-svc-compact__title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.55rem;
  margin: 0 0 0.7rem;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--text);
}
.bp-svc-compact__title i { color: var(--brand-400); font-size: 0.8rem; }
.bp-svc-compact__title small {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-dim-2);
  width: 100%;
  margin-left: 1.2rem;
}
.bp-svc-compact__list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.bp-svc-compact__item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  border: 1px solid var(--line-soft);
  background: rgba(0, 0, 0, 0.18);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.bp-svc-compact__item:hover {
  border-color: var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.08);
  color: inherit;
}
.bp-svc-compact__ico {
  display: grid;
  place-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgba(230, 57, 70, 0.1);
  color: var(--brand-300);
  flex-shrink: 0;
  font-size: 0.8rem;
}
.bp-svc-compact__item strong {
  flex: 1;
  min-width: 0;
  font-size: 0.86rem;
  font-weight: 700;
}
.bp-svc-compact__go {
  font-size: 0.7rem;
  color: var(--text-dim-2);
  opacity: 0.75;
}

.bp-dash__service-layout--char.bp-dash__service-layout--solo {
  grid-template-columns: minmax(0, 1fr) !important;
}
.bp-dash__service-layout--char .bp-dash__services { display: none !important; }
.bp-dash__char-bar { display: none !important; }

/* Conta: hero com meta embutida */
.bp-acc__hero.bp-acc__hero--rich {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.9rem;
  padding: 1.35rem 1.4rem;
}
.bp-acc__hero--rich .bp-acc__hero-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
.bp-acc__hero--rich .bp-acc__hero-text { flex: 1; min-width: 160px; }
.bp-acc__hero--rich .bp-acc__hero-badge { margin-left: auto; }
.bp-acc__hero-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.55rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line-soft);
}
.bp-acc__hero-meta-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.7rem;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--line-soft);
}
.bp-acc__hero-meta-item > i {
  width: 32px;
  height: 32px;
  display: grid;
  place-content: center;
  border-radius: 9px;
  background: rgba(230, 57, 70, 0.1);
  color: var(--brand-300);
  flex-shrink: 0;
}
.bp-acc__hero-meta-item span {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-acc__hero-meta-item strong {
  display: block;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--text);
}

/* Carteira: 4 boxes — moedas, cashback, indicação, streamer */
.bp-acc__wallet-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: stretch;
}
@media (max-width: 1100px) {
  .bp-acc__wallet-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .bp-acc__wallet-grid { grid-template-columns: 1fr; }
}
.bp-acc__wallet-card--coins { order: 1; }
.bp-acc__wallet-card--cashback { order: 2; }
.bp-acc__wallet-card--ind { order: 3; }
.bp-acc__wallet-card--stream { order: 4; }

.bp-acc__wallet-card--mini {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.85rem 0.95rem;
  min-height: 0;
  height: auto;
}
.bp-acc__wallet-card--mini .bp-acc__wallet-card-head { gap: 0.55rem; }
.bp-acc__wallet-card--mini .bp-acc__wallet-card-ico {
  width: 34px;
  height: 34px;
  font-size: 0.88rem;
}
.bp-acc__wallet-card--mini .bp-acc__wallet-card-head strong { font-size: 0.9rem; }
.bp-acc__wallet-card--mini .bp-acc__wallet-card-head em { font-size: 0.72rem; }
.bp-acc__wallet-mini-rows {
  display: grid;
  gap: 0.28rem;
  flex: 1;
}
.bp-acc__wallet-mini-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.32rem 0.45rem;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.18);
  font-size: 0.8rem;
}
.bp-acc__wallet-mini-row span { color: var(--text-muted); }
.bp-acc__wallet-mini-row strong { color: var(--text); font-weight: 800; }
.bp-acc__wallet-mini-row--focus {
  padding: 0.45rem 0.55rem;
  border: 1px solid rgba(52, 211, 153, 0.28);
  background: rgba(16, 185, 129, 0.08);
}
.bp-acc__wallet-mini-row--focus .is-cash,
.bp-acc__wallet-mini-row .is-cash { color: #6ee7b7; }
.bp-acc__wallet-mini-hint {
  margin: 0;
  font-size: 0.78rem;
  color: var(--text-muted);
  line-height: 1.35;
  flex: 1;
}
.bp-acc__wallet-mini-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: auto;
}
.bp-acc__wallet-mini-actions .bp-btn { flex: 1; min-width: 0; justify-content: center; }

/* --------------------------------------------------------------------------
   34. Artigo de notícia
   -------------------------------------------------------------------------- */
.bp-news-article { max-width: 860px; margin-inline: auto; }
.bp-news-article__cover {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: flex-end;
  padding: 1.8rem;
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  background-size: cover;
  background-position: center 28%;
  overflow: hidden;
  isolation: isolate;
  margin-bottom: 1.8rem;
}
.bp-news-article__cover::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(185deg, rgba(5,6,10,0.1) 35%, rgba(5,6,10,0.9));
}
.bp-news-article__cover-meta { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; }
.bp-news-article__content { font-size: 0.98rem; line-height: 1.8; color: var(--text-muted); }
.bp-news-article__content h2, .bp-news-article__content h3 { color: var(--text); margin-top: 1.8rem; }
.bp-news-article__content img { border-radius: var(--r-lg); border: 1px solid var(--line); margin: 1rem 0; }
.bp-news-article__stats { display: flex; flex-wrap: wrap; gap: 1.2rem; margin: 1.4rem 0; font-size: 0.84rem; color: var(--text-dim-2); }
.bp-news-article__stats i { color: var(--brand-400); margin-right: 0.3rem; }
.bp-news-article__foot { margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid var(--line); }
.bp-news-article__comments { margin-top: 2.2rem; }
.bp-news-article__comment-list { display: grid; gap: 0.9rem; margin-top: 1.1rem; }

/* --------------------------------------------------------------------------
   35. Responsivo
   -------------------------------------------------------------------------- */

/* Notebooks médios */
@media (max-width: 1180px) {
  .hm-layout { grid-template-columns: minmax(0, 1fr) 300px; }
  .bp-rail__nav > a, .bp-rail__drop-btn { padding: 0.6rem 0.7rem; font-size: 0.78rem; }
}

/* Tablets horizontais — vira navegação mobile */
@media (max-width: 1024px) {
  :root { --rail-h: 64px; }

  .bp-rail__nav { display: none; }
  .bp-rail__burger { display: flex; }
  .bp-rail__inner { gap: 0.9rem; }
  .bp-rail__logo img { width: auto; height: 30px; max-width: min(160px, 48vw); }

  .hm-layout { grid-template-columns: 1fr; }
  .hm-layout__side { position: static; }

  .bp-dash { grid-template-columns: 1fr; }
  .bp-dash__nav { position: static; }
  .bp-dash__nav-group { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); display: grid; gap: 0.35rem; }

  .bp-rk-layout { grid-template-columns: 1fr; }
  .bp-rk__grid { grid-template-columns: 1fr; }
  .bp-rk-dash { grid-template-columns: 1fr; }
  .bp-rk__top { flex-direction: column; align-items: stretch; }
  .bp-rk__cats-wrap .bp-rk-cats { justify-content: flex-start; }
  .bp-mkt-layout { grid-template-columns: 1fr; }
  .bp-register { grid-template-columns: 1fr; }
  .bp-register__side { position: static; }
  .bp-profile__grid { grid-template-columns: 1fr; }
  .bp-dash__service-layout { grid-template-columns: 1fr; }
  .bp-dash__services { flex-direction: row; flex-wrap: wrap; }
  .bp-pkg-layout--cats { grid-template-columns: 1fr; }
  .bp-pkg-detail { grid-template-columns: 1fr; }
  .bp-pkg-detail__media { min-height: 170px; }

  .bp-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }

  .hm-feat-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Tablets verticais */
@media (max-width: 820px) {
  .bp-hero { min-height: max(480px, 70vh); }
  .bp-hero__content { gap: 1.35rem; padding-bottom: 2.2rem; }
  /* mantem o Dark Lord em quadro no recorte estreito */
  .bp-hero__media img { object-position: 74% 30%; }

  .hm-strip__inner { gap: 0.5rem; padding: 0.8rem 0.75rem; }

  .bp-news__grid--3 { grid-template-columns: repeat(2, 1fr); }
  .hm-podium { gap: 0.7rem; }

  .hm-road__step { min-width: 96px; }
  .hm-road__connector { max-width: 90px; }

  .bp-itop { padding: calc(var(--rail-h) + 2.4rem) 0 2.2rem; }

  .bp-user-bar__meta { display: none; }
}

/* Celulares */
@media (max-width: 640px) {
  body { font-size: 14.5px; }
  .bp-container { width: calc(100% - 2rem); }

  .bp-hero { min-height: max(460px, 64vh); }
  .bp-hero__kicker { font-size: 0.64rem; letter-spacing: 0.22em; gap: 0.6rem; }
  .bp-hero__kicker::before, .bp-hero__kicker::after { width: 22px; }
  .bp-hero__logo { height: clamp(160px, 26vh, 240px); max-width: min(340px, 82vw); }
  .bp-hero__actions { flex-direction: column; width: min(340px, 100%); }
  .bp-hero__actions .bp-btn { width: 100%; }
  .bp-hero__side {
    position: static;
    max-width: none;
    width: min(340px, 100%);
    margin: 0 auto;
    padding: 0 1rem;
  }
  .bp-hero__side--left { order: 2; }
  .bp-hero__side--right { order: 3; align-items: stretch; }
  .bp-hero__content { order: 1; }
  .bp-hero {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-top: calc(var(--rail-h, 64px) + 0.5rem);
  }
  .bp-hero__side--left .bp-hero__rmt,
  .bp-hero__side--right .bp-hero__char-search {
    max-width: none;
    width: 100%;
  }
  .bp-hero__side--right {
    position: static;
    order: 3;
  }
  .bp-hero__rmt-txt strong { white-space: normal; }
  .bp-hero__char-search { max-width: none; flex: 1 1 auto; width: 100%; }

  .hm-chip { padding: 0.45rem 0.8rem; }
  .hm-chip__v { font-size: 0.84rem; }

  .hm-head { flex-direction: column; align-items: flex-start; gap: 0.7rem; }
  .hm-block { padding-top: 2rem; }
  .bp-hero + .hm-block { padding-top: 0.95rem; }
  .hm-block--dim { padding: 2.8rem 0; }

  .bp-news__hero { min-height: 240px; padding: 1.2rem; }
  .bp-news__grid--3 { grid-template-columns: 1fr; }

  .hm-podium { grid-template-columns: 1fr; align-items: stretch; }
  .hm-podium__card--1 { order: -1; }

  .hm-feat-grid { grid-template-columns: 1fr; }
  .hm-road__steps { flex-wrap: wrap; gap: 0.6rem; }
  .hm-road__connector { display: none; }
  .hm-road__step { min-width: 0; flex: 1 1 30%; }

  .bp-panel__body { padding: 1.1rem; }
  .bp-panel__head { padding: 0.9rem 1.1rem; }
  .bp-card { padding: 1.2rem; }

  .bp-tiles { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.6rem; }
  .bp-tile { padding: 0.95rem 0.6rem; font-size: 0.78rem; }

  .bp-itop { padding: calc(var(--rail-h) + 2rem) 0 1.8rem; }
  .bp-ipage__title { letter-spacing: 0.02em; }

  .bp-dl-card { flex-direction: column; align-items: flex-start; }
  .bp-dl-card__actions { margin-left: 0; width: 100%; }
  .bp-dl-card__actions .bp-btn { flex: 1; }

  .bp-dash__char-grid, .bp-dash__chars { grid-template-columns: 1fr; }
  .bp-dash__welcome { padding: 1.3rem; }
  .bp-dash__welcome-actions { width: 100%; }
  .bp-dash__welcome-actions .bp-btn { flex: 1; }

  .bp-acc__hero { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .bp-acc__hero-badge { margin-left: 0; }

  .bp-profile__search { flex-direction: column; }
  .bp-mkt-acc-search { flex-direction: column; }

  .bp-siege { flex-direction: column; align-items: flex-start; }
  .bp-siege__next { text-align: left; }

  .bp-eq__map { grid-template-columns: repeat(4, 52px); }
  .bp-eq__box { width: 52px; height: 52px; }

  .bp-chat-col { max-width: 88%; }

  .bp-footer { margin-top: 3.5rem; }
  .bp-footer__grid { grid-template-columns: 1fr; gap: 1.8rem; padding: 2.6rem 0 2rem; }
  .bp-footer__bottom { flex-direction: column; align-items: flex-start; }

  .bp-scrolltop { left: 1rem; right: auto; bottom: 1rem; width: 42px; height: 42px; }

  .bp-modal__dialog { width: 100%; }
  .bp-login-card { padding: 1.7rem 1.3rem 1.4rem; }

  .bp-rail__end { gap: 0.5rem; }
  .bp-lang__btn { padding: 0.45rem 0.55rem; }
}

/* Celulares pequenos */
@media (max-width: 400px) {
  .bp-user-bar .bp-btn--ghost { display: none; }
  .hm-strip__inner { justify-content: flex-start; }
  .rsb__quick { grid-template-columns: repeat(2, 1fr); }
}

/* Telas muito largas */
@media (min-width: 1700px) {
  :root { --container: 1340px; }
  .bp-hero { min-height: max(560px, 80vh); }
}

/* --------------------------------------------------------------------------
   36. Reduced motion / Print
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .bp-reveal { opacity: 1; transform: none; }
}

@media print {
  .bp-rail, .bp-drawer, .bp-footer, .bp-scrolltop, .bp-hero__orbs, .bp-hero__scan { display: none !important; }
  body { background: #fff; color: #111; }
  .bp-panel, .bp-card { border: 1px solid #ccc; box-shadow: none; }
}

/* --------------------------------------------------------------------------
   37. Compat — variantes estruturais e hooks de JS
   -------------------------------------------------------------------------- */
.ajax-container { min-height: 40vh; }
.tab-content { min-width: 0; }
.loading-login { padding: 0.4rem 0; }
.partial-login { display: flex; align-items: center; }

/* Slider genérico (fora da sidebar) */
.bp-mslider__track { position: relative; }
.bp-mslider__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s var(--ease);
}
.bp-mslider__slide.is-active { opacity: 1; position: relative; }

/* Rankings — número de posição avulso */
.bp-rk-pos {
  display: inline-grid;
  place-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 0.3rem;
  font-family: var(--font-display);
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.09);
  border: 1px solid var(--line-brand-soft);
  border-radius: 8px;
}

/* Pódio — prata */
.hm-podium__card--2 .hm-podium__place { background: linear-gradient(160deg, #e8edf6, #93a0ba); }

/* Chat — lado do usuário (defaults já cobrem; aliases explícitos) */
.bp-chat-avatar--user { color: var(--brand-300); }
.bp-chat-bubble--user { border-radius: 14px 14px 14px 4px; }

/* Sidebar — variantes estruturais */
.rsb__block--flat { padding: 0; border: 0; background: none; box-shadow: none; }
.rsb__body { display: grid; gap: 0.8rem; }
.rsb__links { display: grid; gap: 0.35rem; }
.rsb__links a {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.75rem;
  font-size: 0.86rem;
  color: var(--text-muted);
  border-radius: 9px;
  transition: all var(--t-fast) var(--ease);
}
.rsb__links a:hover { color: var(--brand-200); background: rgba(230, 57, 70, 0.06); padding-left: 0.95rem; }
.rsb__podium--full { margin-top: 0.4rem; }
.rsb__block--access, .rsb__block--donate, .rsb__block--slide { scroll-margin-top: calc(var(--rail-h) + 16px); }

/* Home — aliases semânticos */
.bp-news--home { align-content: start; }
.bp-register__main { min-width: 0; }
.hm-rank-panel--hof { position: relative; }
.hm-road__body { position: relative; }
.hof--home { min-width: 0; }

/* Mapeamento de itens (WebShop legado) */
.mapping, .item-mapping {
  font-size: 0.74rem;
  color: var(--text-dim-2);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--line-soft);
  border-radius: 7px;
  padding: 0.15rem 0.5rem;
}

/* Wrappers estruturais */
.bp-login-form { display: block; }
.bp-char-stat__body { min-width: 0; }
.bp-mkt-direct { display: grid; gap: 1.2rem; }

/* --------------------------------------------------------------------------
   38. Spotlight — brilho que segue o cursor (JS define --mx/--my)
   -------------------------------------------------------------------------- */
.hm-feat, .bp-mkt-card, .bp-product, .bp-pkg-card,
.bp-donate-card, .bp-dash__char-card, .bp-tile,
.bp-acc__tile, .bp-mkt-hub__card, .bp-mkt-char-card, .bp-news__card {
  position: relative;
  overflow: hidden;
}
.hm-feat::after, .bp-mkt-card::after, .bp-product::after, .bp-pkg-card::after,
.bp-donate-card::after, .bp-dash__char-card::after, .bp-tile::after,
.bp-acc__tile::after, .bp-mkt-hub__card::after, .bp-mkt-char-card::after, .bp-news__card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(230, 57, 70, 0.1), transparent 62%);
  opacity: 0;
  transition: opacity var(--t-med) var(--ease);
}
.hm-feat:hover::after, .bp-mkt-card:hover::after, .bp-product:hover::after, .bp-pkg-card:hover::after,
.bp-donate-card:hover::after, .bp-dash__char-card:hover::after, .bp-tile:hover::after,
.bp-acc__tile:hover::after, .bp-mkt-hub__card:hover::after, .bp-mkt-char-card:hover::after, .bp-news__card:hover::after {
  opacity: 1;
}
/* Conteúdo acima do brilho */
.hm-feat > *, .bp-mkt-card > *, .bp-product > *, .bp-pkg-card > *,
.bp-donate-card > *, .bp-dash__char-card > *, .bp-tile > *,
.bp-acc__tile > *, .bp-mkt-hub__card > *, .bp-mkt-char-card > * {
  position: relative;
  z-index: 1;
}

/* --------------------------------------------------------------------------
   39. MarketPlace Items — categorias (prints 00/JOIAS/BOXES) + grid
   -------------------------------------------------------------------------- */
.bp-mp-items__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.85rem 1rem;
  margin-bottom: 0.85rem;
}
.bp-mp-items__head--actions {
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 0.65rem;
}
.bp-mp-items__head-left { min-width: 0; flex: 1; }
.bp-mp-items__head-right {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
  align-items: center;
}

/* Itens/Personagens — mesma altura em Itens e Personagens */
.bp-mp-items__mod-nav {
  margin-bottom: 0.75rem;
}
.bp-mp-items__mod-nav .bp-mkt-nav {
  margin-bottom: 0;
}
/* Módulos à esquerda + Vender/Voltar à direita (anunciar sempre visível) */
.bp-mp-items__mod-nav--with-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  margin-bottom: 0.75rem;
}
.bp-mp-items__mod-nav--with-actions .bp-mkt-nav {
  margin-bottom: 0;
  flex: 1 1 auto;
}
.bp-mp-items__mod-nav--with-actions .bp-mkt-toolbar__right {
  margin-left: auto;
  flex: 0 0 auto;
}
/* Personagens — alinhamento = Itens / Meus anúncios */
.bp-mp-chars .bp-mp-items__head--actions {
  margin-bottom: 0.65rem;
}
/* Chrome: abas + filtros | carteira (filtros preenchem o vazio) */
.bp-mp-chars .bp-mp-items__chrome,
.bp-mp-chars__chrome {
  align-items: stretch;
  margin-bottom: 0.75rem;
}
.bp-mp-chars .bp-mp-items__chrome-main,
.bp-mp-chars__chrome-main {
  height: auto !important;
  min-height: 100%;
  gap: 0.55rem;
  display: flex;
  flex-direction: column;
}
.bp-mp-chars .bp-mp-items__chrome-side,
.bp-mp-chars__side {
  height: auto !important;
  min-height: 0 !important;
  align-self: stretch;
}
.bp-mp-chars .bp-mp-wallet--side {
  flex: 1 1 auto;
  height: 100%;
  min-height: 100%;
}
.bp-mp-chars .bp-mp-wallet--side .bp-mp-wallet__body {
  flex: 1 1 auto;
}
.bp-mp-chars .bp-mp-wallet__row--jewels {
  margin-top: auto;
  padding-top: 0.4rem;
}
.bp-mp-chars .bp-mp-items__tabs-row {
  margin-bottom: 0;
  flex: 0 0 auto;
}
/* Filtros no chrome de Personagens (ao lado da carteira) */
.bp-mp-chars .bp-mp-filters--chrome {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
}
.bp-mp-chars .bp-mp-filters--chrome .bp-mp-filters__tip {
  margin-top: auto;
}
.bp-mp-chars .bp-mp-filters--tip-only {
  justify-content: center;
}
/* Meta full-width abaixo do chrome: contador esq. + busca dir. (print Meus anúncios) */
.bp-mp-chars__meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 1rem;
  margin: 0 0 0.85rem !important;
}
.bp-mp-chars__meta-row .bp-mp-items__count {
  margin: 0 !important;
  flex: 1 1 auto;
  min-width: 0;
}
.bp-mp-chars__search {
  flex: 0 1 300px;
  width: 100%;
  max-width: 320px;
  margin: 0;
}
.bp-mp-chars__listings {
  min-width: 0;
  margin: 0;
  padding: 0;
}
.bp-mp-chars .bp-mkt-char-grid {
  padding-top: 0 !important;
  gap: 0.9rem;
  margin-top: 0;
}
.bp-mp-chars .bp-mkt-char-card {
  min-height: 0;
  overflow: hidden;
}
.bp-mp-chars .bp-mkt-char-card--portrait {
  overflow: hidden !important;
}
.bp-mp-chars .bp-mkt-char-card__portrait {
  width: 120px;
  height: 120px;
  margin: 0.85rem auto 0.35rem !important;
  border-width: 2px;
}
.bp-mp-chars .bp-mkt-empty {
  margin-top: 0.15rem;
  padding: 1.25rem 1rem;
}
/* Abas — respiro padrão abaixo (Itens/Personagens index + sell) */
.bp-mp-items__tabs-row {
  width: 100%;
  max-width: 100%;
  margin: 0 0 0.9rem;
  min-width: 0;
  overflow: visible;
}
.bp-mp-items__chrome-main .bp-mp-items__tabs-row {
  flex: 0 0 auto;
  margin-bottom: 0; /* gap do chrome-main controla o espaçamento interno */
}
.bp-mp-items__tabs-row .bp-mp-tabs {
  margin: 0;
  width: 100%;
  flex-wrap: wrap;
  overflow: visible;
  gap: 0.3rem;
  padding: 0.35rem;
}
.bp-mp-items__tabs-row .bp-mp-tabs__btn {
  padding: 0.45rem 0.72rem;
  font-size: 0.76rem;
}
.bp-mp-items__tabs-row .bp-mp-offer-alert {
  margin-top: 0.55rem;
}
/* Aviso: precisa estar logado (toast) */
.bp-need-login-notice {
  position: fixed;
  top: calc(var(--rail-h, 64px) + 14px);
  left: 50%;
  z-index: 12000;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  max-width: min(440px, calc(100vw - 28px));
  padding: 0.85rem 1.1rem;
  border-radius: 12px;
  border: 1px solid rgba(230, 57, 70, 0.4);
  background: linear-gradient(135deg, rgba(40, 18, 22, 0.98), rgba(16, 14, 20, 0.98));
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(230, 57, 70, 0.08);
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.35;
  transform: translate(-50%, -12px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s var(--ease), transform 0.25s var(--ease);
}
.bp-need-login-notice.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
.bp-need-login-notice > i {
  flex: 0 0 auto;
  color: var(--brand-300);
  font-size: 1rem;
}
.bp-login-hint {
  margin: -0.35rem 0 1rem;
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
  border: 1px solid rgba(230, 57, 70, 0.3);
  background: rgba(230, 57, 70, 0.1);
  color: var(--brand-200);
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.35;
}

/* Chrome: esquerda (abas + cats) | direita (carteira) — mesma altura, sem vazio */
.bp-mp-items__chrome {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.9rem 1rem;
  align-items: stretch;
  margin-bottom: 1rem;
}
.bp-mp-items__chrome.has-wallet {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
}
.bp-mp-items__chrome-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  height: 100%;
  min-height: 100%;
}
.bp-mp-items__chrome-main .bp-mp-tabs,
.bp-mp-items__chrome-main .bp-mp-cats {
  margin-bottom: 0;
}
/* Categorias preenchem o restante da coluna (encosta na altura da carteira) */
.bp-mp-items__chrome-main .bp-mp-cats {
  flex: 1 1 auto;
  align-content: flex-start;
  min-height: 0;
}
.bp-mp-items__chrome-side {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  height: 100%;
  min-height: 100%;
}
/*
 * Filtros unificados (Itens + Personagens)
 * Painel escuro + labels uppercase + pills douradas ativas
 */
.bp-mp-filters {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin: 0 0 0.85rem;
  padding: 0.75rem 0.85rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.28);
}
.bp-mp-filters__block {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.bp-mp-filters__label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-mp-filters__label i {
  color: #e2b15a;
  font-size: 0.75rem;
}
.bp-mp-filters__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.bp-mp-filters__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.32rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--line-soft);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
  transition: border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.bp-mp-filters__pill:hover {
  color: var(--text);
  border-color: rgba(226, 177, 90, 0.4);
  background: rgba(226, 177, 90, 0.08);
}
.bp-mp-filters__pill.is-active {
  color: #1a1305;
  border-color: transparent;
  background: linear-gradient(160deg, #f0b429, #e29a12 55%, #c47d0a);
  box-shadow: 0 2px 10px rgba(226, 154, 18, 0.28);
}
.bp-mp-filters__pill--warn.is-active {
  color: #fff;
  background: linear-gradient(160deg, #e63946, #c92a37 55%, #a51f2a);
  box-shadow: 0 2px 10px rgba(230, 57, 70, 0.28);
}
.bp-mp-filters__tip {
  margin: 0.15rem 0 0;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.74rem;
  line-height: 1.35;
  color: var(--text-dim-2);
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
}
.bp-mp-filters__tip i {
  margin-top: 0.15rem;
  color: var(--brand-400);
  flex: 0 0 auto;
}
/* Legado — chips de filtro antigos (outras telas) */
.bp-mp-items__filters--chips {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 0.75rem;
  padding: 0;
}
/* Contador à esquerda + busca compacta à direita (local marcado) */
.bp-mp-items__meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  margin: 0 0 1rem;
}
.bp-mp-items__meta-row .bp-mp-items__count {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.bp-mp-items__search--compact {
  flex: 0 1 300px;
  width: 100%;
  max-width: 320px;
  margin: 0;
}
.bp-mp-items__search--compact .bp-mp-items__search-row {
  padding: 0.38rem 0.45rem 0.38rem 0.7rem;
  gap: 0.4rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.32);
  border-color: var(--line-soft);
  transition: border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.bp-mp-items__search--compact .bp-mp-items__search-row:focus-within {
  border-color: var(--line-brand-soft);
  box-shadow: 0 0 0 2px rgba(230, 57, 70, 0.12);
}
.bp-mp-items__search--compact .bp-input {
  min-width: 0;
  font-size: 0.86rem;
  padding: 0.25rem 0.15rem;
}
.bp-mp-items__search--compact .bp-btn {
  flex: 0 0 auto;
  padding: 0.4rem 0.75rem;
  font-size: 0.75rem;
  border-radius: 999px;
}
@media (max-width: 640px) {
  .bp-mp-items__search--compact {
    flex: 1 1 100%;
    max-width: none;
  }
}

/* Dashboard carteira — mesma altura: topo = abas, base = busca */
.bp-mp-wallet {
  width: 100%;
  padding: 0.7rem 0.8rem 0.75rem;
  border-radius: var(--r-md, 12px);
  border: 1px solid rgba(226, 177, 90, 0.28);
  background: linear-gradient(165deg, rgba(28, 22, 18, 0.98), rgba(10, 10, 12, 0.99));
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.bp-mp-wallet--side {
  flex: 1 1 auto;
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.bp-mp-wallet--side .bp-mp-wallet__body {
  flex: 1 1 auto;
}
.bp-mp-wallet.is-loading { opacity: 0.65; pointer-events: none; }
.bp-mp-wallet__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.6rem;
  flex-shrink: 0;
}
.bp-mp-wallet__title {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.bp-mp-wallet__title i { color: #e2b15a; }
.bp-mp-wallet__acts {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}
.bp-mp-wallet__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  min-height: 28px;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.35);
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
}
.bp-mp-wallet__btn:hover {
  color: var(--text);
  border-color: rgba(226, 177, 90, 0.45);
}
.bp-mp-wallet__btn--charge {
  color: #111;
  background: linear-gradient(180deg, #f0d78c, #e2b15a);
  border-color: transparent;
}
.bp-mp-wallet__btn--charge:hover { color: #111; filter: brightness(1.05); }
.bp-mp-wallet__btn.is-spin i { animation: bp-mp-spin 0.7s linear infinite; }
@keyframes bp-mp-spin {
  to { transform: rotate(360deg); }
}
.bp-mp-wallet__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-height: 0;
}
/* Linhas: 1 créditos · 2 moedas · 3 joias */
.bp-mp-wallet__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  width: 100%;
}
.bp-mp-wallet__row--credits {
  flex-wrap: nowrap;
}
.bp-mp-wallet__row--coins {
  gap: 0.4rem;
}
.bp-mp-wallet__row--jewels {
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}
.bp-mp-wallet__chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 0.4rem 0.5rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.32);
  flex: 1 1 auto;
}
.bp-mp-wallet__chip--wide {
  flex: 1 1 100%;
  width: 100%;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
}
.bp-mp-wallet__chip-k {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: var(--text-muted);
  text-transform: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  text-align: center;
}
.bp-mp-wallet__chip--wide .bp-mp-wallet__chip-k {
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.7rem;
}
.bp-mp-wallet__chip strong {
  font-size: 0.9rem;
  font-weight: 800;
  color: #f0d78c;
  line-height: 1.2;
}
.bp-mp-wallet__chip--wide strong {
  font-size: 1.05rem;
  color: #5eead4;
}
.bp-mp-wallet__chip--credits strong { color: #5eead4; }
.bp-mp-wallet__jewels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.55rem;
  justify-content: flex-start;
  width: 100%;
}
.bp-mp-wallet__jewel {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
}
.bp-mp-wallet__jewel img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.bp-mp-wallet__jewel i {
  font-size: 0.9rem;
  color: #7dd3fc;
}
.bp-mp-wallet__jewel strong {
  font-size: 0.72rem;
  font-weight: 800;
  color: #e8e6df;
  min-width: 1rem;
}

@media (max-width: 960px) {
  .bp-mp-items__chrome.has-wallet {
    grid-template-columns: 1fr;
  }
  .bp-mp-items__chrome-side {
    position: static;
  }
}
.bp-mp-items .bp-mkt-toolbar,
.bp-mp-chars .bp-mkt-toolbar {
  margin-bottom: 0.85rem;
}
/* Conteúdo após chrome/abas (filtros, grid, contador) */
.bp-mp-items__chrome + .bp-mp-items__filters,
.bp-mp-items__chrome + .bp-mp-items__meta-row,
.bp-mp-items__tabs-row + .bp-mp-sell-items,
.bp-mp-items__tabs-row + .bp-mp-wh-toggle {
  margin-top: 0;
}

/* Abas do módulo (Mercado / Meus / Ofertas…) — CTA chamativo como Vender */
.bp-mp-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border-radius: var(--r-lg);
  border: 1px solid rgba(56, 189, 248, 0.22);
  background:
    radial-gradient(ellipse 80% 120% at 0% 50%, rgba(56, 189, 248, 0.08), transparent 55%),
    rgba(0, 0, 0, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.bp-mp-tabs__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  padding: 0.58rem 0.95rem;
  border-radius: var(--r-pill);
  border: 1px solid rgba(125, 211, 252, 0.28);
  color: #bae6fd;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-decoration: none;
  background: linear-gradient(160deg, rgba(56, 189, 248, 0.14), rgba(12, 20, 32, 0.88));
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
  transition: all var(--t-fast) var(--ease);
  white-space: nowrap;
}
.bp-mp-tabs__btn i {
  font-size: 0.88rem;
  opacity: 1;
  color: #38bdf8;
}
.bp-mp-tabs__btn:hover {
  color: #e0f2fe;
  border-color: rgba(125, 211, 252, 0.55);
  background: linear-gradient(160deg, rgba(56, 189, 248, 0.28), rgba(14, 28, 44, 0.95));
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.25), 0 6px 16px rgba(0, 0, 0, 0.35);
  transform: translateY(-1px);
}
.bp-mp-tabs__btn:hover i { color: #7dd3fc; }
.bp-mp-tabs__btn.is-active {
  color: #042f2e;
  border-color: transparent;
  background: linear-gradient(160deg, #5eead4, #2dd4bf 48%, #14b8a6 100%);
  box-shadow: 0 0 0 2px rgba(45, 212, 191, 0.35), 0 0 20px rgba(20, 184, 166, 0.4), 0 6px 16px rgba(0, 0, 0, 0.3);
}
.bp-mp-tabs__btn.is-active i { opacity: 1; color: #042f2e; }
/* Badge vermelho: ofertas pendentes para o vendedor */
.bp-mp-tabs__badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.4rem;
  margin-left: 0.2rem;
  border-radius: 999px;
  background: linear-gradient(160deg, #f87171, #dc2626 60%, #b91c1c) !important;
  color: #fff !important;
  font-style: normal !important;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.25), 0 2px 10px rgba(220, 38, 38, 0.55);
  flex-shrink: 0;
  animation: bp-mp-badge-pulse 1.6s ease-in-out infinite;
}
.bp-mp-tabs__btn.has-badge {
  position: relative;
}
.bp-mp-tabs__btn.is-active .bp-mp-tabs__badge {
  background: linear-gradient(160deg, #ef4444, #b91c1c) !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px rgba(127, 29, 29, 0.35), 0 2px 8px rgba(185, 28, 28, 0.5);
}
@keyframes bp-mp-badge-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.25), 0 2px 10px rgba(220, 38, 38, 0.45); }
  50% { transform: scale(1.08); box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.15), 0 4px 14px rgba(220, 38, 38, 0.55); }
}

/* Banner de alerta: novas ofertas recebidas */
.bp-mp-offer-alert {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 0.85rem;
  padding: 0.75rem 0.95rem;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  background: linear-gradient(120deg, rgba(127, 29, 29, 0.55), rgba(30, 20, 18, 0.92) 55%, rgba(20, 16, 14, 0.95));
  border: 1px solid rgba(248, 113, 113, 0.45);
  box-shadow: 0 8px 24px rgba(185, 28, 28, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}
.bp-mp-offer-alert:hover {
  border-color: rgba(252, 165, 165, 0.65);
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(185, 28, 28, 0.28);
}
.bp-mp-offer-alert__ico {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: rgba(239, 68, 68, 0.25);
  border: 1px solid rgba(248, 113, 113, 0.4);
  color: #fca5a5;
  font-size: 1rem;
  animation: bp-mp-badge-pulse 1.6s ease-in-out infinite;
}
.bp-mp-offer-alert__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}
.bp-mp-offer-alert__body strong {
  font-size: 0.9rem;
  font-weight: 800;
  color: #fecaca;
  line-height: 1.25;
}
.bp-mp-offer-alert__body em {
  font-style: normal;
  font-size: 0.78rem;
  color: rgba(254, 202, 202, 0.75);
  line-height: 1.3;
}
.bp-mp-offer-alert__go {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.7rem;
  border-radius: 8px;
  background: linear-gradient(160deg, #f87171, #dc2626);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .bp-mp-offer-alert {
    flex-wrap: wrap;
  }
  .bp-mp-offer-alert__go {
    width: 100%;
    justify-content: center;
  }
}

.bp-mp-hist__status {
  font-size: 0.85rem;
  font-weight: 800;
}
.bp-mp-hist__status--sold { color: #4ade80; }
.bp-mp-hist__status--bought { color: #f87171; }
.bp-mp-hist__status--expired { color: var(--text-dim-2); }
.bp-mp-hist__status--expired_hold { color: #fbbf24; }
.bp-mp-hist__status--cancelled { color: var(--text-dim-2); }
.bp-mp-hist__date {
  font-size: 0.75rem;
  color: var(--text-dim-2);
}
.bp-mp-hist__hint {
  margin: 0.35rem 0 0;
  font-size: 0.72rem;
  color: #fbbf24;
  line-height: 1.35;
}
.bp-mp-hist__hint--ok {
  color: var(--text-dim-2);
}
.bp-mp-btn-reclaim {
  max-width: none;
  width: 100%;
  margin-top: 0.5rem;
  background: linear-gradient(160deg, #f0b429, #e29a12 55%, #c47d0a) !important;
  color: #1a1305 !important;
  box-shadow: 0 6px 16px rgba(226, 154, 18, 0.28) !important;
}
@media (max-width: 640px) {
  .bp-mp-tabs { gap: 0.35rem; }
  .bp-mp-tabs__btn {
    padding: 0.5rem 0.7rem;
    font-size: 0.72rem;
  }
  .bp-mp-tabs__btn span { /* keep labels on mobile */ }
}
.bp-mp-items__head h1 {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}
.bp-mp-items__sub {
  margin: 0.35rem 0 0;
  color: var(--text-muted);
  font-size: 0.88rem;
}
/* Vender (itens + personagens) — mesmo porte das abas Itens/Personagens + brilho */
.bp-mp-items__sell-cta,
a.bp-mp-items__sell-cta.bp-btn,
a.bp-mp-items__sell-cta.bp-btn--sm {
  position: relative;
  overflow: hidden;
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  padding: 0.62rem 1.25rem !important;
  min-height: 2.55rem;
  font-family: var(--font-body);
  font-size: 0.82rem !important;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.2;
  clip-path: none !important;
  border-radius: var(--r-pill) !important;
  background: linear-gradient(160deg, #4ade80, #22c55e 48%, #16a34a) !important;
  color: #06140a !important;
  border: 1px solid rgba(134, 239, 172, 0.55) !important;
  box-shadow:
    0 0 0 1px rgba(34, 197, 94, 0.2),
    0 0 22px rgba(34, 197, 94, 0.5),
    0 0 40px rgba(34, 197, 94, 0.22),
    0 6px 18px rgba(0, 0, 0, 0.35);
  z-index: 0;
}
.bp-mp-items__sell-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    105deg,
    transparent 0%,
    transparent 38%,
    rgba(255, 255, 255, 0.55) 50%,
    transparent 62%,
    transparent 100%
  );
  transform: translateX(-120%);
  animation: bp-mp-sell-shine 2.8s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}
.bp-mp-items__sell-cta > * {
  position: relative;
  z-index: 2;
}
.bp-mp-items__sell-cta:hover {
  filter: brightness(1.08);
  box-shadow:
    0 0 0 1px rgba(74, 222, 128, 0.45),
    0 0 28px rgba(34, 197, 94, 0.65),
    0 0 48px rgba(34, 197, 94, 0.3),
    0 8px 20px rgba(0, 0, 0, 0.4);
  color: #041008 !important;
  transform: translateY(-1px);
}
.bp-mp-items__sell-cta.is-active {
  box-shadow:
    0 0 0 2px rgba(34, 197, 94, 0.55),
    0 0 26px rgba(34, 197, 94, 0.55),
    0 0 42px rgba(34, 197, 94, 0.28);
}
@keyframes bp-mp-sell-shine {
  0%, 55% { transform: translateX(-120%); opacity: 0; }
  60% { opacity: 1; }
  85% { transform: translateX(120%); opacity: 0.85; }
  100% { transform: translateX(120%); opacity: 0; }
}

/* Icon strip */
.bp-mp-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  padding: 0.85rem;
  margin-bottom: 1.1rem;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-mp-cats__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  min-width: 72px;
  padding: 0.65rem 0.55rem 0.55rem;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-muted);
  text-decoration: none;
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.bp-mp-cats__item:hover {
  color: var(--text);
  border-color: rgba(226, 177, 90, 0.35);
  background: rgba(226, 177, 90, 0.06);
  transform: translateY(-2px);
}
.bp-mp-cats__item.is-active {
  color: #f5e6c0;
  border-color: rgba(226, 177, 90, 0.65);
  background: rgba(226, 177, 90, 0.1);
  box-shadow: 0 0 0 1px rgba(226, 177, 90, 0.2), 0 0 20px rgba(226, 177, 90, 0.12);
}
.bp-mp-cats__icon {
  display: grid;
  place-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(226, 177, 90, 0.15);
  font-size: 1.05rem;
  color: #e2b15a;
}
.bp-mp-cats__item.is-active .bp-mp-cats__icon {
  color: #ffe08a;
  border-color: rgba(226, 177, 90, 0.45);
  box-shadow: 0 0 14px rgba(226, 177, 90, 0.2);
}
.bp-mp-cats__label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.2;
  max-width: 76px;
}

.bp-mp-items__filters { margin-bottom: 0.85rem; }
.bp-mp-items__search-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: rgba(0, 0, 0, 0.25);
}
.bp-mp-items__search-row i { color: var(--text-dim-2); }
.bp-mp-items__search-row .bp-input {
  flex: 1;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.bp-mp-items__sort {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.7rem;
  font-size: 0.78rem;
  color: var(--text-muted);
}
.bp-mp-items__sort .bp-mkt-chip.is-on {
  border-color: rgba(226, 177, 90, 0.45);
  color: #f5e6c0;
  background: rgba(226, 177, 90, 0.12);
}
.bp-mp-items__sort .bp-mkt-chip.is-warn.is-on {
  border-color: rgba(230, 57, 70, 0.45);
  color: var(--brand-200);
  background: rgba(230, 57, 70, 0.12);
}
.bp-mp-items__count {
  margin: 0 0 1rem;
  font-size: 0.88rem;
  color: var(--text-muted);
}
.bp-mp-items__meta-row .bp-mp-items__count { margin: 0; }
.bp-mp-items__count strong { color: var(--text); }

/* Catalog (joias / boxes) */
.bp-mp-catalog {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.85rem;
}
.bp-mp-catalog__card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--surface);
  color: var(--text);
  text-decoration: none;
  transition: border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.bp-mp-catalog__card:hover {
  border-color: rgba(226, 177, 90, 0.4);
  transform: translateY(-2px);
}
.bp-mp-catalog__card.is-empty { opacity: 0.72; }
.bp-mp-catalog__ico {
  width: 44px;
  height: 44px;
  display: grid;
  place-content: center;
  border-radius: 12px;
  background: rgba(226, 177, 90, 0.1);
  color: #e2b15a;
  font-size: 1.1rem;
}
.bp-mp-catalog__meta strong { display: block; font-size: 0.95rem; }
.bp-mp-catalog__meta span { font-size: 0.8rem; color: var(--text-muted); }
.bp-mp-catalog__foot {
  margin-top: auto;
  padding-top: 0.55rem;
  border-top: 1px solid var(--line-soft);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}

/* Listing cards — simples: img, nome, pills, preço, COMPRAR + oferta */
.bp-mp-item-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}
.bp-mp-item-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(18, 20, 28, 0.98), rgba(10, 12, 18, 0.98));
  box-shadow: var(--shadow-1);
  overflow: hidden;
  transition: border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.bp-mp-item-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
  border-color: var(--line-brand-soft);
}
.bp-mp-item-card--excellent { border-color: rgba(34, 197, 94, 0.28); }
.bp-mp-item-card--ancient { border-color: rgba(163, 230, 53, 0.28); }
.bp-mp-item-card__media {
  display: grid;
  place-content: center;
  height: 130px;
  margin: 0.85rem 0.85rem 0;
  border-radius: 50%;
  width: 120px;
  height: 120px;
  align-self: center;
  background:
    radial-gradient(circle at 50% 40%, rgba(80, 200, 120, 0.18), transparent 60%),
    rgba(0, 0, 0, 0.4);
  border: 1px solid var(--line-soft);
  color: var(--text-dim-2);
  font-size: 1.6rem;
  overflow: hidden;
}
.bp-mp-item-card--excellent .bp-mp-item-card__media {
  background:
    radial-gradient(circle at 50% 40%, rgba(34, 197, 94, 0.22), transparent 62%),
    rgba(0, 0, 0, 0.4);
}
.bp-mp-item-card__media img {
  max-width: 72px;
  max-height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.15));
}
.bp-mp-item-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.75rem 1rem 1rem;
  flex: 1;
  text-align: center;
}
.bp-mp-item-card__name {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  min-height: 2.4em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bp-mp-item-card__pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem;
}
.bp-mp-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--line-soft);
  color: var(--text-muted);
}
.bp-mp-pill--exe {
  color: #86efac;
  border-color: rgba(34, 197, 94, 0.4);
  background: rgba(34, 197, 94, 0.12);
}
.bp-mp-pill--luck {
  color: #7dd3fc;
  border-color: rgba(56, 189, 248, 0.35);
  background: rgba(56, 189, 248, 0.1);
}
.bp-mp-pill--muted { opacity: 0.8; }
.bp-mp-item-card__time {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  font-size: 0.68rem;
}
.bp-mp-item-card__ago {
  color: var(--text-dim-2);
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.bp-mp-item-card__exp {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: #fbbf24;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.65rem;
}
.bp-mp-item-card__exp.is-urgent { color: #f87171; }
.bp-mp-item-card__price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0.15rem;
}
.bp-mp-item-card__price i { color: #f5c542; font-size: 0.9rem; }
.bp-mp-item-card__price strong {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  color: #f5c542;
}
.bp-mp-item-card__price small {
  font-size: 0.7rem;
  color: #c4a35a;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.bp-mp-item-card__acts {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: auto;
  padding-top: 0.55rem;
}
.bp-mp-btn-buy {
  flex: 1;
  max-width: 150px;
  padding: 0.65rem 1rem;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(160deg, #3ecf7a, #22a55a 55%, #178a48);
  color: #fff;
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(34, 197, 94, 0.25);
  transition: filter var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.bp-mp-btn-buy:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}
.bp-mp-btn-offer {
  width: 42px;
  height: 42px;
  display: grid;
  place-content: center;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(160deg, #4da3ff, #2563eb);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3);
  transition: filter var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.bp-mp-btn-offer:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}
.bp-mp-btn-offer--sm {
  width: 34px;
  height: 34px;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.28);
  font-size: 0.85rem;
}
.bp-mp-btn-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.6rem 0.9rem;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
}
.bp-mp-btn-cancel:hover {
  color: var(--brand-200);
  border-color: var(--line-brand-soft);
}
.bp-mp-item-card__guest-hint {
  font-size: 0.78rem;
  color: var(--text-dim-2);
}

/* Modal Buy Item — simples + detalhes do item */
/* Modal open: trava scroll; sempre limpar body+html ao fechar (JS unlockScroll) */
body.bp-mp-modal-open,
html.bp-mp-modal-open {
  overflow: hidden;
}
body.bp-mp-modal-open {
  touch-action: none;
}
.bp-mp-modal {
  position: fixed;
  inset: 0;
  z-index: 10070;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.bp-mp-modal[hidden] { display: none !important; }
.bp-mp-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 6, 10, 0.78);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.bp-mp-modal__panel {
  position: relative;
  z-index: 1;
  width: min(400px, 100%);
  max-height: min(90vh, 720px);
  overflow: auto;
  padding: 1.25rem 1.25rem 1.15rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #151821, #0e1018);
  box-shadow: var(--shadow-3), var(--glow-brand);
  animation: bp-popup-in 0.28s var(--ease) both;
}
.bp-mp-modal__panel--buy { text-align: center; }
/* Venda personagem — layout 2 colunas (chars | anúncio) estilo itens */
.bp-mp-sell-chars {
  /* reutiliza .bp-mp-sell-items grid */
}
.bp-mp-char-pick-panel {
  min-width: 0;
}
.bp-mp-char-pick {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
  gap: 0.75rem;
  padding: 0.35rem 0.15rem 0.5rem;
  max-height: min(70vh, 640px);
  overflow-y: auto;
}
.bp-mp-char-pick__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  padding: 0.7rem 0.45rem 0.65rem;
  border-radius: var(--r-md, 12px);
  border: 1px solid var(--line-soft);
  background: rgba(0, 0, 0, 0.22);
  text-decoration: none;
  color: inherit;
  text-align: center;
  transition: border-color var(--t-fast) var(--ease),
              background var(--t-fast) var(--ease),
              box-shadow var(--t-fast) var(--ease),
              transform var(--t-fast) var(--ease);
}
.bp-mp-char-pick__item:hover {
  border-color: var(--line-brand-soft);
  background: rgba(230, 57, 70, 0.08);
  transform: translateY(-2px);
  color: inherit;
}
.bp-mp-char-pick__item.is-active {
  border-color: rgba(245, 166, 35, 0.65);
  background:
    linear-gradient(180deg, rgba(245, 166, 35, 0.14), rgba(0, 0, 0, 0.18));
  box-shadow: 0 0 0 1px rgba(245, 166, 35, 0.25), 0 8px 22px rgba(0, 0, 0, 0.35);
}
.bp-mp-char-pick__avatar {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  display: grid;
  place-content: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 30%, rgba(96, 165, 250, 0.22), transparent 65%),
    linear-gradient(165deg, rgba(30, 36, 48, 0.98), rgba(10, 12, 18, 0.99));
  border: 2px solid rgba(148, 163, 184, 0.35);
  flex-shrink: 0;
}
.bp-mp-char-pick__avatar img {
  width: 90%;
  height: 94%;
  object-fit: contain;
  object-position: center center;
  display: block;
}
.bp-mp-char-pick__avatar i {
  font-size: 1.6rem;
  color: var(--brand-300);
}
.bp-mp-char-pick__name {
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bp-mp-char-pick__meta {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--text-muted);
}
.bp-mp-char-pick__class {
  font-size: 0.62rem;
  color: var(--text-dim-2);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bp-mp-sell-preview--char .bp-mp-sell-preview__ico--char {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  display: grid;
  place-content: center;
  background:
    radial-gradient(circle at 50% 30%, rgba(96, 165, 250, 0.2), transparent 65%),
    rgba(0, 0, 0, 0.28);
  border: 2px solid rgba(148, 163, 184, 0.3);
}
.bp-mp-sell-preview--char .bp-mp-sell-preview__ico--char img {
  width: 90%;
  height: 94%;
  object-fit: contain;
}
.bp-mp-sell-preview--char .bp-mp-sell-preview__ico--char i {
  font-size: 1.5rem;
  color: var(--brand-300);
}
.bp-mp-char-req--inline {
  margin: 0 0 1rem;
}
.bp-mp-char-sell-page .bp-mkt-panel--form .bp-mkt-form {
  max-width: none;
}

/* Modal vender personagem (legado — se ainda for usado em algum link) */
.bp-mp-modal__panel--char-sell {
  width: min(640px, 100%);
  max-width: min(640px, calc(100vw - 2rem));
  max-height: min(92vh, 900px);
  padding: 1.4rem 1.45rem 1.3rem;
  text-align: left;
}
.bp-mp-modal__panel--char-sell .bp-mp-modal__title {
  text-align: left;
  font-size: 1.2rem;
  margin-bottom: 0.85rem;
  padding-right: 2.2rem;
}
.bp-mp-modal__panel--char-sell .bp-mkt-form {
  max-width: none;
  width: 100%;
}
.bp-mp-modal__panel--char-sell .bp-mp-price-table-wrap {
  width: 100%;
}
.bp-mp-modal__panel--char-sell .bp-mp-price-table {
  min-width: 0; /* cabe na box larga sem scroll desnecessário */
  width: 100%;
}
.bp-mp-modal__panel--char-sell .bp-mp-price-table thead th:first-child,
.bp-mp-modal__panel--char-sell .bp-mp-price-row__coin {
  min-width: 12rem;
  width: 40%;
}
.bp-mp-modal__panel--char-sell .bp-mp-price-input {
  width: 100%;
  min-width: 5.5rem;
  max-width: 9rem;
}
.bp-mp-modal__panel--char-sell .bp-mp-stepper {
  max-width: 11rem;
}
.bp-mp-char-sell-modes {
  justify-content: center;
  margin: 0.35rem 0 0.9rem;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.bp-mp-char-sell-modes .bp-mp-pay-mode {
  min-width: 7.5rem;
  justify-content: center;
  border-radius: 999px;
  padding: 0.48rem 1.15rem;
  background: rgba(255, 255, 255, 0.06);
  border-color: transparent;
  color: var(--text-muted);
  font-weight: 700;
}
.bp-mp-char-sell-modes .bp-mp-pay-mode i { display: none; }
.bp-mp-char-sell-modes .bp-mp-pay-mode.is-on {
  background: linear-gradient(180deg, #f5a623, #e08910);
  border-color: transparent;
  color: #1a1205;
  box-shadow: 0 4px 14px rgba(240, 150, 30, 0.35);
}
.bp-mp-char-sell-modes .bp-mp-pay-mode.is-on span { color: #1a1205; }
.bp-mp-char-sell-select {
  width: 100%;
  margin-bottom: 0.25rem;
}
.bp-mp-char-sell-submit {
  margin-top: 0.55rem;
  letter-spacing: 0.06em;
  font-weight: 800;
  text-transform: uppercase;
}
.bp-mp-char-sell-submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
@media (max-width: 560px) {
  .bp-mp-modal__panel--char-sell {
    width: 100%;
    max-width: calc(100vw - 1rem);
    padding: 1.1rem 0.95rem 1rem;
  }
  .bp-mp-modal__panel--char-sell .bp-mp-price-table thead th:first-child,
  .bp-mp-modal__panel--char-sell .bp-mp-price-row__coin {
    min-width: 8.5rem;
    width: auto;
  }
}
.bp-mp-modal__x {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 32px;
  height: 32px;
  display: grid;
  place-content: center;
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text-muted);
  cursor: pointer;
}
.bp-mp-modal__x:hover { color: var(--text); border-color: var(--line-brand-soft); }
.bp-mp-modal__title {
  margin: 0 0 1rem;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text);
  padding-right: 2rem;
  text-align: left;
}
.bp-mp-modal__preview {
  padding: 1rem 0.75rem 0.5rem;
  margin-bottom: 0.85rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.28);
}
.bp-mp-modal__img {
  width: 88px;
  height: 88px;
  margin: 0 auto 0.75rem;
  display: grid;
  place-content: center;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 40%, rgba(80, 200, 120, 0.15), transparent 65%), rgba(0, 0, 0, 0.35);
  border: 1px solid var(--line-soft);
  color: var(--text-dim-2);
  overflow: hidden;
}
.bp-mp-modal__img img {
  max-width: 64px;
  max-height: 64px;
  object-fit: contain;
}
.bp-mp-modal__detail {
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--text-muted);
  text-align: center;
}
.bp-mp-modal__detail .item-desc,
.bp-mp-modal__tooltip {
  display: inline-block;
  text-align: center;
  max-width: 100%;
}
.bp-mp-modal__detail .item-desc div {
  margin: 0.15rem 0;
}
.bp-mp-modal__loading {
  padding: 1rem;
  color: var(--text-dim-2);
}
.bp-mp-modal__price-row {
  display: flex;
  justify-content: center;
  margin: 0.5rem 0 1rem;
}
.bp-mp-modal__price-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1.1rem;
  border-radius: 999px;
  background: linear-gradient(160deg, rgba(245, 197, 66, 0.18), rgba(226, 177, 90, 0.1));
  border: 1px solid rgba(245, 197, 66, 0.4);
  color: #f5c542;
}
.bp-mp-modal__price-chip strong {
  font-family: var(--font-display);
  font-size: 1.15rem;
}
.bp-mp-modal__price-chip small {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #c4a35a;
}
.bp-mp-modal__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
}
.bp-mp-modal__acts--center {
  justify-content: center;
}
.bp-mp-modal__confirm-buy {
  min-width: 140px;
  background: linear-gradient(160deg, #f0b429, #e29a12 55%, #c47d0a) !important;
  color: #1a1305 !important;
  border: 0 !important;
  font-weight: 800 !important;
  box-shadow: 0 6px 18px rgba(226, 154, 18, 0.3) !important;
}
.bp-btn--outline {
  background: transparent !important;
  border: 1px solid rgba(245, 197, 66, 0.45) !important;
  color: #f5c542 !important;
  box-shadow: none !important;
}
.bp-btn--outline:hover {
  background: rgba(245, 197, 66, 0.1) !important;
  border-color: rgba(245, 197, 66, 0.7) !important;
}
@media (max-width: 520px) {
  .bp-mp-modal__acts { flex-direction: column; }
  .bp-mp-modal__acts .bp-btn { width: 100%; }
}

.bp-mp-items__pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
  color: var(--text-muted);
  font-size: 0.88rem;
}

/* Sell Itens/Personagens — respiro entre abas e painéis (baú / anúncio) */
.bp-mp-items-sell .bp-mp-items__tabs-row,
.bp-mp-char-sell-page .bp-mp-items__tabs-row {
  margin-bottom: 1rem;
}
.bp-mp-items-sell .bp-mkt-toolbar,
.bp-mp-char-sell-page .bp-mkt-toolbar {
  margin-bottom: 0.85rem;
}
.bp-mp-sell-items {
  display: grid;
  grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
  gap: 1.1rem;
  align-items: start;
  margin-top: 0.15rem;
}
/* Form de anúncio mais largo (nomes de joias não quebram) */
.bp-mp-sell-items .bp-mkt-panel--form {
  min-width: 0;
}
.bp-mp-sell-items .bp-mkt-form.bp-mp-sell-pay {
  max-width: none;
  width: 100%;
}
@media (max-width: 900px) {
  .bp-mp-sell-items { grid-template-columns: 1fr; }
}
.bp-mp-wh-toggle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: rgba(0, 0, 0, 0.22);
  color: var(--text-muted);
  font-size: 0.88rem;
  font-weight: 600;
}
.bp-mp-wh-stage {
  display: flex;
  justify-content: center;
  padding: 0.75rem;
  overflow: auto;
}
/* Frame do baú: morpheus.min.css define grid 256x480 + posições absolutas */
.bp-mp-wh-game.morpheus-warehouse,
.bp-mp-wh-panel .morpheus-warehouse {
  float: none !important;
  margin: 0 auto;
  border: 1px solid rgba(226, 177, 90, 0.25) !important;
  border-radius: 4px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45), inset 0 0 40px rgba(0, 0, 0, 0.35);
}
.bp-mp-wh-game .item.active,
.bp-mp-wh-panel .morpheus-warehouse .item.active {
  border-color: #e2b15a !important;
  box-shadow: 0 0 10px rgba(226, 177, 90, 0.45);
}
/* Stack xN no baú (overlay — core às vezes não renderiza o span) */
.bp-mp-wh-game .item .image,
.bp-mp-wh-panel .morpheus-warehouse .item .image {
  position: relative !important;
  overflow: visible !important;
}
/* Stack só no baú de venda — bem pequeno para não tapar joia 1x1 */
.bp-mp-wh-game .item .image span,
.bp-mp-wh-game .item span.bp-mp-wh-stack,
.bp-mp-wh-panel .morpheus-warehouse .item .image span,
.bp-mp-wh-panel .morpheus-warehouse .item span.bp-mp-wh-stack {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  top: auto !important;
  z-index: 5 !important;
  margin: 0 !important;
  padding: 0 2px !important;
  min-width: 0 !important;
  max-width: 90%;
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.78) !important;
  border: none !important;
  color: #5eead4 !important;
  font-size: 7px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
  text-align: center;
  pointer-events: none;
  transform: none;
  box-shadow: none;
}
.bp-mp-wh-hint {
  margin: 0.65rem 0 0;
  padding: 0 0.25rem;
  font-size: 0.78rem;
  color: var(--text-dim-2);
  text-align: center;
}
.bp-mp-wh-hint i { margin-right: 0.35rem; color: #e2b15a; }
.bp-mp-sell-preview {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1rem;
  padding: 0.85rem;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.22);
}
.bp-mp-sell-preview__ico {
  position: relative;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
}
.bp-mp-sell-preview img,
.bp-mp-sell-preview__ico img {
  width: 56px;
  height: 56px;
  object-fit: contain;
}
.bp-mp-item-card__media {
  position: relative;
}
.bp-mp-item-card__stack {
  position: absolute;
  right: 4px;
  bottom: 4px;
  min-width: 1.4rem;
  padding: 0.1rem 0.3rem;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.75);
  border: 1px solid rgba(94, 234, 212, 0.45);
  color: #5eead4;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  pointer-events: none;
}
.bp-mp-pill--stack {
  background: rgba(94, 234, 212, 0.15) !important;
  color: #5eead4 !important;
  border-color: rgba(94, 234, 212, 0.35) !important;
  font-weight: 800;
}
.bp-mp-sell-preview__meta { min-width: 0; flex: 1; }
.bp-mp-item-name {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  word-break: break-word;
}
/* Cores padrão Morpheus (getFullName) no tema escuro BRPlay */
.bp-mp-item-name .normal,
.bp-mp-item-name span.normal { color: #e8e6df; }
.bp-mp-item-name .excellent,
.bp-mp-item-name span.excellent { color: #19ff80; }
.bp-mp-item-name .ancient,
.bp-mp-item-name span.ancient { color: #9f0; }
.bp-mp-item-name .socket,
.bp-mp-item-name span.socket { color: #c3c; }
.bp-mp-item-name .high-level,
.bp-mp-item-name span.high-level { color: #fc3; }
.bp-mp-sell-preview__slot {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.8rem;
  color: var(--text-muted);
}

/* Sell — tabela preço / taxa / você recebe */
.bp-mp-price-table-wrap {
  margin-bottom: 0.5rem;
  overflow-x: auto;
  border-radius: var(--r-md, 10px);
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.22);
  width: 100%;
}
.bp-mp-price-table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  table-layout: auto;
  font-size: 0.88rem;
}
.bp-mp-price-table thead th {
  padding: 0.65rem 0.75rem;
  text-align: left;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  white-space: nowrap;
}
.bp-mp-price-table thead th:first-child {
  min-width: 11.5rem;
  width: 38%;
}
.bp-mp-price-table tbody td {
  padding: 0.55rem 0.75rem;
  vertical-align: middle;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.bp-mp-price-table tbody tr:last-child td { border-bottom: 0; }
.bp-mp-price-row.is-filled {
  background: rgba(226, 177, 90, 0.06);
}
.bp-mp-price-row__coin {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  min-width: 11rem;
  white-space: nowrap;
}
.bp-mp-price-row__coin span {
  white-space: nowrap;
}
.bp-mp-price-row__coin i { color: #e2b15a; flex-shrink: 0; }
.bp-mp-price-row__ico {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
}
.bp-mp-price-row__tax {
  color: var(--text-muted);
  font-weight: 600;
  white-space: nowrap;
}
.bp-mp-price-row__net {
  color: #5eead4;
  font-weight: 800;
  font-size: 1rem;
  white-space: nowrap;
}
.bp-mp-price-input {
  min-height: 38px !important;
  max-width: 110px;
  text-align: center;
  font-weight: 700;
  padding: 0.3rem 0.4rem !important;
}
.bp-mp-coin-select {
  min-height: 38px !important;
  max-width: 160px;
  font-size: 0.85rem !important;
  padding: 0.25rem 0.4rem !important;
}
.bp-mp-stepper {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.bp-mp-stepper__btn {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.35);
  color: var(--text);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
}
.bp-mp-stepper__btn:hover {
  border-color: rgba(226, 177, 90, 0.5);
  color: #e2b15a;
}
.bp-mp-stepper .bp-mp-price-input {
  max-width: 72px;
}
.bp-mp-price-table__hint {
  margin: 0;
  padding: 0.55rem 0.75rem 0.7rem;
  font-size: 0.75rem;
  color: var(--text-muted);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  line-height: 1.4;
}
.bp-mp-price-table__hint strong { color: #e2b15a; }

/* Sell — Contraoferta (toggle + meios aceitos) */
.bp-mp-contra {
  margin: 1rem 0 0.85rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(15, 23, 42, 0.45);
}
.bp-mp-contra__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.bp-mp-contra__toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  margin: 0;
  user-select: none;
}
.bp-mp-contra__title {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 700;
  color: var(--text, #e2e8f0);
  font-size: 0.95rem;
}
.bp-mp-contra__title i { color: #60a5fa; }
.bp-mp-contra__tip {
  display: inline-grid;
  place-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  font-style: normal;
  font-size: 0.65rem;
  font-weight: 800;
  background: rgba(148, 163, 184, 0.25);
  color: #cbd5e1;
  cursor: help;
}
.bp-mp-switch {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}
.bp-mp-switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}
.bp-mp-switch__slider {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(71, 85, 105, 0.7);
  transition: background 0.15s;
  cursor: pointer;
}
.bp-mp-switch__slider::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #f8fafc;
  transition: transform 0.15s;
  box-shadow: 0 1px 3px rgba(0,0,0,0.35);
}
.bp-mp-switch input:checked + .bp-mp-switch__slider {
  background: linear-gradient(90deg, #34d399, #10b981);
}
.bp-mp-switch input:checked + .bp-mp-switch__slider::after {
  transform: translateX(20px);
}
.bp-mp-contra__all {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  color: var(--text-muted, #94a3b8);
  cursor: pointer;
  margin: 0;
  user-select: none;
}
.bp-mp-contra__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem 0.75rem;
  margin-top: 0.85rem;
}
/* [hidden] precisa de !important: display:grid sobrescreve o hidden nativo */
.bp-mp-contra__grid[hidden],
.bp-mp-contra__all[hidden],
.bp-mp-contra__panel[hidden],
.bp-mp-contra__hint[hidden],
#bp-mp-offer-pay-grid[hidden],
#bp-mp-offer-select-all-wrap[hidden],
#bp-mp-contra-hint[hidden] {
  display: none !important;
}
.bp-mp-contra__panel {
  margin-top: 0.35rem;
}
@media (min-width: 520px) {
  .bp-mp-contra__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.bp-mp-contra__opt {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.5rem;
  border-radius: 8px;
  border: 1px solid transparent;
  cursor: pointer;
  margin: 0;
  user-select: none;
  transition: background 0.12s, border-color 0.12s;
}
.bp-mp-contra__opt:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(148, 163, 184, 0.15);
}
.bp-mp-contra__opt-ico {
  width: 22px;
  height: 22px;
  display: grid;
  place-content: center;
  flex-shrink: 0;
}
.bp-mp-contra__opt-ico img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.bp-mp-contra__opt-ico i {
  color: #e2b15a;
  font-size: 0.9rem;
}
.bp-mp-contra__opt-label {
  flex: 1;
  min-width: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text, #e2e8f0);
}
.bp-mp-contra__check {
  width: 16px;
  height: 16px;
  accent-color: #10b981;
  flex-shrink: 0;
}
.bp-mp-contra__hint {
  margin: 0.65rem 0 0 !important;
  font-size: 0.78rem !important;
}

/* Sell — meios de pagamento (Credits / Moedas / Joias) */
.bp-mp-pay-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.bp-mp-pay-mode {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.9rem;
  border-radius: var(--r-md, 10px);
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.28);
  color: var(--text-muted);
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 600;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
  user-select: none;
}
.bp-mp-pay-mode input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.bp-mp-pay-mode i { color: #e2b15a; font-size: 0.95rem; }
.bp-mp-pay-mode:hover {
  border-color: rgba(226, 177, 90, 0.45);
  color: var(--text);
}
.bp-mp-pay-mode.is-on {
  border-color: rgba(226, 177, 90, 0.75);
  background: rgba(226, 177, 90, 0.12);
  color: var(--text);
  box-shadow: 0 0 0 1px rgba(226, 177, 90, 0.2);
}
.bp-mp-pay-panel { display: grid; gap: 0.85rem; }
.bp-mp-pay-panel[hidden] { display: none !important; }
.bp-mp-jewel-hint { margin: 0 0 0.35rem; }

.bp-mp-jewel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
  gap: 0.65rem;
}
.bp-mp-jewel-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  padding: 0.7rem 0.5rem 0.65rem;
  border-radius: var(--r-md, 10px);
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.28);
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.bp-mp-jewel-card.is-filled {
  border-color: rgba(226, 177, 90, 0.8);
  background: rgba(226, 177, 90, 0.1);
  box-shadow: 0 0 0 1px rgba(226, 177, 90, 0.18);
}
.bp-mp-jewel-card__ico {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
}
.bp-mp-jewel-card__ico img {
  max-width: 40px;
  max-height: 40px;
  object-fit: contain;
  image-rendering: auto;
}
.bp-mp-jewel-card__ico i {
  font-size: 1.35rem;
  color: #7dd3fc;
}
.bp-mp-jewel-card__name {
  font-size: 0.72rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.25;
  color: var(--text);
  max-width: 100%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.bp-mp-jewel-card__qty {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.2rem;
  width: 100%;
  margin: 0;
}
.bp-mp-jewel-card__qty-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  text-align: center;
}
.bp-mp-jewel-card__input {
  min-height: 36px !important;
  text-align: center;
  font-weight: 700;
  font-size: 0.95rem !important;
  padding: 0.25rem 0.35rem !important;
}
.bp-mp-jewel-card__input:focus {
  border-color: rgba(226, 177, 90, 0.7);
}

/* Pay line — Credits / Cash / Moedas (tamanho padrão) */
.bp-mp-payline {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}
.bp-mp-payline__item {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}
.bp-mp-payline__ico {
  width: 18px;
  height: 18px;
  object-fit: contain;
  vertical-align: middle;
}

/*
 * Pay line — só Joias:
 * Uma fileira: ícone em cima, valor embaixo; até 5 lado a lado sem scroll.
 * Valores com 3 dígitos (100) cabem no slot.
 */
.bp-mp-payline--jewels {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 0.15rem 0.2rem;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0.1rem 0 0.05rem;
}
.bp-mp-payline--jewels .bp-mp-payline__item {
  flex: 1 1 0;
  min-width: 0;
  max-width: 2.75rem;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.08rem;
  white-space: nowrap;
  box-sizing: border-box;
}
.bp-mp-payline--jewels .bp-mp-payline__ico {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  object-fit: contain;
}
.bp-mp-payline--jewels .bp-mp-payline__item > i.fa-gem {
  font-size: 1rem;
  color: #7dd3fc;
  line-height: 1;
}
.bp-mp-payline--jewels .bp-mp-payline__item strong {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: #f0d78c;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
/* Credits/Cash: strong e small mantêm tamanho do card (não herdado de jewels) */
.bp-mp-item-card__price.bp-mp-payline:not(.bp-mp-payline--jewels) strong {
  font-size: inherit;
}
.bp-mp-item-card__price.bp-mp-payline:not(.bp-mp-payline--jewels) small {
  font-size: inherit;
}

/* Modal — pagamento (joias em colunas; credits/cash em linha destacada) */
.bp-mp-modal__pay-row {
  margin: 0.55rem 0 0.75rem;
  min-height: 0;
  display: flex;
  justify-content: center;
  width: 100%;
}

/* —— Joias: ícone em cima, valor embaixo, várias na linha —— */
.bp-mp-modal__pay-icons--jewels {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.2rem 0.35rem;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.bp-mp-modal__pay-icons--jewels .bp-mp-modal__pay-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  flex: 1 1 0;
  min-width: 0;
  max-width: 3.2rem;
}
.bp-mp-modal__pay-icons--jewels .bp-mp-modal__pay-amt {
  font-size: 0.7rem;
  font-weight: 800;
  color: #f0d78c;
  line-height: 1.1;
  letter-spacing: -0.02em;
  order: 2;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-mp-modal__pay-icons--jewels .bp-mp-modal__pay-icon img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  order: 1;
}
.bp-mp-modal__pay-icons--jewels .bp-mp-modal__pay-icon i {
  font-size: 1.05rem;
  color: #e2b15a;
  order: 1;
  line-height: 1;
}
.bp-mp-modal__pay-icons--jewels .bp-mp-modal__pay-label {
  display: none;
}

/* —— Credits / Cash: uma linha, chip destacado —— */
.bp-mp-modal__pay-icons--single {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  max-width: 100%;
}
.bp-mp-modal__pay-icons--single .bp-mp-modal__pay-icon {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.55rem;
  flex: 0 1 auto;
  min-width: 0;
  max-width: none;
  padding: 0.55rem 1.1rem 0.55rem 0.85rem;
  border-radius: 12px;
  background: linear-gradient(165deg, rgba(36, 32, 24, 0.98), rgba(14, 12, 10, 0.99));
  border: 1px solid rgba(226, 177, 90, 0.35);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.bp-mp-modal__pay-icons--credits .bp-mp-modal__pay-icon {
  border-color: rgba(250, 204, 21, 0.4);
  background: linear-gradient(165deg, rgba(42, 36, 18, 0.98), rgba(16, 14, 8, 0.99));
}
.bp-mp-modal__pay-icons--coin .bp-mp-modal__pay-icon {
  border-color: rgba(96, 165, 250, 0.4);
  background: linear-gradient(165deg, rgba(20, 32, 48, 0.98), rgba(10, 14, 22, 0.99));
}
.bp-mp-modal__pay-icons--single .bp-mp-modal__pay-icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  flex-shrink: 0;
}
.bp-mp-modal__pay-icons--single .bp-mp-modal__pay-icon i {
  font-size: 1.25rem;
  color: #e2b15a;
  line-height: 1;
  flex-shrink: 0;
  width: 1.4rem;
  text-align: center;
}
.bp-mp-modal__pay-icons--coin .bp-mp-modal__pay-icon i {
  color: #60a5fa;
}
.bp-mp-modal__pay-icons--single .bp-mp-modal__pay-amt {
  font-size: 1.15rem;
  font-weight: 800;
  color: #f5d78e;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
}
.bp-mp-modal__pay-icons--coin .bp-mp-modal__pay-amt {
  color: #93c5fd;
}
.bp-mp-modal__pay-icons--single .bp-mp-modal__pay-label {
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(226, 232, 240, 0.75);
  white-space: nowrap;
  max-width: 7rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-mp-modal__pay-icons--coin .bp-mp-modal__pay-label {
  color: rgba(147, 197, 253, 0.85);
}

/* fallback genérico se não tiver modifier */
.bp-mp-modal__pay-icons:not(.bp-mp-modal__pay-icons--jewels):not(.bp-mp-modal__pay-icons--single) {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  justify-content: center;
}

/* Ofertas — cards premium */
.bp-mp-offer-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 0.85rem;
  align-items: stretch;
}
.bp-mp-offer-card,
.bp-mp-offer-card--premium {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  padding: 0.85rem 0.9rem 0.9rem;
  border-radius: 16px;
  border: 1px solid rgba(226, 177, 90, 0.14);
  background:
    linear-gradient(165deg, rgba(28, 32, 44, 0.96) 0%, rgba(12, 14, 20, 0.98) 100%);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  min-width: 0;
  overflow: hidden;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.bp-mp-offer-card:hover {
  border-color: rgba(226, 177, 90, 0.28);
  transform: translateY(-2px);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(226, 177, 90, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.bp-mp-offer-card__glow {
  pointer-events: none;
  position: absolute;
  top: -40%;
  right: -20%;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(226, 177, 90, 0.14), transparent 70%);
  opacity: 0.85;
}
.bp-mp-offer-card__top {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 0.7rem;
  align-items: start;
  z-index: 1;
}
.bp-mp-offer-card__media {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 30%, rgba(226, 177, 90, 0.16), transparent 65%),
    linear-gradient(160deg, rgba(20, 22, 30, 0.95), rgba(8, 10, 14, 0.98));
  border: 1px solid rgba(226, 177, 90, 0.22);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
  flex-shrink: 0;
}
.bp-mp-offer-card__media img {
  max-width: 40px;
  max-height: 40px;
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.45));
}
.bp-mp-offer-card__media i {
  font-size: 1.15rem;
  color: #e2b15a;
}
.bp-mp-offer-card__intro {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.bp-mp-offer-card__body {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.bp-mp-offer-card__name {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: #f8fafc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 auto;
  min-width: 0;
}
.bp-mp-offer-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.55rem;
  font-size: 0.7rem;
  color: var(--text-muted, #94a3b8);
  margin: 0;
  line-height: 1.35;
}
.bp-mp-offer-card__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
}
.bp-mp-offer-card__meta-item i {
  font-size: 0.62rem;
  opacity: 0.75;
  color: #e2b15a;
}
.bp-mp-offer-card__meta-item--warn {
  color: #fcd34d;
  border-color: rgba(251, 191, 36, 0.2);
  background: rgba(251, 191, 36, 0.08);
}
.bp-mp-offer-card__meta-item--warn i { color: #fbbf24; }
.bp-mp-offer-card__meta strong {
  font-weight: 800;
  color: #e2e8f0;
}
.bp-mp-offer-card__pays {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}
.bp-mp-offer-card__pay-block {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
  min-width: 0;
}
/* CONTRA: mesmo estilo de chip da Oferta (sem box dupla), só acento azul no label/chip */
.bp-mp-offer-card__pay-block--counter {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.bp-mp-offer-card__pay-label {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c4b5a0;
  margin: 0;
}
.bp-mp-offer-card__pay-label i { font-size: 0.65rem; opacity: 0.85; }
.bp-mp-offer-card__pay-label--counter,
.bp-mp-offer-card__pay-block--counter .bp-mp-offer-card__pay-label {
  color: #7dd3fc;
}
.bp-mp-offer-chip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.45rem;
  padding: 0.45rem 0.55rem;
  border-radius: 12px;
  background: linear-gradient(165deg, rgba(18, 20, 28, 0.95), rgba(8, 10, 14, 0.98));
  border: 1px solid rgba(226, 177, 90, 0.16);
  min-height: 40px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
.bp-mp-offer-chip--jewels {
  background: linear-gradient(165deg, rgba(28, 24, 18, 0.98), rgba(12, 10, 8, 0.99));
  border-color: rgba(226, 177, 90, 0.28);
}
/* Chip da contra: leve azul, sem “box dentro de box” */
.bp-mp-offer-chip--counter {
  background: linear-gradient(165deg, rgba(16, 28, 48, 0.9), rgba(10, 16, 28, 0.96));
  border-color: rgba(56, 189, 248, 0.32);
}
.bp-mp-offer-chip--counter .bp-mp-offer-chip__item i {
  color: #38bdf8;
}
.bp-mp-offer-chip--counter .bp-mp-offer-chip__item strong {
  color: #e0f2fe;
}
.bp-mp-offer-chip--counter .bp-mp-offer-chip__item em {
  color: #7dd3fc;
}

/* Status balão — cor por etapa (NÃO misturar com has-counter) */
.bp-mp-offer-status {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0.15rem 0 0.1rem;
  padding: 0.55rem 0.75rem;
  border-radius: 12px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.35;
  text-transform: uppercase;
  color: #fde68a;
  background: linear-gradient(145deg, rgba(251, 191, 36, 0.14), rgba(120, 53, 15, 0.25));
  border: 1px solid rgba(251, 191, 36, 0.35);
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.1);
}
.bp-mp-offer-status i {
  margin-top: 0.12rem;
  flex-shrink: 0;
  font-size: 0.78rem;
  opacity: 0.95;
}
/* Pendente / reoferta — amarelo */
.bp-mp-offer-status--pending {
  color: #fde68a;
  background: linear-gradient(145deg, rgba(251, 191, 36, 0.14), rgba(120, 53, 15, 0.25));
  border-color: rgba(251, 191, 36, 0.38);
}
.bp-mp-offer-status--pending i { color: #fbbf24; }
/* Contraoferta — azul */
.bp-mp-offer-status--countered {
  color: #bae6fd;
  background: linear-gradient(145deg, rgba(14, 165, 233, 0.2) 0%, rgba(30, 58, 138, 0.38) 100%);
  border-color: rgba(56, 189, 248, 0.48);
  box-shadow: 0 4px 16px rgba(14, 165, 233, 0.12);
}
.bp-mp-offer-status--countered i { color: #38bdf8; }
/* Aceita — aguardando pagamento — ciano/teal */
.bp-mp-offer-status--accepted {
  color: #99f6e4;
  background: linear-gradient(145deg, rgba(45, 212, 191, 0.16), rgba(15, 118, 110, 0.3));
  border-color: rgba(45, 212, 191, 0.42);
  box-shadow: 0 4px 14px rgba(20, 184, 166, 0.12);
}
.bp-mp-offer-status--accepted i { color: #2dd4bf; }
/* Confirmada / vendida — VERDE */
.bp-mp-offer-status--confirmed {
  color: #bbf7d0;
  background: linear-gradient(145deg, rgba(74, 222, 128, 0.18), rgba(21, 128, 61, 0.32));
  border-color: rgba(74, 222, 128, 0.5);
  box-shadow: 0 4px 16px rgba(34, 197, 94, 0.18);
}
.bp-mp-offer-status--confirmed i { color: #4ade80; }
/* Recusada / cancelada / expirada — vermelho */
.bp-mp-offer-status--rejected,
.bp-mp-offer-status--cancelled {
  color: #fecaca;
  background: linear-gradient(145deg, rgba(239, 68, 68, 0.12), rgba(127, 29, 29, 0.28));
  border-color: rgba(248, 113, 113, 0.38);
}
.bp-mp-offer-status--rejected i,
.bp-mp-offer-status--cancelled i { color: #f87171; }
.bp-mp-offer-chip__item {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  padding: 0.22rem 0.5rem 0.22rem 0.32rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.07);
  line-height: 1;
}
.bp-mp-offer-chip__item img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
}
.bp-mp-offer-chip__item i {
  font-size: 0.8rem;
  color: #e2b15a;
  width: 18px;
  text-align: center;
}
.bp-mp-offer-chip__item strong {
  font-size: 0.9rem;
  font-weight: 900;
  color: #f5e0a8;
  letter-spacing: -0.02em;
  text-shadow: 0 1px 8px rgba(226, 177, 90, 0.25);
}
.bp-mp-offer-chip__item em {
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 700;
  color: #a8b0c0;
  max-width: 5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.bp-mp-offer-card--countered {
  border-color: rgba(96, 165, 250, 0.32);
}
.bp-mp-offer-card--countered .bp-mp-offer-card__glow {
  background: radial-gradient(circle, rgba(96, 165, 250, 0.16), transparent 70%);
}
.bp-mp-offer-card--pending {
  border-color: rgba(251, 191, 36, 0.22);
}
.bp-mp-offer-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.4rem 0.55rem;
}
.bp-mp-offer-card__badge {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: linear-gradient(160deg, rgba(253, 230, 138, 0.16), rgba(251, 191, 36, 0.08));
  color: #fde68a;
  border: 1px solid rgba(253, 230, 138, 0.3);
  box-shadow: 0 0 12px rgba(251, 191, 36, 0.12);
  max-width: 100%;
  line-height: 1.25;
}
.bp-mp-offer-card__badge--accepted { color: #5eead4; border-color: rgba(94, 234, 212, 0.4); background: rgba(45, 212, 191, 0.12); box-shadow: 0 0 12px rgba(45, 212, 191, 0.12); }
.bp-mp-offer-card__badge--countered { color: #93c5fd; border-color: rgba(96, 165, 250, 0.45); background: rgba(59, 130, 246, 0.14); box-shadow: 0 0 12px rgba(59, 130, 246, 0.14); }
.bp-mp-offer-card__badge--confirmed { color: #86efac; border-color: rgba(134, 239, 172, 0.4); background: rgba(34, 197, 94, 0.12); }
.bp-mp-offer-card__badge--cancelled,
.bp-mp-offer-card__badge--rejected { color: #fca5a5; border-color: rgba(248, 113, 113, 0.45); background: rgba(239, 68, 68, 0.12); box-shadow: none; }
.bp-mp-offer-card__rounds {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.05rem;
}
.bp-mp-offer-round {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.18rem 0.45rem;
  border-radius: 8px;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #cbd5e1;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-mp-offer-round i {
  font-size: 0.58rem;
  color: #e2b15a;
  opacity: 0.9;
}
.bp-mp-offer-card__status {
  font-size: 0.72rem;
  font-weight: 700;
  color: #e2b15a;
  margin: 0.1rem 0 0;
  line-height: 1.25;
}
.bp-mp-offer-card--accepted .bp-mp-offer-card__status { color: #5eead4; }
.bp-mp-offer-card--countered .bp-mp-offer-card__status { color: #60a5fa; }
.bp-mp-offer-card--confirmed .bp-mp-offer-card__status { color: #86efac; }
.bp-mp-offer-card--cancelled .bp-mp-offer-card__status,
.bp-mp-offer-card--rejected .bp-mp-offer-card__status { color: #f87171; }
.bp-mp-offer-card__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.15rem;
  align-items: stretch;
}
.bp-mp-offer-act {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex: 1 1 auto;
  min-width: calc(50% - 0.25rem);
  padding: 0.48rem 0.7rem !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border-radius: 10px !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
  box-sizing: border-box;
  line-height: 1.2 !important;
  min-height: 0 !important;
}
.bp-mp-offer-act:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
}
.bp-mp-offer-act--ok {
  background: linear-gradient(160deg, #4ade80, #16a34a) !important;
  color: #04140a !important;
  border: 0 !important;
  box-shadow: 0 6px 18px rgba(22, 163, 74, 0.35);
}
.bp-mp-offer-act--pay {
  background: linear-gradient(160deg, #fde68a, #f59e0b) !important;
  color: #1a1005 !important;
  border: 0 !important;
  font-weight: 900 !important;
  box-shadow: 0 6px 18px rgba(245, 158, 11, 0.3);
}
.bp-mp-offer-act--counter {
  background: linear-gradient(160deg, rgba(37, 99, 235, 0.35), rgba(30, 64, 175, 0.45)) !important;
  border-color: rgba(96, 165, 250, 0.5) !important;
  color: #bfdbfe !important;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.2);
}
.bp-mp-offer-act--no {
  background: rgba(127, 29, 29, 0.35) !important;
  border-color: rgba(248, 113, 113, 0.45) !important;
  color: #fecaca !important;
}
.bp-mp-offer-act--cancel {
  background: rgba(50, 20, 24, 0.55) !important;
  border-color: rgba(248, 113, 113, 0.35) !important;
  color: #fca5a5 !important;
}
.bp-mp-offer-act--msg {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(226, 177, 90, 0.28) !important;
  color: #e8d5a8 !important;
  /* Mensagens fica no fluxo natural (após Oferta → Contra → Status) */
  order: 0;
  flex: 1 1 100%;
  min-width: 100%;
}
/* Esconde rodadas V/C e badge antigo no header */
.bp-mp-offer-card__rounds,
.bp-mp-offer-round {
  display: none !important;
}
.bp-mp-offer-card__head .bp-mp-offer-card__badge {
  display: none !important;
}
/* Badge de mensagens — só pisca quando NÃO LIDA (.is-unread) */
.bp-mp-offer-act--msg em,
.bp-mp-msg-badge {
  position: relative;
  display: none; /* escondido por padrão se lido / sem unread */
  min-width: 1.35rem;
  height: 1.35rem;
  align-items: center;
  justify-content: center;
  margin-left: 0.35rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background: rgba(100, 116, 139, 0.45);
  color: #e2e8f0;
  font-style: normal;
  font-size: 0.7rem;
  font-weight: 900;
  border: 1px solid rgba(148, 163, 184, 0.35);
  letter-spacing: 0;
  line-height: 1;
}
/* Quando há não lidas: mostra + pulsa em vermelho */
.bp-mp-msg-badge.is-unread,
.bp-mp-offer-act--msg em.is-unread {
  display: inline-flex !important;
  background: linear-gradient(160deg, #ff4d6d, #e11d48) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  box-shadow:
    0 0 0 0 rgba(244, 63, 94, 0.55),
    0 0 14px rgba(244, 63, 94, 0.65);
  animation: bp-mp-msg-pulse 1.35s ease-in-out infinite;
}
.bp-mp-msg-badge.is-unread .bp-mp-msg-badge__dot {
  display: block;
}
.bp-mp-msg-badge__dot {
  display: none;
  position: absolute;
  top: -2px;
  right: -2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid #e11d48;
  box-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
  animation: bp-mp-msg-dot 1s ease-in-out infinite;
}
.bp-mp-msg-badge__n {
  position: relative;
  z-index: 1;
}
@keyframes bp-mp-msg-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow:
      0 0 0 0 rgba(244, 63, 94, 0.55),
      0 0 12px rgba(244, 63, 94, 0.55);
  }
  50% {
    transform: scale(1.12);
    box-shadow:
      0 0 0 8px rgba(244, 63, 94, 0),
      0 0 22px rgba(251, 113, 133, 0.9);
  }
}
@keyframes bp-mp-msg-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(0.7); }
}
.bp-mp-offer-msg-btn em {
  display: none;
}
.bp-mp-offer-msg-btn em.is-unread {
  display: inline-flex !important;
  min-width: 1.2rem;
  height: 1.2rem;
  align-items: center;
  justify-content: center;
  margin-left: 0.25rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: linear-gradient(160deg, #ff4d6d, #e11d48);
  color: #fff;
  font-style: normal;
  font-size: 0.7rem;
  font-weight: 900;
  animation: bp-mp-msg-pulse 1.35s ease-in-out infinite;
}
.bp-mp-offer-msg-count {
  float: right;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-muted, #94a3b8);
  letter-spacing: 0.02em;
}
.bp-mp-offer-msg-count.is-near { color: #fbbf24; }
.bp-mp-offer-msg-count.is-full { color: #f87171; }
.bp-mp-offer-msg-field .bp-label {
  display: block;
  width: 100%;
}
.bp-mp-btn-cancel,
a.bp-mp-btn-cancel {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.8rem !important;
  font-size: 0.74rem !important;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #fecaca !important;
  background: rgba(127, 29, 29, 0.5) !important;
  border: 1px solid rgba(248, 113, 113, 0.55) !important;
  border-radius: var(--r-pill) !important;
  text-decoration: none !important;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.15);
  cursor: pointer;
}
.bp-mp-btn-cancel:hover,
a.bp-mp-btn-cancel:hover {
  color: #fff !important;
  background: rgba(185, 28, 28, 0.8) !important;
  border-color: rgba(252, 165, 165, 0.7) !important;
}
.bp-mp-btn-cancel--sm {
  padding: 0.32rem 0.6rem !important;
  font-size: 0.7rem !important;
}
/* ========== Chat de mensagens da oferta ========== */
.bp-mp-modal__panel--msgs,
.bp-mp-chat {
  max-width: 540px;
  width: min(96vw, 540px);
  padding: 0 !important;
  overflow: hidden;
  border-radius: 18px !important;
  border: 1px solid rgba(226, 177, 90, 0.18) !important;
  background:
    linear-gradient(180deg, rgba(28, 32, 44, 0.99) 0%, rgba(10, 12, 18, 0.99) 100%) !important;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.04) !important;
}
.bp-mp-chat__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.95rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background:
    radial-gradient(ellipse 80% 120% at 0% 0%, rgba(226, 177, 90, 0.12), transparent 55%),
    linear-gradient(180deg, rgba(36, 40, 54, 0.95), rgba(18, 20, 28, 0.9));
}
.bp-mp-chat__head-ico {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(226, 177, 90, 0.25), rgba(180, 120, 40, 0.15));
  border: 1px solid rgba(226, 177, 90, 0.35);
  color: #f0d78c;
  font-size: 1.05rem;
  flex-shrink: 0;
  box-shadow: 0 0 16px rgba(226, 177, 90, 0.15);
}
.bp-mp-chat__head-text {
  flex: 1;
  min-width: 0;
}
.bp-mp-chat__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #f8fafc;
  line-height: 1.2;
}
.bp-mp-chat__item {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  color: #94a3b8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-mp-chat__close {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  color: #94a3b8;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
}
.bp-mp-chat__close:hover {
  background: rgba(248, 113, 113, 0.15);
  color: #fecaca;
}
.bp-mp-chat__body {
  position: relative;
  background:
    radial-gradient(ellipse 60% 40% at 50% 0%, rgba(56, 189, 248, 0.04), transparent 60%),
    linear-gradient(180deg, rgba(8, 10, 16, 0.5), rgba(6, 8, 12, 0.85));
}
.bp-mp-chat__body::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  opacity: 0.04;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.5) 1px, transparent 0);
  background-size: 18px 18px;
}
.bp-mp-msgs-thread {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-height: min(52vh, 380px);
  min-height: 180px;
  overflow: auto;
  padding: 1rem 0.9rem 0.85rem;
  margin: 0;
  scroll-behavior: smooth;
}
.bp-mp-msgs-thread::-webkit-scrollbar { width: 6px; }
.bp-mp-msgs-thread::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.25);
  border-radius: 999px;
}
.bp-mp-chat__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 2rem 1rem;
  color: #64748b;
  text-align: center;
}
.bp-mp-chat__empty i { font-size: 1.75rem; opacity: 0.5; }
.bp-mp-chat__empty p { margin: 0; font-size: 0.88rem; }

/* Linha de mensagem estilo chat */
.bp-mp-msgs-row {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
  max-width: 100%;
}
.bp-mp-msgs-row--buyer {
  flex-direction: row;
  align-self: flex-start;
}
.bp-mp-msgs-row--seller {
  flex-direction: row-reverse;
  align-self: flex-end;
  margin-left: auto;
}
.bp-mp-msgs-av {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  color: #0f172a;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}
.bp-mp-msgs-av--buyer {
  background: linear-gradient(145deg, #fde68a, #f59e0b);
  color: #1a1005;
  border: 1px solid rgba(253, 230, 138, 0.5);
}
.bp-mp-msgs-av--seller {
  background: linear-gradient(145deg, #7dd3fc, #2563eb);
  color: #eff6ff;
  border: 1px solid rgba(147, 197, 253, 0.45);
}
.bp-mp-msgs-bubble {
  position: relative;
  max-width: min(82%, 380px);
  padding: 0.55rem 0.75rem 0.6rem;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
.bp-mp-msgs-bubble--buyer {
  border-color: rgba(251, 191, 36, 0.28);
  background: linear-gradient(155deg, rgba(251, 191, 36, 0.16), rgba(120, 53, 15, 0.22));
  border-bottom-left-radius: 4px;
}
.bp-mp-msgs-bubble--seller {
  border-color: rgba(56, 189, 248, 0.35);
  background: linear-gradient(155deg, rgba(14, 165, 233, 0.18), rgba(30, 58, 138, 0.32));
  border-bottom-right-radius: 4px;
}
.bp-mp-msgs-bubble header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.45rem;
  font-size: 0.68rem;
  margin-bottom: 0.28rem;
  line-height: 1.2;
}
.bp-mp-msgs-bubble header strong {
  font-weight: 800;
  color: #f1f5f9;
}
.bp-mp-msgs-role {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.1rem 0.35rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #94a3b8;
}
.bp-mp-msgs-bubble--buyer .bp-mp-msgs-role {
  color: #fde68a;
  background: rgba(251, 191, 36, 0.15);
}
.bp-mp-msgs-bubble--seller .bp-mp-msgs-role {
  color: #7dd3fc;
  background: rgba(56, 189, 248, 0.15);
}
.bp-mp-msgs-bubble header time {
  margin-left: auto;
  font-size: 0.62rem;
  font-weight: 600;
  color: #64748b;
  white-space: nowrap;
}
.bp-mp-msgs-bubble p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #e2e8f0;
  white-space: pre-wrap;
  word-break: break-word;
}
.bp-mp-chat__foot {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.65rem;
  padding: 0.75rem 1rem 0.95rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(12, 14, 20, 0.95);
}
.bp-mp-chat__hint {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #64748b;
}
.bp-mp-chat__hint i {
  margin-top: 0.15rem;
  color: #e2b15a;
  opacity: 0.75;
  flex-shrink: 0;
}
.bp-mp-chat__close-btn {
  width: 100%;
  justify-content: center;
}
/* Esconde o X antigo se sobrar no markup */
.bp-mp-chat > .bp-mp-modal__x {
  display: none !important;
}
.bp-mp-offer-msg-field {
  margin-top: 0.55rem;
  margin-bottom: 0;
}
.bp-mp-offer-msg-field textarea {
  resize: vertical;
  min-height: 2.6rem;
  max-height: 5.5rem;
  font-size: 0.86rem;
  line-height: 1.35;
}
.bp-mp-offer-form__acts {
  margin-top: 0.65rem !important;
  padding-top: 0;
  gap: 0.5rem;
}

/* ========== Withdrawals (saques no painel) ========== */
.bp-wd {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  width: 100%;
  min-width: 0;
}
/* Ocupa a área útil do painel (tela cheia do main) */
.bp-wd--full {
  min-height: calc(100vh - 220px);
  min-height: calc(100dvh - 220px);
}
/* Esquerda: saques (maior) · Direita: chaves PIX (menor) */
.bp-wd__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.75fr) minmax(260px, 0.85fr);
  gap: 1.15rem;
  align-items: stretch;
  flex: 1 1 auto;
  min-height: 0;
}
@media (max-width: 1100px) {
  .bp-wd__grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.9fr);
  }
}
@media (max-width: 980px) {
  .bp-wd__grid {
    grid-template-columns: 1fr;
  }
  .bp-wd--full {
    min-height: 0;
  }
}
.bp-wd__pix-add,
.bp-wd__saque-add {
  margin-top: auto;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-wd__pix-add-btn {
  width: 100%;
  justify-content: center;
}
.bp-wd__pix-add-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
/* Bloqueio VIP (sem listar saques/chaves) */
.bp-wd__card--vip-block {
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse 70% 80% at 50% 0%, rgba(251, 191, 36, 0.1), transparent 55%),
    var(--surface, rgba(16, 18, 26, 0.92));
}
.bp-wd__vip-gate--panel {
  text-align: center;
  max-width: 420px;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}
.bp-wd__vip-gate--panel .bp-wd__vip-gate-ico {
  width: 64px;
  height: 64px;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  border-radius: 18px;
  font-size: 1.6rem;
  color: #fde68a;
  background: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.35);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
}
.bp-wd__vip-gate--panel h3 {
  margin: 0 0 0.55rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: #f8fafc;
}
.bp-wd__vip-gate--panel p {
  margin: 0 0 0.45rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #cbd5e1;
}
.bp-wd__vip-gate--panel .bp-text-muted {
  margin-bottom: 1.15rem;
  font-size: 0.82rem;
}
.bp-wd__vip-gate--panel .bp-btn {
  min-width: 11rem;
  justify-content: center;
}
.bp-wd__vip-gate--inline {
  margin-top: 0.85rem;
}
.bp-wd-modal__panel--saque {
  width: min(94vw, 520px);
}
.bp-wd__pix-form[hidden] {
  display: none !important;
}
.bp-wd__pix-form-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}
/* Coluna de chaves (direita) mais compacta */
.bp-wd__card--pix .bp-wd__pix-item {
  flex-direction: column;
  align-items: flex-start;
}
.bp-wd__card--pix .bp-wd__pix-acts {
  margin-left: 0;
  width: 100%;
}
.bp-wd__card--pix .bp-wd__pix-item-main code {
  font-size: 0.78rem;
}

/* —— Lista de saques (compacta, alinhada ao painel) —— */
.bp-wd__list {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.bp-wd__saque {
  padding: 0.6rem 0.75rem;
  border-radius: 12px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  background: rgba(0, 0, 0, 0.18);
  box-shadow: none;
  transition: border-color 0.15s, background 0.15s;
}
.bp-wd__saque:hover {
  border-color: rgba(226, 177, 90, 0.22);
  background: rgba(255, 255, 255, 0.03);
}
.bp-wd__saque--pending,
.bp-wd__saque--review {
  border-color: rgba(251, 191, 36, 0.18);
}
.bp-wd__saque--paid {
  border-color: rgba(74, 222, 128, 0.16);
}
.bp-wd__saque--rejected,
.bp-wd__saque--cancelled {
  border-color: rgba(248, 113, 113, 0.16);
  opacity: 0.92;
}
.bp-wd__saque-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 0.75rem;
  flex-wrap: wrap;
}
.bp-wd__saque-lead {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.55rem;
  min-width: 0;
}
.bp-wd__saque-id {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: #94a3b8;
}
.bp-wd__saque-amt {
  font-size: 1.05rem;
  font-weight: 900;
  color: #f8fafc;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
.bp-wd__saque-split {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.55rem;
  font-size: 0.74rem;
  color: #94a3b8;
}
.bp-wd__saque-net b {
  color: #4ade80;
  font-weight: 800;
}
.bp-wd__saque-fee {
  color: #fbbf24;
  font-weight: 600;
}
.bp-wd__saque-net--full {
  color: #94a3b8;
}
.bp-wd__saque-side {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
  margin-left: auto;
}
.bp-wd__saque-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.85rem;
  margin-top: 0.35rem;
  font-size: 0.74rem;
  color: #94a3b8;
  line-height: 1.3;
}
.bp-wd__saque-meta i {
  margin-right: 0.22rem;
  opacity: 0.8;
  color: #e2b15a;
  font-size: 0.7rem;
}
/* Status e Cancelar: mesmo tamanho/formato de pílula */
.bp-wd__status,
.bp-wd__saque-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  min-height: 1.65rem;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-style: normal;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
  vertical-align: middle;
}
.bp-wd__saque-cancel {
  border: 1px solid rgba(248, 113, 113, 0.35);
  background: rgba(239, 68, 68, 0.12);
  color: #fca5a5;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.bp-wd__saque-cancel:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: rgba(248, 113, 113, 0.55);
  color: #fecaca;
}
.bp-wd__saque-cancel i {
  font-size: 0.68rem;
  line-height: 1;
}
.bp-wd__status--pending,
.bp-wd__status--review,
.bp-wd__status--needs_validation {
  color: #fde68a;
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.28);
}
.bp-wd__status--approved {
  color: #93c5fd;
  background: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(96, 165, 250, 0.3);
}
.bp-wd__status--paid {
  color: #86efac;
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(74, 222, 128, 0.3);
}
.bp-wd__status--rejected,
.bp-wd__status--cancelled {
  color: #fca5a5;
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(248, 113, 113, 0.28);
}
.bp-wd__reason {
  margin: 0.4rem 0 0;
  padding: 0.4rem 0.55rem;
  border-radius: 8px;
  font-size: 0.74rem;
  color: #fca5a5;
  line-height: 1.35;
  background: rgba(239, 68, 68, 0.06);
  border: 1px solid rgba(248, 113, 113, 0.18);
}
.bp-wd__reason i { margin-right: 0.3rem; }

/* —— Modal cadastro PIX —— */
body.bp-wd-modal-open {
  overflow: hidden;
}
.bp-wd-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.bp-wd-modal[hidden] {
  display: none !important;
}
.bp-wd-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 6, 12, 0.72);
  backdrop-filter: blur(4px);
}
.bp-wd-modal__panel {
  position: relative;
  z-index: 1;
  width: min(94vw, 480px);
  border-radius: 18px;
  border: 1px solid rgba(226, 177, 90, 0.2);
  background: linear-gradient(180deg, rgba(28, 32, 44, 0.99), rgba(10, 12, 18, 0.99));
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
  overflow: hidden;
}
.bp-wd-modal__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1.1rem 1.15rem 0.9rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: radial-gradient(ellipse 80% 100% at 0% 0%, rgba(226, 177, 90, 0.12), transparent 55%);
}
.bp-wd-modal__head-ico {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(226, 177, 90, 0.14);
  border: 1px solid rgba(226, 177, 90, 0.3);
  color: #e2b15a;
  font-size: 1.05rem;
}
.bp-wd-modal__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: #f8fafc;
}
.bp-wd-modal__sub {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  color: #94a3b8;
  line-height: 1.35;
}
.bp-wd-modal__x {
  margin-left: auto;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  color: #94a3b8;
  cursor: pointer;
  flex-shrink: 0;
}
.bp-wd-modal__x:hover {
  color: #fecaca;
  background: rgba(248, 113, 113, 0.12);
}
.bp-wd-modal__form {
  padding: 1.1rem 1.15rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.bp-wd-modal__form .bp-form-group {
  margin: 0;
}
.bp-wd-modal__check {
  margin: 0;
}
.bp-wd-modal__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  margin-top: 0.35rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-wd-modal__step {
  display: inline-grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  margin-right: 0.25rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 900;
  background: rgba(226, 177, 90, 0.2);
  color: #f0d78c;
  border: 1px solid rgba(226, 177, 90, 0.35);
  vertical-align: middle;
}
#bp-wd-pix-key-wrap[hidden],
#bp-wd-pix-default-wrap[hidden] {
  display: none !important;
}
#bp-wd-pix-submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.bp-wd__span-full {
  width: 100%;
}
.bp-wd__card {
  padding: 1.25rem 1.35rem 1.4rem;
  border-radius: 16px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  background: var(--surface, rgba(16, 18, 26, 0.92));
  box-shadow: var(--shadow-1, 0 10px 28px rgba(0, 0, 0, 0.28));
  min-width: 0;
}
.bp-wd__card--tall {
  display: flex;
  flex-direction: column;
  min-height: 420px;
  height: 100%;
}
.bp-wd__card--wallet {
  padding: 1.35rem 1.5rem 1.5rem;
}
.bp-wd__card--compact { padding: 1rem 1.15rem; }
.bp-wd--full .bp-wd__stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin: 0.85rem 0 0.5rem;
}
@media (max-width: 640px) {
  .bp-wd--full .bp-wd__stats {
    grid-template-columns: 1fr;
  }
}
.bp-wd--full .bp-wd__stat {
  padding: 1rem 1.1rem;
}
.bp-wd--full .bp-wd__stat strong {
  font-size: 1.35rem;
}
.bp-wd__empty--grow {
  flex: 1 1 auto;
  justify-content: center;
  min-height: 220px;
}
.bp-wd__list--scroll {
  flex: 1 1 auto;
  min-height: 200px;
  max-height: min(52vh, 520px);
  overflow: auto;
  padding-right: 0.25rem;
}
.bp-wd__card--tall .bp-wd__pix-form {
  margin-top: auto;
  padding-top: 0.85rem;
}
.bp-wd__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}
.bp-wd__card-head h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--text, #e2e8f0);
}
.bp-wd__card-head h3 i { color: #e2b15a; }
.bp-wd__vip-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.bp-wd__vip-pill.is-on {
  color: #fde68a;
  background: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.35);
}
.bp-wd__vip-pill.is-off {
  color: #94a3b8;
  background: rgba(148, 163, 184, 0.08);
  border: 1px solid rgba(148, 163, 184, 0.2);
}
.bp-wd__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.45rem;
  padding: 1.5rem 1rem;
  color: #94a3b8;
}
.bp-wd__empty i { font-size: 1.6rem; color: #e2b15a; opacity: 0.75; }
.bp-wd__empty p { margin: 0; font-weight: 700; color: #e2e8f0; }
.bp-wd__form-title {
  margin: 1rem 0 0.65rem;
  font-size: 0.88rem;
  font-weight: 800;
  color: #cbd5e1;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.bp-wd__form-title i { color: #60a5fa; }
.bp-wd__field-hint {
  margin: 0.4rem 0 0;
  font-size: 0.78rem;
  color: #94a3b8;
}
.bp-wd__field-hint a { color: #e2b15a; text-decoration: underline; }
.bp-wd__hint--muted { opacity: 0.85; }
.bp-wd__hint--fee {
  color: #fde68a;
  background: rgba(251, 191, 36, 0.08);
  border: 1px solid rgba(251, 191, 36, 0.22);
  border-radius: 10px;
  padding: 0.55rem 0.75rem;
}
.bp-wd__hint--fee i { color: #fbbf24; margin-right: 0.25rem; }
.bp-wd__fee-box {
  margin: 0 0 1.15rem;
  padding: 0.9rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(74, 222, 128, 0.28);
  background: linear-gradient(145deg, rgba(34, 197, 94, 0.1), rgba(6, 20, 12, 0.55));
}
.bp-wd__fee-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.65rem;
  margin-bottom: 0.65rem;
  font-size: 0.88rem;
  color: #bbf7d0;
}
.bp-wd__fee-head i { color: #4ade80; }
.bp-wd__fee-rule {
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: rgba(74, 222, 128, 0.12);
  border: 1px solid rgba(74, 222, 128, 0.28);
  color: #86efac;
}
.bp-wd__fee-rows {
  display: grid;
  gap: 0.4rem;
}
.bp-wd__fee-row {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  font-size: 0.88rem;
  color: #cbd5e1;
}
.bp-wd__fee-row strong { color: #f1f5f9; font-weight: 800; }
.bp-wd__fee-row--tax strong { color: #fbbf24; }
.bp-wd__fee-row--net {
  padding-top: 0.45rem;
  margin-top: 0.15rem;
  border-top: 1px solid rgba(74, 222, 128, 0.2);
  font-size: 0.95rem;
}
.bp-wd__fee-row--net strong { color: #4ade80; font-size: 1.1rem; }
.bp-wd__fee-mini {
  display: block;
  width: 100%;
  font-size: 0.72rem;
  color: #94a3b8;
  font-weight: 600;
}
.bp-wd__pix-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.22);
  margin-bottom: 0.5rem;
}
.bp-wd__pix-item.is-default {
  border-color: rgba(226, 177, 90, 0.28);
  background: linear-gradient(145deg, rgba(226, 177, 90, 0.08), rgba(0, 0, 0, 0.2));
}
.bp-wd__pix-item-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.55rem;
  min-width: 0;
}
.bp-wd__pix-item-main strong { color: #f1f5f9; }
.bp-wd__pix-item-main em {
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #94a3b8;
  text-transform: uppercase;
}
.bp-wd__pix-item-main code {
  font-size: 0.82rem;
  color: #cbd5e1;
  word-break: break-all;
}
.bp-wd__form .bp-input--lg {
  font-size: 1.05rem;
  padding: 0.75rem 0.9rem;
  min-height: 48px;
}
/* Solicitar saque — formulário largo e confortável */
.bp-wd--request {
  max-width: none;
  width: 100%;
}
.bp-wd--request .bp-wd__card:not(.bp-wd__card--compact) {
  max-width: none;
  width: 100%;
  min-height: 360px;
  padding: 1.5rem 1.6rem 1.7rem;
}
.bp-wd--request .bp-wd__form {
  max-width: 560px;
}
.bp-wd--request .bp-form-group {
  margin-bottom: 1.15rem;
}
.bp-wd__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 0.55rem;
  margin: 0.65rem 0 0.35rem;
}
.bp-wd__stat {
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 0.75rem 0.9rem;
}
.bp-wd__stat span {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.72;
}
.bp-wd__stat strong {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.15rem;
  font-weight: 800;
}
.bp-wd__stat--ok strong { color: #6ee7a8; }
.bp-wd__stat--hold strong { color: #fbbf24; }
.bp-wd__stat--vip strong { color: #c4b5fd; }
.bp-wd__hint {
  margin: 0.55rem 0 0;
  font-size: 0.85rem;
  line-height: 1.45;
  opacity: 0.85;
}
.bp-wd__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.85rem;
  align-items: center;
}
.bp-wd__vip-gate p {
  margin: 0 0 0.75rem;
  color: #fde68a;
  font-weight: 600;
}
.bp-wd__section { margin-top: 0; }
.bp-wd__pix-list {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-bottom: 0.75rem;
}
.bp-wd__pix-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.65rem;
  padding: 0.65rem 0.8rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.07);
}
.bp-wd__pix-item code {
  font-size: 0.85rem;
  word-break: break-all;
}
.bp-wd__tag {
  font-size: 0.68rem;
  font-weight: 800;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  background: rgba(110, 231, 168, 0.15);
  color: #6ee7a8;
  text-transform: uppercase;
}
.bp-wd__pix-acts {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.bp-wd__pix-grid {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.35rem;
}
@media (min-width: 720px) {
  .bp-wd__pix-grid {
    grid-template-columns: 1fr 0.9fr 1.3fr auto;
    align-items: end;
  }
}
.bp-wd__pix-submit .bp-btn { width: 100%; }
.bp-wd__list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.bp-wd__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.75rem;
  padding: 0.6rem 0.75rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-wd__id {
  font-size: 0.78rem;
  opacity: 0.7;
  min-width: 2.2rem;
}
/* legado: não sobrescrever pílulas unificadas .bp-wd__status / .bp-wd__saque-cancel */
.bp-wd__reason {
  width: 100%;
  font-size: 0.8rem;
  opacity: 0.8;
}
.bp-wd__check {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.88rem;
  margin: 0.25rem 0 0.5rem;
  cursor: pointer;
}

/* ========== MarketPlace — editar anúncio (visual final) ========== */
.bp-mp-edit__layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) 1fr;
  gap: 1rem;
  align-items: start;
}
@media (max-width: 860px) {
  .bp-mp-edit__layout {
    grid-template-columns: 1fr;
  }
}
.bp-mp-edit__item {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  padding: 0.25rem 0.15rem 0.5rem;
}
.bp-mp-edit__item-img {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.bp-mp-edit__item-img img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.bp-mp-edit__item-img i {
  font-size: 1.6rem;
  opacity: 0.55;
  color: #fde68a;
}
.bp-mp-edit__item-img--char.has-img {
  background: transparent;
  border-color: transparent;
}
.bp-mp-edit__item-name {
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: 0.2rem;
}
.bp-mp-edit__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}
.bp-mp-edit__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1rem;
  align-items: center;
}
.bp-mp-edit .bp-mkt-panel--form {
  min-width: 0;
}
.bp-mp-edit .bp-mp-sell-pay {
  max-width: none;
}

/* Vagas ao lado do título "Anuncio" (vender item/char) */
.bp-mp-sell-announce-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem 0.85rem;
}
.bp-mp-sell-announce-head .bp-mkt-panel__title {
  margin: 0;
}
.bp-mp-sell-vagas {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .bp-mp-offer-list {
    grid-template-columns: 1fr;
  }
}
.bp-mp-offer-hint {
    margin: 0 0 0.85rem;
    padding: 0.65rem 0.85rem;
    font-size: 0.86rem;
    line-height: 1.45;
    color: rgba(226, 232, 240, 0.88);
    background: rgba(15, 23, 42, 0.55);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 10px;
}
.bp-mp-offer-modal__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.65rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--line);
}
.bp-mp-offer-modal__meta {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.bp-mp-offer-modal__meta > strong {
  font-size: 0.95rem;
  line-height: 1.25;
  color: #f8fafc;
}
.bp-mp-offer-modal__price,
.bp-mp-offer-modal__current {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.35;
  color: #94a3b8;
}
.bp-mp-offer-modal__current {
  color: #f0d78c;
  font-weight: 700;
}
.bp-mp-offer-modal__current[hidden] {
  display: none !important;
}
.bp-mp-offer-modal__img {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.bp-mp-offer-modal__img img {
  max-width: 48px;
  max-height: 48px;
  object-fit: contain;
}
.bp-mp-offer-modes { margin-bottom: 0.85rem; flex-wrap: wrap; }
.bp-mp-offer-panel { display: grid; gap: 0.5rem; }
/* Evita que display:grid anule o atributo hidden */
.bp-mp-offer-panel[hidden] {
  display: none !important;
}
/* Joias da contraoferta: grade de caixas (ícone + nome | qtd) — sem scroll */
.bp-mp-offer-jewels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  max-height: none;
  overflow: visible;
}
.bp-mp-offer-jewel {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 72px;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.6rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(165deg, rgba(30, 36, 48, 0.95), rgba(12, 14, 20, 0.98));
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
  min-height: 52px;
}
.bp-mp-offer-jewel:hover {
  border-color: rgba(226, 177, 90, 0.35);
  box-shadow: 0 0 0 1px rgba(226, 177, 90, 0.12);
}
.bp-mp-offer-jewel:focus-within {
  border-color: rgba(96, 165, 250, 0.55);
  box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.2);
}
.bp-mp-offer-jewel__ico {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-mp-offer-jewel__ico img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.bp-mp-offer-jewel__ico i {
  color: #e2b15a;
  font-size: 0.95rem;
}
.bp-mp-offer-jewel__name {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text, #e2e8f0);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.2;
}
.bp-mp-offer-jewel__qty {
  width: 72px !important;
  max-width: 72px;
  text-align: center;
  font-weight: 800;
  font-size: 0.9rem !important;
  padding: 0.4rem 0.35rem !important;
  border-radius: 8px !important;
  background: rgba(0, 0, 0, 0.4) !important;
}
/* escondidos (filtro de meios do anúncio) não ocupam grade */
.bp-mp-offer-jewel[hidden] {
  display: none !important;
}
.bp-mp-modal__panel--offer {
  max-width: min(560px, 96vw);
  width: 96vw;
  text-align: left;
  max-height: min(92vh, 720px);
  overflow-x: hidden;
  overflow-y: auto;
}
.bp-mp-modal__panel--offer .bp-mp-offer-form {
  max-width: none;
  width: 100%;
}
.bp-mp-modal__panel--offer .bp-mp-modal__title {
  margin-bottom: 0.55rem;
}
.bp-mp-modal__panel--offer .bp-mp-offer-modal__item {
  margin-bottom: 0.65rem;
  padding: 0.5rem 0.6rem;
}
.bp-mp-modal__panel--offer .bp-mp-offer-hint {
  margin: 0 0 0.55rem;
  padding: 0.5rem 0.7rem;
  font-size: 0.8rem;
}
@media (max-width: 480px) {
  .bp-mp-offer-jewels {
    grid-template-columns: 1fr;
  }
}

/* Board Boxes/Joias — colunas ordenadas por preço
   Altura pensada para ~8 linhas de anúncio (catalog_per_column default). */
.bp-mp-board {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.85rem;
  align-items: stretch;
}
.bp-mp-board__col {
  display: flex;
  flex-direction: column;
  min-height: 560px;
  border-radius: var(--r-md, 12px);
  border: 1px solid rgba(180, 90, 60, 0.35);
  background: linear-gradient(180deg, rgba(30, 22, 18, 0.95), rgba(12, 10, 9, 0.98));
  overflow: hidden;
}
.bp-mp-board__col.is-empty {
  opacity: 0.72;
  border-color: rgba(255, 255, 255, 0.06);
}
.bp-mp-board__head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 0.85rem 0.45rem;
  flex-shrink: 0;
}
.bp-mp-board__ico {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.35);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.bp-mp-board__ico img {
  max-width: 34px;
  max-height: 34px;
  object-fit: contain;
}
.bp-mp-board__ico i { color: #e2b15a; }
.bp-mp-board__titles {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.bp-mp-board__titles strong {
  font-size: 0.92rem;
  color: var(--text);
  line-height: 1.25;
}
.bp-mp-board__titles span {
  font-size: 0.75rem;
  color: var(--text-muted);
}
.bp-mp-board__from {
  margin: 0 0.75rem 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.28rem;
}
.bp-mp-board__from-lbl {
  font-size: 0.72rem;
  font-weight: 700;
  color: #e2b15a;
  letter-spacing: 0.02em;
}
.bp-mp-board__from-chip {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.18rem;
  padding: 0.22rem 0.3rem;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(226, 177, 90, 0.18);
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}
.bp-mp-board__from-chip::-webkit-scrollbar { display: none; }
.bp-mp-board__from-chip.is-jewels {
  border-color: rgba(226, 177, 90, 0.28);
}
.bp-mp-board__from-item {
  display: inline-flex;
  align-items: center;
  gap: 0.14rem;
  padding: 0.08rem 0.22rem 0.08rem 0.14rem;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.05);
  line-height: 1;
  flex-shrink: 0;
}
.bp-mp-board__from-item img {
  width: 14px;
  height: 14px;
  object-fit: contain;
}
.bp-mp-board__from-item i {
  font-size: 0.65rem;
  color: #e2b15a;
  width: 12px;
  text-align: center;
}
.bp-mp-board__from-item strong {
  font-size: 0.72rem;
  font-weight: 800;
  color: #f5d78e;
}
.bp-mp-board__from-item em {
  font-style: normal;
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--text-muted);
}
.bp-mp-board__from--empty {
  color: var(--text-muted);
  font-weight: 500;
  font-size: 0.82rem;
  margin: 0 0.85rem 0.55rem;
}
.bp-mp-board__list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0 0.55rem 0.55rem;
  /* reserva espaço visual p/ ~8 anúncios mesmo com poucos itens */
  min-height: 400px;
}
/* Linha: ícone | (nome+botões / preço full width) — oferta não quebra o preço */
.bp-mp-board__row {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 0.45rem 0.5rem;
  align-items: start;
  padding: 0.45rem 0.45rem 0.5rem;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.04);
  flex-shrink: 0;
}
.bp-mp-board__row-ico {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  margin-top: 2px;
}
.bp-mp-board__row-ico img {
  max-width: 28px;
  max-height: 28px;
  object-fit: contain;
}
.bp-mp-board__row-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}
.bp-mp-board__row-top {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}
.bp-mp-board__row-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.25;
}
.bp-mp-board__stack {
  margin-left: 0.25rem;
  color: #5eead4;
  font-style: normal;
  font-weight: 800;
  font-size: 0.72rem;
}
/* Preço: sempre 1 linha (5 joias encaixam sem quebrar) */
.bp-mp-board__row-price {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.16rem;
  padding: 0.22rem 0.3rem;
  border-radius: 7px;
  background: rgba(0, 0, 0, 0.32);
  border: 1px solid rgba(255, 255, 255, 0.05);
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  box-sizing: border-box;
}
.bp-mp-board__row-price::-webkit-scrollbar { display: none; }
.bp-mp-board__row-price.is-jewels {
  border-color: rgba(226, 177, 90, 0.16);
}
.bp-mp-board__price-item {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  padding: 0.06rem 0.2rem 0.06rem 0.12rem;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.04);
  line-height: 1;
  flex-shrink: 0;
  white-space: nowrap;
}
.bp-mp-board__price-item img {
  width: 13px;
  height: 13px;
  object-fit: contain;
  flex-shrink: 0;
}
.bp-mp-board__price-item i {
  font-size: 0.62rem;
  color: #e2b15a;
  width: 11px;
  text-align: center;
  flex-shrink: 0;
}
.bp-mp-board__price-item strong {
  font-size: 0.7rem;
  font-weight: 800;
  color: #f0d78c;
  letter-spacing: -0.02em;
}
.bp-mp-board__row-act {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  margin-left: auto;
}
.bp-mp-btn-buy--sm {
  padding: 0.28rem 0.5rem !important;
  font-size: 0.68rem !important;
  min-height: 0 !important;
  border-radius: 6px;
  white-space: nowrap;
}
.bp-mp-btn-offer--sm {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px;
  flex-shrink: 0;
  font-size: 0.72rem !important;
  box-shadow: 0 3px 10px rgba(37, 99, 235, 0.28) !important;
}
.bp-mp-btn-cancel--sm {
  font-size: 0.68rem;
  padding: 0.25rem 0.4rem;
}
.bp-mp-board__login {
  font-size: 0.68rem;
  color: var(--text-muted);
}
.bp-mp-board__pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 0.45rem 0.65rem 0.65rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.72rem;
  flex-shrink: 0;
  margin-top: auto;
}
.bp-mp-board__pg {
  color: var(--text-muted);
  text-decoration: none;
}
.bp-mp-board__pg:not(.is-off):hover { color: #e2b15a; }
.bp-mp-board__pg.is-off { opacity: 0.35; cursor: default; }
.bp-mp-board__pg-num {
  color: var(--text);
  font-weight: 700;
}

@media (max-width: 720px) {
  .bp-mp-board {
    grid-template-columns: 1fr;
  }
  .bp-mp-board__col {
    min-height: 420px;
  }
  .bp-mp-board__list {
    min-height: 280px;
  }
}

/* ========== Enquetes (Poll) — painel BRPlay ========== */
/* App: lista de títulos → detalhe com voto */
.bp-poll-app { min-width: 0; }
.bp-poll-top-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.bp-poll-back[hidden] { display: none !important; }

/* Lista só títulos */
.bp-poll-picker__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.bp-poll-picker__item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(145deg, rgba(226, 177, 90, 0.06), transparent 55%),
    var(--surface, rgba(16, 18, 26, 0.95));
  color: #f1f5f9;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, transform 0.12s;
  font: inherit;
}
.bp-poll-picker__item:hover {
  border-color: rgba(226, 177, 90, 0.35);
  background:
    linear-gradient(145deg, rgba(226, 177, 90, 0.1), transparent 55%),
    rgba(0, 0, 0, 0.28);
  transform: translateY(-1px);
}
.bp-poll-picker__item:focus-visible {
  outline: 2px solid rgba(230, 57, 70, 0.55);
  outline-offset: 2px;
}
.bp-poll-picker__status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fde68a;
  background: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.28);
  white-space: nowrap;
}
.bp-poll-picker__status.is-done {
  color: #86efac;
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.3);
}
.bp-poll-picker__title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.95rem;
  font-weight: 650;
  line-height: 1.35;
  color: #f8fafc;
}
.bp-poll-picker__chev {
  flex: 0 0 auto;
  font-size: 0.75rem;
  color: #94a3b8;
  opacity: 0.85;
}
.bp-poll-picker__item:hover .bp-poll-picker__chev {
  color: #e2b15a;
}

/* Detalhe (oculto até selecionar) */
.bp-poll-details .bp-poll-card[hidden] {
  display: none !important;
}
.bp-poll-details .bp-poll-card.is-open {
  display: block;
}

/* Tipografia alinhada ao resto do painel */
.bp-dash__main .bp-poll-card,
.bp-dash__main .bp-poll-empty {
  font-size: 0.9rem;
}
.bp-poll-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.35rem;
  padding: 2rem 1.15rem;
  border-radius: 14px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.08));
  background: var(--surface, rgba(16, 18, 26, 0.92));
}
.bp-poll-empty__ico {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(226, 177, 90, 0.12);
  border: 1px solid rgba(226, 177, 90, 0.28);
  color: #e2b15a;
  font-size: 1.15rem;
  margin-bottom: 0.25rem;
}
.bp-poll-empty h3 {
  margin: 0;
  color: #f1f5f9;
  font-size: 1rem;
  font-weight: 700;
}
.bp-poll-empty p {
  font-size: 0.88rem;
}
.bp-poll-card {
  border-radius: 14px;
  border: 1px solid rgba(226, 177, 90, 0.16);
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%, rgba(226, 177, 90, 0.08), transparent 55%),
    var(--surface, rgba(16, 18, 26, 0.95));
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.26);
  overflow: hidden;
}
.bp-poll-card__head {
  padding: 0.95rem 1.1rem 0.7rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.bp-poll-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fde68a;
  background: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.3);
  margin-bottom: 0.4rem;
}
.bp-poll-card__title {
  margin: 0;
  font-size: 1.05rem; /* antes 1.2rem — no ritmo de .bp-dash__block-head */
  font-weight: 700;
  color: #f8fafc;
  line-height: 1.35;
}
.bp-poll-card__hint {
  margin: 0.3rem 0 0;
  font-size: 0.8rem;
  color: #94a3b8;
}
.bp-poll-card__body {
  padding: 0.85rem 1.1rem 1.05rem;
}
.bp-poll-answers {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 0.85rem;
}
.bp-poll-answer {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.58rem 0.75rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(0, 0, 0, 0.22);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
  margin: 0;
  user-select: none;
  position: relative;
}
.bp-poll-answer:hover {
  border-color: rgba(226, 177, 90, 0.28);
  background: rgba(226, 177, 90, 0.06);
}
.bp-poll-answer:has(input:checked) {
  border-color: rgba(74, 222, 128, 0.45);
  background: linear-gradient(145deg, rgba(74, 222, 128, 0.1), rgba(0, 0, 0, 0.2));
}
.bp-poll-answer__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.bp-poll-answer__box {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 2px solid rgba(148, 163, 184, 0.45);
  background: transparent;
}
.bp-poll-answer:has(input[type="checkbox"]) .bp-poll-answer__box {
  border-radius: 4px;
}
.bp-poll-answer:has(input:checked) .bp-poll-answer__box {
  border-color: #4ade80;
  background: #4ade80;
  box-shadow: 0 0 0 2px rgba(74, 222, 128, 0.2);
}
.bp-poll-answer__text {
  font-weight: 600;
  color: #e2e8f0;
  font-size: 0.88rem; /* corpo do painel */
  line-height: 1.4;
}
.bp-poll-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}
.bp-poll-actions .bp-btn {
  font-size: 0.82rem;
  padding: 0.55rem 1.05rem;
}
.bp-poll-result__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.bp-poll-result__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.25rem 0.65rem;
  margin-bottom: 0.28rem;
  font-size: 0.84rem;
}
.bp-poll-result__label {
  font-weight: 600;
  color: #f1f5f9;
}
.bp-poll-result__votes {
  color: #94a3b8;
  font-size: 0.78rem;
}
.bp-poll-result__votes strong {
  color: #e2e8f0;
  font-weight: 700;
}
.bp-poll-result__votes em {
  font-style: normal;
  margin-left: 0.3rem;
  color: #e2b15a;
  font-weight: 700;
}
.bp-poll-result__bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
}
.bp-poll-result__bar > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #e2b15a, #f59e0b);
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.3);
  min-width: 0;
  transition: width 0.4s ease;
}
.bp-poll-result__total {
  margin: 0.75rem 0 0;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.82rem;
  color: #94a3b8;
}
.bp-poll-result__total strong {
  color: #f8fafc;
}
.bp-poll-preview-result:not([hidden]) {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
