
/* =========================================================
   BlockVerse Tebex UI - Responsive layout inspirado en Streindez
   Paleta: morado/cian/azul espacial del logo BlockVerse.
   ========================================================= */
:root {
  --bv-bg: #050d1d;
  --bv-bg-2: #081a34;
  --bv-panel: rgba(9, 28, 57, 0.88);
  --bv-panel-solid: #071b36;
  --bv-panel-2: #0a2448;
  --bv-card: #0b2447;
  --bv-card-soft: rgba(15, 42, 82, 0.72);
  --bv-line: rgba(154, 197, 255, 0.12);
  --bv-text: #f6f8ff;
  --bv-muted: #9fb1d4;
  --bv-purple: #8f5cff;
  --bv-purple-2: #b370ff;
  --bv-cyan: #55dcff;
  --bv-blue: #2e8cff;
  --bv-pink: #ff66d8;
  --bv-yellow: #ffe14a;
  --primary-color: var(--p-color, #8f5cff);
  --bg-primary: var(--bv-bg);
  --bg-secondary: var(--bv-panel-solid);
  --bg-tertiary: var(--bv-panel-2);
  --bg-card: var(--bv-panel);
  --text-primary: var(--bv-text);
  --text-secondary: var(--bv-muted);
  --border-radius: 18px;
  --border-radius-full: 999px;
  --transition: .22s ease;
}

html { min-width: 320px; }
body.bv-page {
  font-family: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: var(--bv-text);
  background:
    radial-gradient(circle at 18% 4%, rgba(143, 92, 255, .22), transparent 32rem),
    radial-gradient(circle at 82% 8%, rgba(85, 220, 255, .12), transparent 30rem),
    linear-gradient(180deg, #071527 0%, #061326 48%, #04101f 100%) !important;
  overflow-x: hidden;
}
.bv-container { width: min(1180px, calc(100% - 36px)); margin-inline: auto; }
.bv-main { padding: 26px 0 74px; position: relative; z-index: 10; }

/* Header */
.bv-hero {
  position: relative;
  min-height: clamp(168px, 23vw, 245px);
  overflow: hidden;
  background: #071527;
  isolation: isolate;
}
.bv-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-size: cover;
  filter: saturate(1.12) brightness(.86);
  transform: scale(1.03);
  z-index: -3;
}
.bv-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(4, 12, 26, .18) 0%, rgba(4, 12, 26, .58) 62%, var(--bv-bg) 100%),
    radial-gradient(circle at 50% 28%, rgba(143, 92, 255, .18), transparent 30rem);
  z-index: -2;
}
.bv-hero-shade { position:absolute; inset:0; backdrop-filter: blur(1.5px); z-index:-1; }
.bv-particles { position:absolute; inset:0; pointer-events:none; opacity:.36; }
.bv-hero-inner {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  min-height: clamp(168px, 23vw, 245px);
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  align-items: center;
  gap: 20px;
  position: relative;
  z-index: 2;
}
.bv-logo-link { display: flex; align-items: center; justify-content: center; text-decoration: none !important; }
.bv-logo-img {
  width: clamp(156px, 18vw, 255px) !important;
  height: auto !important;
  margin: 0 !important;
  max-height: none !important;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.45)) drop-shadow(0 0 22px rgba(143,92,255,.25));
}
.bv-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 0;
  background: transparent;
  color: var(--bv-text) !important;
  text-decoration: none !important;
  min-width: 0;
}
.bv-status-pill:first-child { justify-self: start; }
.bv-discord-pill { justify-self: end; }
.bv-status-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(8, 26, 52, .58);
  border: 1px solid rgba(255,255,255,.08);
  color: #ffffff;
  box-shadow: 0 14px 24px rgba(0,0,0,.22);
  flex: 0 0 auto;
}
.bv-status-copy { display:flex; flex-direction:column; line-height:1.1; text-transform: uppercase; min-width:0; }
.bv-status-copy strong { color: var(--bv-cyan); font-weight: 900; font-size: .8rem; letter-spacing: .04em; white-space:nowrap; }
.bv-status-copy span { color: #ffffff; font-size: clamp(.72rem, 1.1vw, .9rem); font-weight: 900; letter-spacing: .02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:220px; }
.bv-right-copy { text-align:right; }
.status-number { color: var(--bv-cyan) !important; font-weight:900; }

/* User/action bar */
.bv-userbar {
  background: rgba(7, 25, 50, .86);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 16px 32px rgba(0,0,0,.22);
  position: relative;
  z-index: 20;
}
.bv-userbar-inner {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.bv-login-box { display:flex; align-items:center; min-width:0; gap:12px; }
.bv-login-avatar {
  width: 42px; height: 42px; border-radius: 12px; display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(143,92,255,.24), rgba(85,220,255,.15));
  color: #fff; border:1px solid rgba(255,255,255,.1); flex:0 0 auto;
}
.bv-username-inline { display:flex; flex-direction:row; align-items:center; gap:9px; }
.bv-username-inline label, .bv-small-label { color: var(--bv-muted); font-size:.73rem; font-weight:800; letter-spacing:.02em; margin:0; white-space:nowrap; }
.bv-username-inline .username-input {
  width: min(210px, 34vw);
  border: 0 !important;
  outline: 0 !important;
  border-radius: 12px !important;
  background: rgba(3, 13, 29, .72) !important;
  color: #fff !important;
  padding: .68rem .82rem !important;
  font-size: .86rem !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.btn-check-username, .btn-change-user {
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--bv-purple), var(--bv-blue));
  color: #fff;
  font-weight: 900;
  padding: .68rem .9rem;
  cursor: pointer;
  transition: transform .2s ease, filter .2s ease;
}
.btn-check-username:hover, .btn-change-user:hover { transform: translateY(-1px); filter: brightness(1.08); }
.bv-userbar .username-display { align-items:center; gap:10px; min-width:0; }
.bv-userbar .skin-container {
  width:42px !important; height:42px !important; border-radius:12px !important;
  position: static !important; transform:none !important; overflow:hidden !important;
  background: rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.1) !important;
}
.bv-userbar .user-skin { width:42px !important; height:42px !important; object-fit:cover !important; }
.bv-userbar .user-info { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.bv-userbar .user-name { color:#fff; font-size:.98rem; margin:0; }
.bv-userbar .user-status { margin:0; font-size:.72rem; border-radius:999px; padding:.25rem .55rem; background: rgba(85,220,255,.12); color: var(--bv-cyan); }
.bv-quick-nav { display:flex; gap:8px; flex-wrap:wrap; }
.bv-quick-nav a { color:var(--bv-muted); font-weight:800; padding:.7rem .9rem; border-radius:12px; background:rgba(255,255,255,.04); }
.bv-quick-nav a.active, .bv-quick-nav a:hover { color:#fff; background:rgba(143,92,255,.18); }
.bv-user-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-wrap:wrap; }
.bv-action-btn {
  border:0; border-radius:12px; padding:.8rem 1.08rem; font-weight:900; color:#fff !important;
  background: linear-gradient(135deg, rgba(85,220,255,.95), rgba(143,92,255,.92));
  display:inline-flex; align-items:center; gap:8px; box-shadow: 0 12px 22px rgba(0,0,0,.22); text-decoration:none !important;
}
.bv-currency-btn { background: #1688ce; cursor: default; }
.cart-badge { background: rgba(255,255,255,.18) !important; color:#fff !important; border-radius: 999px !important; padding:.16rem .48rem !important; font-size:.74rem !important; }

/* Generic cards */
.bv-panel, .card, .username-box-new, .user-nav {
  background: var(--bv-panel) !important;
  border: 1px solid var(--bv-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.16);
}
.card:hover { transform:none !important; }
.card-header { padding: 1.3rem 1.4rem .2rem !important; font-weight:900 !important; color:#fff !important; }
.card-body { padding: 1.4rem !important; }

/* Home */
.bv-promo {
  min-height: clamp(154px, 19vw, 205px);
  border-radius: 18px;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(143,92,255,.76) 0%, rgba(255,102,216,.82) 54%, rgba(85,220,255,.34) 100%),
    radial-gradient(circle at 78% 22%, rgba(255,255,255,.48), transparent 19rem),
    #a84cff;
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
  padding: clamp(24px, 4vw, 46px);
  display:flex; align-items:center;
}
.bv-promo::after { content:''; position:absolute; width:clamp(190px, 26vw, 330px); height:clamp(150px, 22vw, 280px); right:-42px; bottom:-54px; background:var(--bv-promo-watermark-url, url('../img/logo.png')) center/contain no-repeat; opacity:.45; filter: drop-shadow(0 18px 26px rgba(0,0,0,.32)); pointer-events:none; }
.bv-promo-kicker { color:rgba(255,255,255,.75); font-size:.8rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.bv-promo h1 { color:#fff; font-size:clamp(2rem, 7vw, 5.8rem); line-height:.9; margin:.35rem 0 1rem; font-weight:900; letter-spacing:.14em; text-shadow:0 8px 28px rgba(0,0,0,.22); }
.bv-pill-cta { display:inline-flex; align-items:center; gap:.5rem; border-radius:999px; background:rgba(255,255,255,.25); color:#fff !important; padding:.85rem 1.25rem; font-weight:900; text-decoration:none !important; backdrop-filter: blur(8px); }
.bv-plus-card {
  margin-top: 22px; min-height: clamp(250px, 28vw, 335px); border-radius:18px; overflow:hidden; position:relative;
  background: linear-gradient(135deg, #16c7ff 0%, #1d8aff 42%, #5437d9 100%);
  padding: clamp(24px, 4vw, 42px);
  box-shadow:0 18px 38px rgba(0,0,0,.18);
}
.bv-plus-card::after { content:''; position:absolute; width:320px; height:320px; right:-70px; bottom:-80px; background:var(--bv-plus-watermark-url, url('../img/logo.png')) center/contain no-repeat; opacity:.44; filter: drop-shadow(0 18px 24px rgba(0,0,0,.34));  pointer-events:none; }
.bv-plus-content { position:relative; z-index:1; max-width:580px; }
.bv-plus-title { display:flex; align-items:center; gap:10px; color:#fff; font-size:clamp(1.4rem, 3vw, 2rem); font-weight:900; margin-bottom:.9rem; }
.bv-worth { background:var(--bv-yellow); color:#806000; border-radius:8px; padding:.28rem .55rem; font-size:.72rem; font-weight:900; }
.bv-benefits { list-style:none; padding:0; margin:0 0 1.3rem; color:#fff; font-weight:800; font-size:.9rem; }
.bv-benefits li { margin:.34rem 0; }
.bv-benefits i { color:#dff8ff; margin-right:.5rem; }
.bv-dark-btn { display:inline-flex; align-items:center; gap:.55rem; border-radius:12px; background:rgba(2,10,24,.82); color:#fff !important; padding:.92rem 1.18rem; font-weight:900; text-decoration:none !important; }
.bv-category-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:22px; margin-top:22px; }
.bv-category-tile {
  min-height:190px; border-radius:8px; overflow:hidden; position:relative; padding:28px; color:#fff !important; text-decoration:none !important; display:flex; align-items:flex-start; justify-content:flex-end;
  background: linear-gradient(135deg, var(--tile-a), var(--tile-b));
  box-shadow:0 18px 34px rgba(0,0,0,.15); isolation:isolate;
}
.bv-category-tile::before { content:''; position:absolute; width:180px; height:180px; left:5%; bottom:-32px; background:var(--bv-card-watermark-url, url('../img/logo.png')) center/contain no-repeat; opacity:.20; filter: drop-shadow(0 12px 18px rgba(0,0,0,.25)); z-index:-1; pointer-events:none; }
.bv-category-tile i { position:absolute; left:9%; top:50%; transform:translateY(-50%) rotate(-8deg); font-size:clamp(3.1rem, 7vw, 5.2rem); color:rgba(255,255,255,.72); text-shadow:0 12px 22px rgba(0,0,0,.18); }
.bv-category-tile strong { font-size:clamp(1.25rem, 2.4vw, 1.8rem); font-weight:900; text-shadow:0 8px 18px rgba(0,0,0,.16); }
.bv-tile-ranks { --tile-a:#ffe432; --tile-b:#dec600; }
.bv-tile-keys { --tile-a:#ff83ae; --tile-b:#e4478c; }
.bv-tile-kits { --tile-a:#16c7ff; --tile-b:#06a6d8; }
.bv-tile-boosters { --tile-a:#37bbff; --tile-b:#8f5cff; }
.bv-section-card { margin-top:52px; background:var(--bv-panel) !important; border:1px solid var(--bv-line); border-radius:18px; padding:24px; }
.bv-section-title { text-align:center; color:#fff; font-size:1.35rem; font-weight:900; margin:0 0 20px; }
.bv-payments-grid { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:14px; }
.bv-payment-card { background:rgba(4,15,34,.66); border:1px solid rgba(255,255,255,.06); border-radius:8px; padding:16px 10px; text-align:center; min-width:0; }
.bv-payment-card img, .bv-top-avatar img { width:42px; height:42px; border-radius:8px; image-rendering:pixelated; background:rgba(255,255,255,.1); }
.bv-payment-card strong { display:block; color:#fff; margin-top:8px; font-size:.8rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bv-payment-card span { display:block; color:var(--bv-muted); font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bv-top-card { display:flex; align-items:center; gap:22px; background:rgba(4,15,34,.66); border-radius:8px; padding:24px; border:1px solid rgba(255,255,255,.06); }
.bv-top-avatar { flex:0 0 auto; width:82px; height:82px; display:grid; place-items:center; border:3px solid var(--bv-yellow); border-radius:13px; position:relative; }
.bv-top-avatar::after { content:'♛'; color:var(--bv-yellow); position:absolute; right:-10px; top:-18px; font-size:1.6rem; }
.bv-top-avatar img { width:66px; height:66px; }
.bv-top-info { text-align:center; flex:1; }
.bv-top-info h3 { color:#fff; margin:0; font-weight:900; font-size:1.5rem; }
.bv-donor-badge { display:inline-block; margin:.5rem 0; background:rgba(255,181,52,.18); color:#ffb534; border-radius:8px; padding:.35rem .7rem; font-size:.75rem; font-weight:900; }
.bv-donation-total { color:#5df5a8; font-size:1.8rem; font-weight:900; }
.bv-donation-total small { color:var(--bv-muted); font-size:.84rem; }
.bv-top-period { color:var(--bv-muted); font-size:.75rem; font-weight:900; text-transform:uppercase; }

/* Store page */
.bv-store-head { text-align:center; padding:10px 0 22px; }
.bv-store-head h1 { color:#fff; font-size:clamp(1.8rem, 4vw, 3.2rem); font-weight:900; margin:0; }
.bv-store-head p { color:var(--bv-muted); max-width:760px; margin:.8rem auto 0; }
.bv-filter-panel { padding:18px; margin-bottom:22px; }
.mode-filter-bar, #category-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.mode-filter-btn, .filter-btn {
  border:1px solid rgba(255,255,255,.08); background:rgba(3,13,29,.58); color:var(--bv-muted); border-radius:14px; padding:.85rem 1rem; font-weight:900; cursor:pointer; transition:var(--transition);
}
.mode-filter-btn:hover, .filter-btn:hover, .mode-filter-btn.active, .filter-btn.active { color:#fff; background:linear-gradient(135deg, rgba(143,92,255,.92), rgba(46,140,255,.86)); border-color:transparent; transform:translateY(-1px); }
.search-box { border:1px solid rgba(255,255,255,.08) !important; background:rgba(3,13,29,.72) !important; color:#fff !important; border-radius:14px !important; outline:0 !important; }
.search-box::placeholder { color:rgba(255,255,255,.45); }
.products-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)) !important; gap:18px !important; margin-top:0 !important; }
.product-card { border-radius:18px !important; background:rgba(8,27,54,.92) !important; border:1px solid rgba(255,255,255,.08) !important; box-shadow:0 14px 28px rgba(0,0,0,.16); }
.product-card:hover { transform:translateY(-4px) !important; border-color:rgba(85,220,255,.34) !important; }
.product-image { background:linear-gradient(135deg, rgba(143,92,255,.18), rgba(85,220,255,.14)) !important; height:180px !important; color:rgba(255,255,255,.38); }
.product-image img { object-fit:contain !important; padding:18px; }
.product-category, .product-server-tag { display:inline-flex; align-items:center; gap:.35rem; color:#fff !important; background:rgba(143,92,255,.18); border:1px solid rgba(143,92,255,.22); border-radius:999px; padding:.26rem .55rem; font-size:.68rem !important; font-weight:900; letter-spacing:0 !important; margin:0 !important; }
.product-server-tag { background:rgba(85,220,255,.14); border-color:rgba(85,220,255,.22); color:#c8f6ff !important; }
.product-title { color:#fff !important; font-weight:900 !important; line-height:1.15; }
.product-description { color:var(--bv-muted) !important; }
.product-footer { gap:14px; align-items:flex-end !important; border-top:1px solid rgba(255,255,255,.08) !important; }
.product-price { color:var(--bv-cyan) !important; }
.btn-product-info, .btn-add-cart { border-radius:12px !important; }
.btn-add-cart { background:linear-gradient(135deg, var(--bv-purple), var(--bv-blue)) !important; }
.product-modal-content { background:var(--bv-panel-solid); border-radius:20px; border:1px solid var(--bv-line); }

/* Cart */
.cart-menu { background:var(--bv-panel-solid) !important; border:1px solid var(--bv-line); border-radius:18px !important; overflow:hidden; }
.overlay.active { backdrop-filter: blur(6px); }

/* Footer */
.bv-footer { background:#041020; color:var(--bv-muted); position:relative; z-index:10; }
.bv-footer-inner { display:grid; grid-template-columns:1.4fr .7fr 1fr; gap:48px; padding:62px 0; }
.bv-footer h3 { color:#fff; font-size:1.05rem; font-weight:900; margin-bottom:16px; }
.bv-footer p { font-size:.88rem; line-height:1.75; margin-bottom:.8rem; }
.bv-footer a { color:var(--bv-muted); display:block; margin:.48rem 0; font-weight:700; text-decoration:none !important; }
.bv-footer a:hover { color:#fff; }
.bv-footer-discord { display:inline-flex !important; align-items:center; gap:.5rem; width:max-content; background:linear-gradient(135deg, #2ea7ff, #8f5cff); color:#fff !important; border-radius:10px; padding:.72rem 1rem; margin-top:.8rem !important; }
.bv-footer-ip button { background:none; border:0; color:var(--bv-cyan); font-weight:900; cursor:pointer; }
.bv-footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding:24px 0; }
.bv-footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; font-size:.82rem; }
.bv-socials { display:flex; gap:16px; color:#375e95; font-size:1.2rem; }
.bv-tebex-strip { background:#2b2b2f; color:#b8b8c4; min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:7px 22px; font-size:.72rem; }
.bv-tebex-strip a { color:#d8d8e6; text-decoration:underline; }

/* Sidebar pages compatibility */
.bv-layout-sidebar .top-container { margin-top: 28px !important; }
.bv-layout-sidebar .col-lg-3, .bv-layout-sidebar .col-lg-9 { margin-bottom:24px; }
.user-nav-link { border-left:0 !important; }
.username-box-new { overflow:hidden !important; }

/* Responsive */
@media (max-width: 991.98px) {
  .bv-hero-inner { grid-template-columns: 1fr; gap:8px; padding:18px 0 22px; }
  .bv-status-pill { justify-self:center !important; order:2; }
  .bv-discord-pill { order:3; }
  .bv-logo-link { order:1; }
  .bv-right-copy { text-align:left; }
  .bv-userbar-inner { flex-direction:column; align-items:stretch; padding:14px 0; min-height:0; }
  .bv-login-box, .bv-user-actions { justify-content:center; }
  .bv-payments-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .bv-footer-inner { grid-template-columns:1fr; gap:26px; padding:44px 0; }
}
@media (max-width: 760px) {
  .bv-container, .bv-hero-inner, .bv-userbar-inner { width:min(100% - 24px, 1180px); }
  .bv-username-inline { flex-wrap:wrap; justify-content:center; }
  .bv-username-inline .username-input { width:min(100%, 260px); }
  .bv-user-actions { gap:8px; }
  .bv-action-btn { flex:1 1 auto; justify-content:center; padding:.78rem .75rem; }
  .bv-currency-btn { display:none; }
  .bv-category-grid { grid-template-columns:1fr; gap:16px; }
  .bv-category-tile { min-height:150px; }
  .bv-payments-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bv-top-card { flex-direction:column; text-align:center; }
  .products-grid { grid-template-columns: 1fr !important; }
  .product-footer { flex-direction:column; align-items:stretch !important; }
  .product-actions { width:100%; display:flex; }
  .btn-add-cart { flex:1; }
  .bv-tebex-strip { flex-direction:column; text-align:center; }
}
@media (max-width: 420px) {
  .bv-status-copy span { max-width:170px; }
  .bv-logo-img { width:150px !important; }
  .bv-payments-grid { grid-template-columns:1fr; }
  .bv-promo { padding:22px; }
  .bv-promo h1 { letter-spacing:.07em; }
}

/* === BlockVerse hotfix: carrito visible sobre el overlay, responsive y sin barra gris inferior === */
body.cart-open { overflow: hidden !important; }
.overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 300000 !important;
  background: rgba(0, 4, 16, .72) !important;
  backdrop-filter: blur(7px) !important;
  -webkit-backdrop-filter: blur(7px) !important;
}
.overlay:not(.active) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.overlay.active {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.cart-menu {
  position: fixed !important;
  z-index: 300100 !important;
  top: max(18px, env(safe-area-inset-top)) !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) translateY(-10px) !important;
  width: min(680px, calc(100vw - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  max-height: calc(100dvh - 36px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: none !important;
  flex-direction: column !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: rgba(5, 19, 41, .98) !important;
  border: 1px solid rgba(143, 92, 255, .30) !important;
  border-radius: 22px !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .55), 0 0 0 1px rgba(85, 220, 255, .08) inset !important;
}
.cart-menu.active {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
}
.cart-menu .cart-header,
.cart-menu .cart-footer {
  flex: 0 0 auto !important;
}
.cart-menu .cart-header {
  align-items: center !important;
  gap: 12px !important;
}
.cart-body {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  min-height: 0 !important;
}
.cart-menu .card {
  background: rgba(3, 13, 29, .72) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 14px !important;
}
.cart-menu .cart-checkout {
  white-space: nowrap !important;
}
.bv-tebex-strip { display: none !important; }
@media (max-width: 576px) {
  .cart-menu {
    top: max(10px, env(safe-area-inset-top)) !important;
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 18px !important;
  }
  .cart-menu .cart-header,
  .cart-body,
  .cart-footer {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* === BlockVerse fixes: username, checkout overlay y avatar === */
.bv-userbar .bv-username-inline .btn-check-username,
.bv-login-box .btn-check-username {
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  display: inline-grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  box-shadow: 0 12px 24px rgba(34, 197, 94, .24) !important;
  color: #fff !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.username-box-new .btn-check-username {
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  box-shadow: 0 12px 24px rgba(34, 197, 94, .24) !important;
  color: #fff !important;
  font-size: 1.05rem !important;
}
.username-display-actions {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
}
.btn-logout-user {
  border: 0;
  border-radius: 999px;
  padding: .48rem .72rem;
  background: rgba(239, 68, 68, .17);
  color: #ffe1e1;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}
.btn-logout-user:hover { transform: translateY(-1px); background: rgba(239, 68, 68, .28); color: #fff; }
.bv-userbar .btn-change-user,
.bv-userbar .btn-logout-user {
  min-height: 34px !important;
  padding: .38rem .6rem !important;
  border-radius: 999px !important;
  font-size: .74rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .35rem !important;
}
.bv-userbar .skin-container {
  overflow: hidden !important;
}
.bv-userbar .user-skin {
  width: 42px !important;
  height: 42px !important;
  object-fit: cover !important;
  image-rendering: pixelated !important;
}
.overlay { z-index: 10000 !important; }
.cart-menu { z-index: 10020 !important; filter: none !important; }
.swal2-container { z-index: 10050 !important; }
.cart-menu .cart-checkout { min-width: 128px; }
@media (max-width: 720px) {
  .bv-username-inline { width: 100%; }
  .bv-username-inline label { width: 100%; }
  .bv-userbar .bv-username-inline .username-input { flex: 1 1 auto; width: auto !important; min-width: 0; }
  .bv-user-actions { justify-content: center; }
}
.bv-userbar .bv-username-inline {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 9px !important;
}
.bv-userbar .bv-username-inline .username-input {
  width: min(240px, 34vw) !important;
  flex: 0 1 240px !important;
}

/* === BlockVerse v3: tabs, botones y mini-carrito legible === */
.bv-quick-nav {
  gap: 7px !important;
  align-items: center !important;
}
.bv-quick-nav a {
  font-size: .82rem !important;
  white-space: nowrap !important;
}
.bv-userbar .bv-username-inline .btn-check-username,
.bv-login-box .btn-check-username,
.username-box-new .btn-check-username {
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  display: inline-grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  box-shadow: 0 12px 24px rgba(34, 197, 94, .26) !important;
  color: #fff !important;
  font-size: 0 !important;
  line-height: 1 !important;
  flex: 0 0 46px !important;
}
.bv-userbar .bv-username-inline .btn-check-username i,
.bv-login-box .btn-check-username i,
.username-box-new .btn-check-username i {
  font-size: 1.08rem !important;
}
.username-display-actions .btn-change-user,
.username-display-actions .btn-logout-user,
.bv-userbar .btn-change-user,
.bv-userbar .btn-logout-user {
  border: 0 !important;
  min-height: 34px !important;
  padding: .42rem .7rem !important;
  border-radius: 999px !important;
  font-size: .74rem !important;
  font-weight: 900 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .35rem !important;
  cursor: pointer !important;
  color: #fff !important;
  text-decoration: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.18) !important;
}
.username-display-actions .btn-change-user,
.bv-userbar .btn-change-user {
  background: linear-gradient(135deg, #8f5cff, #2e8cff) !important;
}
.username-display-actions .btn-logout-user,
.bv-userbar .btn-logout-user {
  background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
}
.username-display-actions .btn-change-user:hover,
.username-display-actions .btn-logout-user:hover { transform: translateY(-1px) !important; filter: brightness(1.07) !important; }
.bv-userbar .skin-container,
.bv-userbar .user-skin {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
}
.bv-userbar .skin-container {
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: rgba(2, 8, 18, .76) !important;
}
.bv-userbar .user-skin {
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  image-rendering: pixelated !important;
}
.mode-filter-bar,
#category-filters {
  row-gap: 10px !important;
}
.mode-filter-btn,
.filter-btn {
  min-height: 38px !important;
  border-radius: 999px !important;
  font-size: .78rem !important;
  line-height: 1 !important;
}
.mode-filter-btn span,
.filter-btn span {
  opacity: .8;
  font-size: .72rem;
}
.products-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)) !important;
  align-items: stretch !important;
}
.product-card {
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.product-image {
  height: 150px !important;
  background: linear-gradient(135deg, rgba(31, 72, 128, .72), rgba(27, 48, 91, .92)) !important;
}
.product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.product-content {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}
.product-description {
  flex: 1 1 auto !important;
}
.product-footer {
  margin-top: auto !important;
}
.cart-menu .cart-body {
  padding: 1rem 1.1rem !important;
}
.bv-mini-cart-user {
  display: flex;
  align-items: center;
  gap: .6rem;
  color: var(--bv-muted);
  background: rgba(85,220,255,.07);
  border: 1px solid rgba(85,220,255,.15);
  border-radius: 14px;
  padding: .75rem .85rem;
  margin-bottom: .85rem;
  font-size: .86rem;
}
.bv-mini-cart-user i { color: var(--bv-cyan); }
.bv-mini-cart-list { display: grid; gap: .72rem; }
.bv-mini-cart-item {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) auto 32px;
  align-items: center;
  gap: .78rem;
  padding: .72rem;
  border-radius: 16px;
  background: rgba(3, 13, 29, .72);
  border: 1px solid rgba(255,255,255,.08);
}
.bv-mini-cart-img {
  width: 54px;
  height: 54px;
  border-radius: 12px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.45);
}
.bv-mini-cart-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bv-mini-cart-info { min-width: 0; display: grid; gap: .18rem; }
.bv-mini-cart-info strong { color: #fff; font-size: .92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-mini-cart-info span { color: var(--bv-muted); font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bv-mini-cart-price { color: var(--bv-cyan); font-weight: 900; font-size: .92rem; white-space: nowrap; }
.bv-mini-cart-price small { color: var(--bv-muted); font-size: .68rem; }
.bv-mini-cart-remove {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  border: 0;
  background: rgba(239, 68, 68, .16);
  color: #ffb6b6;
  cursor: pointer;
}
.bv-mini-cart-remove:hover { background: rgba(239, 68, 68, .28); color: #fff; }
.bv-cart-footer-actions {
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.cart-menu .cart-footer {
  gap: 1rem !important;
}
.cart-menu .cart-footer .btn {
  border-radius: 12px !important;
  font-weight: 900 !important;
  padding: .72rem .9rem !important;
}
@media (max-width: 680px) {
  .bv-quick-nav { justify-content: center !important; }
  .bv-mini-cart-item { grid-template-columns: 46px minmax(0,1fr) 28px; }
  .bv-mini-cart-price { grid-column: 2 / 3; font-size: .86rem; }
  .bv-cart-footer-actions { width: 100%; justify-content: stretch; }
  .bv-cart-footer-actions .btn { flex: 1 1 auto; }
  .cart-menu .cart-footer { flex-direction: column !important; align-items: stretch !important; }
}

/* === BlockVerse full fix: header/login/nav sin amontonarse === */
.bv-userbar-inner {
  width: min(1320px, calc(100% - 36px)) !important;
  min-height: 74px !important;
  padding: 10px 0 !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 1.15fr) auto auto !important;
  align-items: center !important;
  gap: 14px !important;
}
.bv-login-box {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.bv-userbar .username-display {
  min-width: 0 !important;
  max-width: 100% !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: hidden !important;
}
.bv-userbar .user-info {
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.bv-userbar .user-name {
  max-width: 150px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.bv-main-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.bv-main-nav a {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  padding: .72rem 1rem !important;
  border-radius: 14px !important;
  color: var(--bv-muted) !important;
  background: rgba(255,255,255,.045) !important;
  font-size: .86rem !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: transform .2s ease, background .2s ease, color .2s ease !important;
}
.bv-main-nav a:hover,
.bv-main-nav a.active,
.bv-action-btn.active {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(143,92,255,.72), rgba(46,140,255,.56)) !important;
  transform: translateY(-1px) !important;
}
.bv-user-actions {
  flex-wrap: nowrap !important;
  min-width: 0 !important;
}
.bv-action-btn {
  min-height: 50px !important;
  border-radius: 14px !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  line-height: 1.05 !important;
}
.bv-action-btn .cart-badge {
  min-width: 24px !important;
  min-height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 .42rem !important;
}
.bv-login-spacer { min-height: 1px; }
@media (max-width: 1180px) {
  .bv-userbar-inner {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 10px !important;
    padding: 14px 0 !important;
  }
  .bv-login-box { justify-content: center !important; width: min(100%, 680px) !important; }
  .bv-userbar .username-display { justify-content: center !important; }
  .bv-user-actions { justify-content: center !important; }
}
@media (max-width: 620px) {
  .bv-userbar-inner { width: min(100% - 20px, 1320px) !important; }
  .bv-login-box { width: 100% !important; align-items: stretch !important; }
  .bv-login-avatar { display: none !important; }
  .bv-userbar .bv-username-inline { flex: 1 1 auto !important; width: 100% !important; }
  .bv-userbar .bv-username-inline label { width: 100% !important; }
  .bv-userbar .bv-username-inline .username-input { flex: 1 1 auto !important; width: auto !important; }
  .bv-userbar .username-display { width: 100% !important; }
  .bv-userbar .user-info { flex: 1 1 auto !important; }
  .username-display-actions { width: 100% !important; }
  .username-display-actions .btn-change-user,
  .username-display-actions .btn-logout-user { flex: 1 1 auto !important; }
  .bv-main-nav, .bv-user-actions { width: 100% !important; }
  .bv-main-nav a { flex: 1 1 auto !important; justify-content: center !important; padding: .72rem .72rem !important; }
  .bv-action-btn.cart-toggler { width: 100% !important; justify-content: center !important; }
}

/* === BlockVerse full fix: categorías Tebex limpias === */
.mode-filter-bar {
  justify-content: center !important;
  gap: 12px !important;
}
#category-filters {
  justify-content: flex-start !important;
  gap: 12px !important;
}
.mode-filter-btn,
.filter-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: .48rem !important;
  min-height: 48px !important;
  border-radius: 16px !important;
  padding: .78rem 1rem !important;
  white-space: nowrap !important;
}
.mode-filter-btn span,
.filter-btn span {
  border-radius: 999px !important;
  padding: .16rem .48rem !important;
  background: rgba(255,255,255,.12) !important;
  opacity: 1 !important;
}
.bv-subcategory-empty {
  width: 100% !important;
}
.product-card .product-category,
.product-card .product-server-tag {
  max-width: 100% !important;
}
.product-card .product-meta {
  min-width: 0 !important;
}
.product-card .product-category {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


/* === BlockVerse header limpio login v7 ===
   Ajuste: al iniciar sesión se oculta totalmente el formulario "Usuario / Tu nick"
   y se deja solo skin + nombre + estado + cambiar/salir. */
.bv-userbar-inner {
  grid-template-columns: minmax(320px, 1fr) auto auto !important;
  gap: 16px !important;
}
.bv-login-box {
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
}
.bv-userbar .bv-username-inline {
  min-width: 0 !important;
  max-width: 100% !important;
}
.bv-userbar .username-input-container[style*="display: none"],
.bv-login-box.bv-user-logged-in .username-input-container {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.bv-login-box.bv-user-logged-in {
  width: auto !important;
  max-width: 100% !important;
}
.bv-login-box.bv-user-logged-in .username-display,
.bv-userbar .username-display[style*="display: flex"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.bv-login-box.bv-user-logged-in .user-info {
  display: grid !important;
  grid-template-columns: minmax(0, auto) auto auto !important;
  grid-template-areas:
    "label name status"
    "actions actions actions" !important;
  align-items: center !important;
  column-gap: 8px !important;
  row-gap: 6px !important;
  min-width: 0 !important;
}
.bv-login-box.bv-user-logged-in .bv-small-label { grid-area: label !important; }
.bv-login-box.bv-user-logged-in .user-name { grid-area: name !important; max-width: 130px !important; }
.bv-login-box.bv-user-logged-in .user-status { grid-area: status !important; white-space: nowrap !important; }
.bv-login-box.bv-user-logged-in .username-display-actions {
  grid-area: actions !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  flex-wrap: nowrap !important;
}
.bv-login-box.bv-user-logged-in .btn-change-user,
.bv-login-box.bv-user-logged-in .btn-logout-user {
  min-height: 32px !important;
  padding: .38rem .68rem !important;
  font-size: .72rem !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}
.bv-main-nav {
  flex-wrap: nowrap !important;
  justify-self: center !important;
}
.bv-main-nav a {
  min-width: 0 !important;
  padding: .72rem .92rem !important;
}
.bv-user-actions {
  justify-self: end !important;
}
.bv-action-btn.cart-toggler {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
@media (max-width: 1120px) {
  .bv-userbar-inner {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }
  .bv-login-box,
  .bv-login-box.bv-user-logged-in {
    justify-content: center !important;
    width: 100% !important;
  }
  .bv-login-box.bv-user-logged-in .username-display {
    justify-content: center !important;
  }
  .bv-main-nav,
  .bv-user-actions {
    justify-self: center !important;
  }
}
@media (max-width: 620px) {
  .bv-login-box.bv-user-logged-in .user-info {
    grid-template-columns: minmax(0, auto) auto !important;
    grid-template-areas:
      "label status"
      "name name"
      "actions actions" !important;
    justify-items: center !important;
  }
  .bv-login-box.bv-user-logged-in .username-display {
    flex-direction: column !important;
    text-align: center !important;
  }
  .bv-login-box.bv-user-logged-in .user-name { max-width: 240px !important; }
  .bv-login-box.bv-user-logged-in .username-display-actions {
    width: 100% !important;
    justify-content: center !important;
  }
}
