/* ==========================================================================
   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: 34px;
  object-fit: contain;
  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.07) rotate(-2deg); }
.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: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.66rem 0.85rem;
  font-size: 0.88rem;
  color: var(--text-muted);
  border-radius: 10px;
  transition: all var(--t-fast) var(--ease);
}
.bp-rail__mega-col a i { width: 16px; text-align: center; color: var(--brand-500); font-size: 0.82rem; }
.bp-rail__mega-col a:hover {
  color: var(--text);
  background: rgba(230, 57, 70, 0.08);
  transform: translateX(3px);
}
.bp-rail__mega-col a em {
  margin-left: 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);
}
.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: auto;
  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: auto;
}
.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: 30px; object-fit: contain; 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;
  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; }

/* --------------------------------------------------------------------------
   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: 44px;
  object-fit: contain;
  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;
  right: 1.4rem;
  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); }

/* --------------------------------------------------------------------------
   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;
  min-height: max(560px, 88vh);
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
}
.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.7rem;
  padding: calc(var(--rail-h) + 1.6rem) 1.5rem 4.6rem;
  text-align: center;
}
.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;
  animation: bp-float-y 7s ease-in-out infinite;
}
.bp-hero__logo-wrap::before {
  content: '';
  position: absolute;
  inset: -18%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(230, 57, 70, 0.3), rgba(230, 57, 70, 0.08) 45%, transparent 70%);
  filter: blur(18px);
}
.bp-hero__logo {
  width: clamp(320px, 40vw, 540px);
  height: auto;
  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;
  gap: 1rem;
}

/* Base do hero — fusão suave com a página */
.bp-hero__floor {
  position: absolute;
  inset: auto 0 0 0;
  height: 34%;
  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: 4.6rem;
  z-index: 3;
  width: 26px;
  height: 42px;
  transform: translateX(-50%);
  border: 2px solid rgba(243, 217, 139, 0.45);
  border-radius: 14px;
  pointer-events: none;
}
.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: 3.4rem; } }

/* --------------------------------------------------------------------------
   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: 3.6rem 0 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 {
  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; }
.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); }
.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;
}
.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;
}
.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);
}
.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));
}
.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;
  gap: 0.35rem;
  margin-top: 0.5rem;
  padding: 0.3rem 0.8rem;
  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);
  transition: all var(--t-fast) var(--ease);
}
.rsb__prize:hover { background: rgba(230, 57, 70, 0.14); box-shadow: var(--glow-brand); color: var(--brand-100); }

/* 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 */
.rsb__slide {
  position: relative;
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid var(--line-soft);
}
.rsb__slide-track { position: relative; height: 170px; }
.rsb__slide-item {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 1rem;
  background-image: var(--slide);
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.6s var(--ease);
}
.rsb__slide-item::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(185deg, transparent 35%, rgba(5, 6, 10, 0.9));
}
.rsb__slide-item.is-active { opacity: 1; }
.rsb__slide-copy { position: relative; 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;
}
.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; }
.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; }
.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)
   -------------------------------------------------------------------------- */
.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);
}

/* --------------------------------------------------------------------------
   23. Rankings (bp-rk)
   -------------------------------------------------------------------------- */
.bp-rk-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  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-rk-cats,
.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);
}
.bp-rk-filters__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-rk-filters__pills { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.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 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 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__body { padding: 1.1rem 1.3rem 1.3rem; }
.bp-rk-panel__body--center { text-align: center; }

.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 { font-family: var(--font-display); font-weight: 700; color: var(--brand-300); }

.bp-rk-player { display: flex; align-items: center; gap: 0.75rem; }
.bp-rk-player__av {
  display: grid;
  place-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  font-size: 0.95rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 10px;
}
.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); }
.bp-rk-player__meta { display: flex; flex-direction: column; min-width: 0; }
.bp-rk-player__meta strong { color: var(--text); font-size: 0.94rem; }
.bp-rk-player__meta small { color: var(--text-dim-2); font-size: 0.76rem; }

.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);
}
.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; }
.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); }

/* 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);
}
/* 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 com Adicionar + Sacar; joias ao lado */
.bp-dash__stat--credits .bp-dash__stat-value { color: var(--text); }
.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 > 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); }

.bp-dash__stat--jewels {
  min-width: 0;
}
.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;
}
.bp-dash__jewels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.65rem;
  align-items: center;
  margin: 0.15rem 0 0.35rem;
}
.bp-dash__jewel {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.4rem 0.2rem 0.25rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.22);
}
.bp-dash__jewel img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.bp-dash__jewel i {
  font-size: 0.9rem;
  color: #7dd3fc;
  width: 22px;
  text-align: center;
}
.bp-dash__jewel strong {
  font-size: 0.8rem;
  font-weight: 800;
  color: var(--text);
  min-width: 0.9rem;
}

@media (min-width: 1100px) {
  .bp-dash__stats--panel {
    grid-template-columns: 1.1fr 1.35fr 0.85fr 0.85fr;
  }
}

/* Moedas do jogo */
.bp-dash__coins { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-bottom: 1.5rem; }
.bp-dash__coin {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.65rem 1.1rem 0.65rem 0.7rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  transition: all var(--t-fast) var(--ease);
}
.bp-dash__coin:hover { border-color: var(--line-brand-soft); transform: translateY(-2px); }
.bp-dash__coin > i {
  display: grid;
  place-content: center;
  width: 34px;
  height: 34px;
  font-size: 0.9rem;
  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.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-dim-2);
}
.bp-dash__coin strong {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--brand-200);
}

/* 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; }

.bp-dash__char-grid,
.bp-dash__chars {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
  gap: 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;
}
.bp-dash__char-ico--lg { width: 58px; height: 58px; font-size: 1.4rem; }
.bp-dash__char-ico img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

/* Linha de personagem (visão geral do painel) */
.bp-dash__char {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.95rem 1.1rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  text-decoration: none;
  transition: all var(--t-med) var(--ease);
}
.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; }
.bp-dash__char strong { display: block; font-size: 0.98rem; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bp-dash__char strong + span { display: block; margin-top: 0.1rem; font-size: 0.76rem; color: var(--text-dim-2); }
.bp-dash__char > em {
  margin-left: auto;
  flex: 0 0 auto;
  font-style: normal;
  font-family: var(--font-display);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  color: var(--brand-300);
  padding: 0.28rem 0.7rem;
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-pill);
  background: rgba(230, 57, 70, 0.07);
}
.bp-dash__char strong { font-size: 1rem; }
.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);
}

.bp-dash__account-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1rem;
}
.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; }

.bp-dash__services { display: grid; gap: 1.4rem; }
.bp-dash__service-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1.5rem;
  align-items: start;
}
.bp-dash__service-body--solo { grid-column: 1 / -1; }

/* --------------------------------------------------------------------------
   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);
}

/* --------------------------------------------------------------------------
   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;
}
.bp-acc__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.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; }
.bp-acc__section { margin-bottom: 1.6rem; }
.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;
}
.bp-acc__tile {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem 1.1rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text-muted);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  transition: all var(--t-fast) var(--ease);
}
.bp-acc__tile:hover { color: var(--brand-200); border-color: var(--line-brand-soft); transform: translateY(-3px); }
.bp-acc__tile-ico {
  display: grid;
  place-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  font-size: 0.95rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 10px;
}
.bp-acc__tile-ico--gold { color: var(--brand-200); box-shadow: var(--glow-brand); }
.bp-acc__tile-ico--warn { color: var(--ruby-300); background: rgba(212, 51, 74, 0.09); border-color: rgba(212, 51, 74, 0.3); }

.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;
}
.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; }
.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-list { display: grid; gap: 1rem; }
.bp-dl-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem;
  padding: 1.4rem 1.5rem;
  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 > 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 h3 { margin: 0 0 0.2rem; font-size: 1.05rem; }
.bp-dl-card p { margin: 0; font-size: 0.85rem; color: var(--text-dim-2); }
.bp-dl-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-left: auto;
}

/* --------------------------------------------------------------------------
   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 — pills no mesmo tom glass do design system */
.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.58rem 1.05rem;
  font-family: var(--font-body);
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--text-muted);
  text-decoration: none;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  box-shadow: var(--shadow-1);
  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);
}
.bp-mkt-nav__btn i { font-size: 0.88rem; color: var(--brand-400); opacity: 0.9; }
.bp-mkt-nav__btn:hover {
  color: var(--text);
  border-color: var(--line-brand-soft);
  background: linear-gradient(160deg, rgba(230, 57, 70, 0.1), rgba(255, 255, 255, 0.02));
  box-shadow: var(--shadow-1), var(--glow-brand);
}
.bp-mkt-nav__btn.is-active {
  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-lg);
}
.bp-mkt-nav__btn.is-active i { color: #fff; 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: 1.3rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.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; }

.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.7rem;
  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-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); }
.bp-mkt-card__meta { font-size: 0.76rem; color: var(--text-dim-2); }
.bp-mkt-card__price {
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--brand-300);
}

.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-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);
  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);
  border-radius: var(--r-xl);
}
.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 small {
  display: block;
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--text-muted);
}
.bp-mp-show__meta {
  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;
}
.bp-mp-show__meta strong { font-size: 0.95rem; }
.bp-mp-show__actions { display: grid; gap: 0.5rem; }
.bp-mp-show__stats {
  margin-top: 1rem;
  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-show__main { min-width: 0; }

.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 (alinhado ao glass do site) */
.bp-mkt-char-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.1rem;
}
.bp-mkt-char-card {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 1.25rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-1);
  overflow: hidden;
  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--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: 48px;
  height: 48px;
  flex: 0 0 48px;
  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);
}
.bp-mkt-char-card__titles { min-width: 0; }
.bp-mkt-char-card__name {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.02rem;
  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.2rem;
  font-size: 0.78rem;
  color: var(--text-muted);
}
.bp-mkt-char-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.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;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.6rem;
  border-top: 1px solid var(--line-soft);
}
.bp-mkt-char-card__seller {
  font-size: 0.78rem;
  color: var(--text-dim-2);
  max-width: 45%;
  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: right;
  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);
}

.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; }

.bp-pkg-detail {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 1.6rem;
  align-items: start;
}
.bp-pkg-detail__media {
  display: grid;
  place-content: center;
  min-height: 220px;
  font-size: 3.4rem;
  color: var(--brand-300);
  background: radial-gradient(circle at 50% 55%, rgba(230, 57, 70, 0.15), transparent 70%), var(--surface);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
}
.bp-pkg-detail__info { min-width: 0; }
.bp-pkg-detail__price {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--brand-300);
  margin: 0.6rem 0 1rem;
}
.bp-pkg-detail__desc { color: var(--text-muted); }
.bp-pkg-detail__sep { border: 0; border-top: 1px solid var(--line); margin: 1.4rem 0; }
.bp-pkg-items__head { margin-bottom: 0.9rem; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brand-400); }
.bp-pkg-items__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.7rem; }
.bp-pkg-item {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.025);
}
.bp-pkg-item__img {
  display: grid; place-content: center;
  width: 38px; height: 38px; flex: 0 0 38px;
  font-size: 1rem; color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 9px;
}
.bp-pkg-item__name { font-size: 0.84rem; font-weight: 600; }
.bp-pkg-item__qty { font-size: 0.74rem; color: var(--text-dim-2); }
.bp-pkg-plus { display: grid; place-content: center; min-height: 60px; border: 1px dashed var(--line); border-radius: var(--r-md); color: var(--text-dim-2); }
.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; }

/* --------------------------------------------------------------------------
   30. Doação
   -------------------------------------------------------------------------- */
.bp-donate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 1.1rem;
  margin-bottom: 1.6rem;
}
.bp-donate-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 1.9rem 1.3rem 1.5rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  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); }
.bp-donate-card__logo {
  display: grid;
  place-content: center;
  width: 64px;
  height: 64px;
  font-size: 1.6rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.09);
  border: 1px solid var(--line-brand-soft);
  border-radius: 16px;
}
.bp-donate-card__logo img { max-width: 44px; max-height: 44px; object-fit: contain; }
.bp-donate-card__name { font-size: 1rem; font-weight: 700; }
.bp-donate-card__fallback { font-size: 0.82rem; color: var(--text-dim-2); }

.bp-donate-form-wrap { max-width: 620px; }
.bp-donate-form__grid { display: grid; gap: 1.1rem; }
.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) / Equipamento / Fight / Achievements
   -------------------------------------------------------------------------- */
.bp-profile__top { margin-bottom: 1.5rem; }
.bp-profile__search { display: flex; gap: 0.6rem; max-width: 520px; }
.bp-profile__search-err { margin-top: 0.6rem; color: #ff8ba0; font-size: 0.86rem; }

.bp-profile__grid {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.bp-profile__main, .bp-profile__side { min-width: 0; display: grid; gap: 1.2rem; align-content: start; }

.bp-profile__card {
  padding: 1.5rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-profile__card--center { text-align: center; }
.bp-profile__avatar-wrap { position: relative; display: inline-block; margin-bottom: 1rem; }
.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__lvl-tag {
  position: absolute;
  right: -8px;
  bottom: -8px;
  padding: 0.28rem 0.7rem;
  font-size: 0.72rem;
  font-weight: 800;
  color: #ffffff;
  background: linear-gradient(160deg, var(--brand-300), var(--brand-600));
  border-radius: var(--r-pill);
  box-shadow: 0 4px 12px rgba(179, 36, 52, 0.5);
}
.bp-profile__name { margin: 0; font-size: 1.35rem; }
.bp-profile__class { 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; font-size: 0.82rem; }
.bp-profile__guild { display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin-top: 0.7rem; color: var(--text-muted); font-size: 0.9rem; }
.bp-profile__guild-logo { width: 28px; height: 28px; border-radius: 6px; }
.bp-profile__guild-logo--lg { width: 84px; height: 84px; border-radius: 18px; border: 1px solid var(--line-brand-soft); }

.bp-profile__stats { display: grid; gap: 0.4rem; }
.bp-profile__stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 0.2rem;
  font-size: 0.9rem;
  border-bottom: 1px solid var(--line-soft);
}
.bp-profile__stat:last-child { border-bottom: 0; }
.bp-profile__stat span:first-child { color: var(--text-dim-2); }
.bp-profile__stat span:last-child, .bp-profile__stat strong { font-weight: 700; color: var(--text); }
.bp-profile__stat-map { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--emerald-300); }

.bp-profile__tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.2rem; }
.bp-profile__tab {
  padding: 0.55rem 1.15rem;
  font-size: 0.8rem;
  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);
}
.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; }
.bp-profile__panes { min-width: 0; }
.bp-profile__pane { display: none; }
.bp-profile__pane.is-active { display: block; animation: bp-fade-up 0.4s var(--ease-out); }

.bp-profile-block {
  padding: 2.4rem 1.6rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-profile__blocked { color: var(--text-dim-2); }
.bp-profile__blocked-msg { font-size: 1rem; }

.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) */
.bp-eq { position: relative; display: grid; place-content: center; padding: 1.2rem; }
.bp-eq__map {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 64px);
  gap: 0.55rem;
  justify-content: center;
}
.bp-eq__box {
  position: relative;
  display: grid;
  place-content: center;
  width: 64px;
  height: 64px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--line-soft);
  border-radius: 10px;
  transition: all var(--t-fast) var(--ease);
}
.bp-eq__box:hover { border-color: var(--line-brand); box-shadow: var(--glow-brand); }
.bp-eq__box img { max-width: 52px; max-height: 52px; object-fit: contain; }
.bp-eq__slot { font-size: 0.6rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-dim-2); }
.bp-eq__bg { position: absolute; inset: 0; opacity: 0.12; background-size: cover; background-position: center; border-radius: var(--r-lg); }
.bp-eq__head { margin-bottom: 1rem; }

/* Fight / PK */
.bp-fight__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
.bp-fight__card {
  padding: 1.2rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
.bp-fight__card--ok { border-color: rgba(80, 200, 120, 0.35); }
.bp-fight__card--bad { border-color: rgba(227, 56, 85, 0.35); }
.bp-fight__head { margin-bottom: 0.6rem; font-weight: 700; }

/* Achievements */
.bp-ach__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.9rem; }
.bp-ach {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 1.2rem 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-ach:hover { transform: translateY(-3px); border-color: var(--line-brand-soft); }
.bp-ach__icon {
  display: grid;
  place-content: center;
  width: 50px;
  height: 50px;
  font-size: 1.2rem;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.09);
  border: 1px solid var(--line-brand-soft);
  border-radius: 14px;
}
.bp-ach__head { font-size: 0.88rem; font-weight: 700; }
.bp-ach__tip { font-size: 0.78rem; color: var(--text-dim-2); }

/* --------------------------------------------------------------------------
   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); }
.bp-tk-create { margin-bottom: 1.4rem; }
.bp-tk-form { max-width: 680px; }
.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);
}
.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); }
.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 h2, .bp-terms h3 { margin-top: 1.6rem; font-size: 1.15rem; color: var(--brand-200); }
.bp-terms p, .bp-terms li { color: var(--text-muted); font-size: 0.94rem; }
.bp-terms ul { padding-left: 1.2rem; list-style: disc; display: grid; gap: 0.4rem; }

.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); }

.bp-tip { position: relative; }
.bp-tip__box {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 200px;
  padding: 0.8rem 1rem;
  font-size: 0.82rem;
  color: var(--text);
  background: rgba(13, 16, 23, 0.98);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-2);
  opacity: 0;
  visibility: hidden;
  transition: all var(--t-fast) var(--ease);
  z-index: 50;
}
.bp-tip:hover .bp-tip__box { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(-3px); }

.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); }

.bp-char-info__hero {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.5rem;
  margin-bottom: 1.4rem;
  background: var(--surface);
  border: 1px solid var(--line-brand-soft);
  border-radius: var(--r-lg);
}
.bp-char-info__avatar {
  display: grid; place-content: center;
  width: 62px; height: 62px; flex: 0 0 62px;
  font-size: 1.5rem; color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand);
  border-radius: 16px;
}
.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; }
.bp-char-info__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.bp-char-stat {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem 1.1rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.bp-char-stat__icon {
  display: grid; place-content: center;
  width: 40px; height: 40px; flex: 0 0 40px;
  color: var(--brand-300);
  background: rgba(230, 57, 70, 0.08);
  border: 1px solid var(--line-brand-soft);
  border-radius: 10px;
}
.bp-char-stat__label { display: block; font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-dim-2); }
.bp-char-stat__value { font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; }

/* --------------------------------------------------------------------------
   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: 28px; }

  .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-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-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: 74vh; }
  .bp-hero__content { gap: 1.4rem; padding-bottom: 4rem; }
  /* 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: 68vh; }
  .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 { width: clamp(240px, 68vw, 340px); }
  .bp-hero__actions { flex-direction: column; width: min(320px, 100%); }
  .bp-hero__actions .bp-btn { 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: 2.8rem; }
  .hm-block--dim { padding: 3rem 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 { right: 1rem; 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: 92vh; }
}

/* --------------------------------------------------------------------------
   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, .bp-ach {
  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, .bp-ach::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, .bp-ach: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 > *, .bp-ach > * {
  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-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 acima do bloco alinhado com a carteira */
.bp-mp-items__mod-nav {
  margin-bottom: 0.75rem;
}

/* Chrome: esquerda (abas + cats + busca) | direita (carteira) — mesma altura */
.bp-mp-items__chrome {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem 1rem;
  align-items: stretch;
  margin-bottom: 0.85rem;
}
.bp-mp-items__chrome.has-wallet {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
}
.bp-mp-items__chrome-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  height: 100%;
}
.bp-mp-items__chrome-main .bp-mp-tabs,
.bp-mp-items__chrome-main .bp-mp-cats,
.bp-mp-items__chrome-main .bp-mp-items__search {
  margin-bottom: 0;
}
/* busca cola no rodapé da coluna (alinha base da carteira) */
.bp-mp-items__chrome-main .bp-mp-items__search--chrome {
  margin-top: auto;
}
.bp-mp-items__chrome-side {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  height: 100%;
}
.bp-mp-items__filters--chips {
  margin-bottom: 0.85rem;
}

/* 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.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 {
  margin-bottom: 0.75rem;
}

/* Abas do módulo Itens (Mercado / Meus / Ofertas / Histórico) */
.bp-mp-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 1rem;
  padding: 0.45rem;
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.28);
}
.bp-mp-tabs__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.9rem;
  border-radius: var(--r-pill);
  border: 1px solid transparent;
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: all var(--t-fast) var(--ease);
  white-space: nowrap;
}
.bp-mp-tabs__btn i {
  font-size: 0.85rem;
  opacity: 0.85;
}
.bp-mp-tabs__btn:hover {
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
}
.bp-mp-tabs__btn.is-active {
  color: #1a1305;
  background: linear-gradient(160deg, #f0b429, #e29a12 55%, #c47d0a);
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(226, 154, 18, 0.28);
}
.bp-mp-tabs__btn.is-active i { opacity: 1; color: inherit; }
/* Badge vermelho: ofertas pendentes para o vendedor */
.bp-mp-tabs__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 0.32rem;
  margin-left: 0.15rem;
  border-radius: 999px;
  background: linear-gradient(160deg, #f87171, #dc2626 60%, #b91c1c);
  color: #fff !important;
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  box-shadow: 0 2px 8px rgba(220, 38, 38, 0.45);
  flex-shrink: 0;
}
.bp-mp-tabs__btn.is-active .bp-mp-tabs__badge {
  /* mantém vermelho legível no pill dourado ativo */
  background: linear-gradient(160deg, #ef4444, #dc2626);
  box-shadow: 0 2px 6px rgba(127, 29, 29, 0.35);
}

.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;
}
.bp-mp-items__sell-cta {
  background: linear-gradient(160deg, #f0d080, #e2b15a 50%, #c49646) !important;
  color: #1a1305 !important;
  border: 0 !important;
  box-shadow: 0 0 18px rgba(226, 177, 90, 0.28);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* 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__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 */
body.bp-mp-modal-open { overflow: hidden; }
.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; }
.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: game-like warehouse (Warehouse::getRenderer — same as Market legado) */
.bp-mp-sell-items {
  display: grid;
  grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
/* 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;
}
@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 (compacto: ícone em cima, valor embaixo, 5 na linha) */
.bp-mp-modal__pay-row {
  margin: 0.55rem 0 0.75rem;
  min-height: 0;
  display: flex;
  justify-content: center;
  width: 100%;
}
.bp-mp-modal__pay-icons {
  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-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-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-icon img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  order: 1;
}
.bp-mp-modal__pay-icon i {
  font-size: 1.05rem;
  color: #e2b15a;
  order: 1;
  line-height: 1;
}
.bp-mp-modal__pay-icon small {
  display: none; /* nome fica no title do ícone — evita quebrar linha */
}

/* Ofertas — lista */
.bp-mp-offer-list {
  display: grid;
  gap: 0.75rem;
}
.bp-mp-offer-card {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 0.85rem;
  padding: 0.9rem 1rem;
  border-radius: var(--r-md, 12px);
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.28);
}
.bp-mp-offer-card__media {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.bp-mp-offer-card__media img {
  max-width: 56px;
  max-height: 56px;
  object-fit: contain;
}
.bp-mp-offer-card__name {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 700;
}
.bp-mp-offer-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
  font-size: 0.8rem;
  color: var(--text-muted);
  margin-bottom: 0.45rem;
}
.bp-mp-offer-card__status {
  font-size: 0.82rem;
  font-weight: 700;
  color: #e2b15a;
  margin: 0.35rem 0 0.5rem;
}
.bp-mp-offer-card--accepted .bp-mp-offer-card__status { color: #5eead4; }
.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.45rem;
}
.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__img {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
}
.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;
}
.bp-mp-modal__panel--offer .bp-mp-offer-form {
  max-width: none;
  width: 100%;
}
@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.85rem 0.55rem;
  font-size: 0.82rem;
  color: #e2b15a;
  font-weight: 600;
}
.bp-mp-board__from strong { color: #f5d78e; }
.bp-mp-board__from--empty {
  color: var(--text-muted);
  font-weight: 500;
}
.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;
}
.bp-mp-board__row {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 0.45rem;
  align-items: center;
  padding: 0.42rem 0.45rem;
  min-height: 44px;
  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;
}
.bp-mp-board__row-ico img {
  max-width: 28px;
  max-height: 28px;
  object-fit: contain;
}
.bp-mp-board__row-meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.bp-mp-board__row-name {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-mp-board__stack {
  margin-left: 0.25rem;
  color: #5eead4;
  font-style: normal;
  font-weight: 800;
  font-size: 0.72rem;
}
.bp-mp-board__row-price {
  font-size: 0.85rem;
  color: #f0d78c;
}
.bp-mp-board__row-price strong { font-weight: 800; }
.bp-mp-board__row-act {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.bp-mp-btn-buy--sm {
  padding: 0.3rem 0.55rem !important;
  font-size: 0.7rem !important;
  min-height: 0 !important;
  border-radius: 6px;
}
.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;
  }
}
