:root {
  --bg: #070c18;
  --bg2: #0c1322;
  --bg3: #111b30;
  --surface: #162038;
  --surface2: #1c2a48;
  --border: #1e2e50;
  --border2: #2a3e6a;
  --txt: #dde6f5;
  --txt2: #8aa0c3;
  --txt3: #526987;
  --accent: #f5c518;
  --accent2: #c9960a;
  --accent-bg: #2a1f04;
  --blue: #2563eb;
  --red: #ef4444;
  --green: #22c55e;
}

.google-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 48px;
  padding: 0 16px;
  border-radius: 8px;
  border: 1px solid #dadce0;
  background: #fff;
  color: #3c4043;
  font-weight: 500;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: "DM Sans", sans-serif;
  line-height: 1;
}

.google-btn img {
  width: 18px;
  height: 18px;
}

.google-btn:hover {
  background: #f7f8f8;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: "DM Sans", sans-serif;
  background: var(--bg);
  color: var(--txt);
  min-height: 100vh;
}
.hdr {
  height: 72px;
  padding: 0 28px;
  background:
    linear-gradient(180deg, rgba(12,19,34,.92), rgba(7,12,24,.84));
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(245,197,24,.14);
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
}

.brand-logo {
  width: 180px;
  height: 100px;
  object-fit: contain;
}

.confirm-logo {
  height: 40px;
  object-fit: contain;
}

.brand {
  gap: 12px;
  font-size: 27px;
  letter-spacing: 2.4px;
}

.brand-mark {
  width: 42px;
  height: 42px;
  background:
    radial-gradient(circle at 35% 25%, #fff8c0 0%, #f5c518 38%, #8a6200 100%);
  box-shadow:
    0 0 0 1px rgba(245,197,24,.35),
    0 10px 28px rgba(245,197,24,.18);
}

.brand .am {
  color: #f5c518;
  text-shadow: 0 0 18px rgba(245,197,24,.28);
}

.brand .w {
  color: #fff;
}

.hdr-r {
  gap: 12px;
}
.hdr .btn-primary {
  border: 1px solid rgba(245,197,24,.45);
  box-shadow:
    0 0 0 1px rgba(245,197,24,.08),
    0 10px 28px rgba(245,197,24,.18);
}

.hdr .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(245,197,24,.16),
    0 14px 36px rgba(245,197,24,.26);
}

.dot {
  width: 10px;
  height: 10px;
  box-shadow: 0 0 0 4px rgba(34,197,94,.08);
}
.dot.on {
  background: var(--green);
  box-shadow: 0 0 7px var(--green);
}
.dot.err {
  background: var(--red);
}
.btn {
  border: none;
  border-radius: 9px;
  padding: 10px 16px;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: 0.2s;
}
.btn-primary {
  background: var(--accent);
  color: #0b0e14;
}
.btn-primary:hover {
  background: var(--accent2);
}
.btn-ghost {
  background: transparent;
  color: var(--txt2);
  border: 1px solid var(--border2);
}
.btn-ghost:hover {
  color: var(--txt);
  border-color: var(--txt2);
  background: var(--surface);
}
.btn-danger {
  background: var(--red);
  color: #fff;
}
.badge {
  background: var(--accent-bg);
  color: var(--accent);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid var(--accent2);
}
.hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at top right,
      rgba(245, 197, 24, 0.18),
      transparent 34%
    ),
    linear-gradient(160deg, var(--bg2), var(--bg3));
  border-bottom: 1px solid var(--border);
  padding: 42px 20px 34px;
  text-align: center;
}
.hero h1 {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(40px, 8vw, 76px);
  letter-spacing: 4px;
  line-height: 0.95;
  background: linear-gradient(90deg, var(--accent), #fff8c0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero p {
  font-size: 14px;
  color: var(--txt2);
  margin: 10px auto 0;
  max-width: 720px;
  line-height: 1.6;
}
.hero-prize {
  margin: 24px auto 0;
  max-width: 820px;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 18px;
  text-align: left;
  align-items: stretch;
}
.prize-img {
  width: 100%;
  min-height: 190px;
  aspect-ratio: 4/3;
  border-radius: 18px;
  border: 1px solid var(--border2);
  object-fit: cover;
  background: var(--surface);
}
.prize-card {
  background: rgba(17, 27, 48, 0.76);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.kicker {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: var(--txt3);
  font-weight: 800;
}
.prize-card h2 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 38px;
  letter-spacing: 2px;
  margin: 6px 0;
  color: #fff;
}
.prize-card p {
  margin: 0;
  color: var(--txt2);
}
.stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--bg3);
  border-bottom: 1px solid var(--border);
}
.st {
  text-align: center;
  padding: 15px 8px;
  border-right: 1px solid var(--border);
}
.st:last-child {
  border-right: none;
}
.st-n {
  font-family: "Bebas Neue", sans-serif;
  font-size: 31px;
  color: var(--txt);
  line-height: 1;
}
.st-n.am {
  color: var(--accent);
}
.st-l {
  font-size: 10px;
  color: var(--txt3);
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 18px 20px;
}
.panel {
  background: rgba(17, 27, 48, 0.62);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 18px;
  margin-bottom: 18px;
}
.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.panel h2 {
  font-family: "Bebas Neue", sans-serif;
  letter-spacing: 1.5px;
  font-size: 28px;
}
.leyenda {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  color: var(--txt2);
  font-size: 12px;
  margin-bottom: 14px;
}
.ley {
  display: flex;
  align-items: center;
  gap: 7px;
}
.sq {
  width: 14px;
  height: 14px;
  border-radius: 4px;
}
.sq.free {
  background: var(--surface);
  border: 1px solid var(--border2);
}
.sq.sold {
  background: var(--accent);
}
.nums-grid {
  display: grid;
  grid-template-columns: repeat(25, 1fr);
  gap: 3px;
}
.nc {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
  border-radius: 4px;
  background: var(--surface2);
  color: var(--txt2);
  border: 1px solid var(--border2);
  user-select: none;
}
.nc.sold {
  background: var(--accent);
  border-color: var(--accent2);
  color: #0b0e14;
}
.nc.click {
  cursor: pointer;
}
.nc.click:not(.sold):hover {
  background: #1e3a6e;
  border-color: var(--blue);
  color: var(--txt);
  transform: scale(1.14);
  z-index: 2;
}
.nc.click.sold:hover {
  background: var(--red);
  border-color: #991b1b;
  color: #fff;
  transform: scale(1.14);
  z-index: 2;
}
.cta {
  background: var(--accent-bg);
  border: 1px solid var(--accent2);
  border-radius: 14px;
  padding: 16px 20px;
  text-align: center;
  color: var(--accent);
  font-size: 13px;
  line-height: 1.5;
}
.tabs {
  display: flex;
  background: var(--bg2);
  border-bottom: 1px solid var(--border);
  padding: 0 20px;
  overflow: auto;
}
.tab {
  padding: 15px 18px;
  font-size: 13px;
  font-weight: 700;
  color: var(--txt2);
  border: none;
  background: transparent;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap;
}
.tab.act {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.admin-view {
  display: none;
}
.admin-view.act {
  display: block;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.fg {
  margin-bottom: 14px;
}
.fg.full {
  grid-column: 1/-1;
}
.fg label {
  display: block;
  font-size: 11px;
  font-weight: 800;
  color: var(--txt3);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin-bottom: 7px;
}
.input,
select,
textarea {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--border2);
  border-radius: 10px;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: var(--txt);
  background: var(--surface);
  outline: none;
}
.input:focus,
select:focus,
textarea:focus {
  border-color: var(--accent);
}
textarea {
  min-height: 96px;
  resize: vertical;
}
.raffle-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 12px;
}
.raffle-card {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
}
.raffle-card img {
  width: 100%;
  height: 145px;
  object-fit: cover;
  background: var(--surface);
}
.raffle-card .body {
  padding: 14px;
}
.raffle-card h3 {
  font-size: 15px;
  margin-bottom: 4px;
}
.muted {
  color: var(--txt2);
  font-size: 13px;
  line-height: 1.45;
}
.row {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.res-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.rcard {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px;
}
.rcard-lbl {
  font-size: 11px;
  color: var(--txt3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}
.rcard-val {
  font-family: "Bebas Neue", sans-serif;
  font-size: 34px;
  color: var(--txt);
  line-height: 1;
}
.rcard-val.am {
  color: var(--accent);
}
.login-wrap {
  max-width: 440px;
  margin: 44px auto;
}
.ov {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.82);
  z-index: 200;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.ov.on {
  display: flex;
}
.mbox {
  background: var(--bg3);
  border: 1px solid var(--border2);
  border-radius: 18px;
  padding: 26px;
  width: 390px;
  max-width: 96vw;
  position: relative;
}
.mbox h2 {
  font-family: "Bebas Neue", sans-serif;
  color: var(--accent);
  letter-spacing: 1.5px;
  font-size: 28px;
}
.btn-x {
  position: absolute;
  top: 12px;
  right: 14px;
  background: none;
  border: none;
  color: var(--txt3);
  font-size: 22px;
  cursor: pointer;
}
.gan-box {
  background: var(--bg3);
  border: 1px solid var(--border2);
  border-radius: 18px;
  padding: 30px;
  margin-top: 18px;
  text-align: center;
  animation: pop 0.35s ease;
}
.gan-num {
  font-family: "Bebas Neue", sans-serif;
  font-size: 88px;
  color: var(--accent);
  line-height: 1;
}
.gan-comp {
  font-size: 22px;
  font-weight: 800;
  margin-top: 8px;
}
.toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(80px);
  background: var(--bg2);
  color: var(--txt);
  border: 1px solid var(--border2);
  padding: 10px 18px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  opacity: 0;
  transition: 0.3s;
  z-index: 400;
  white-space: nowrap;
}
.toast.on {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.toast.ok {
  border-left: 3px solid var(--green);
}
.toast.er {
  border-left: 3px solid var(--red);
}
.loading {
  position: fixed;
  inset: 0;
  background: var(--bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 500;
  transition: 0.35s;
}
.loading.gone {
  opacity: 0;
  pointer-events: none;
}
.spin {
  width: 34px;
  height: 34px;
  border: 3px solid var(--border);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: sp 0.8s linear infinite;
  margin-top: 18px;
}
@keyframes sp {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pop {
  from {
    transform: scale(0.92);
    opacity: 0.4;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
@media (max-width: 760px) {
    .hdr {
    height: 64px;
    padding: 0 14px;
  }

  .brand {
    font-size: 20px;
    letter-spacing: 1.4px;
  }

  .brand-mark {
    width: 36px;
    height: 36px;
  }
  .hdr .btn {
    padding: 8px 12px;
    font-size: 12px;
  }


  .hero-prize {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .stats-strip,
  .res-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .nums-grid {
    grid-template-columns: repeat(10, 1fr);
  }
  .nc {
    font-size: 11px;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .panel-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .hide-mobile {
    display: none;
  }
}

/* ── PÁGINA PÚBLICA MULTI-SORTEOS ── */
.public-home .panel {
  margin-bottom: 22px;
}
.public-raffles {
  display: grid;
  gap: 22px;
}
.public-raffle-card {
  background: rgba(17, 27, 48, 0.72);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 18px;
  overflow: hidden;
}
.public-raffle-top {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 18px;
  align-items: stretch;
  margin-bottom: 16px;
}
.public-prize-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid var(--border2);
  background: var(--surface);
}
.public-prize-img.placeholder {
  display: grid;
  place-items: center;
  font-family: "Bebas Neue", sans-serif;
  font-size: 54px;
  color: var(--accent);
}
.public-raffle-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.public-raffle-info h2 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 42px;
  letter-spacing: 2px;
  line-height: 1;
  color: #fff;
}
.public-raffle-info h3 {
  font-size: 18px;
  color: var(--accent);
  margin: 4px 0 10px;
}
.desc-lines {
  white-space: normal;
}
.mini-stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin: 14px 0;
}
.mini-stats div {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 12px;
  text-align: center;
}
.mini-stats strong {
  display: block;
  font-family: "Bebas Neue", sans-serif;
  font-size: 28px;
  line-height: 1;
  color: var(--accent);
}
.mini-stats span {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--txt3);
}
.public-legend {
  margin-top: 14px;
}
.public-grid {
  margin-top: 8px;
}
.winner-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 14px;
}
.winner-card {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
}
.winner-card img,
.winner-img-placeholder {
  width: 100%;
  height: 150px;
  object-fit: cover;
  background: var(--surface);
  display: grid;
  place-items: center;
  font-family: "Bebas Neue", sans-serif;
  font-size: 42px;
  color: var(--accent);
}
.winner-body {
  padding: 14px;
}
.winner-body h3 {
  font-size: 15px;
  margin: 4px 0 8px;
}
.winner-number {
  font-family: "Bebas Neue", sans-serif;
  font-size: 52px;
  line-height: 1;
  color: var(--accent);
}
.empty-state {
  border: 1px dashed var(--border2);
  border-radius: 14px;
  padding: 22px;
  text-align: center;
  color: var(--txt2);
  background: rgba(22, 32, 56, 0.35);
}
@media (max-width: 760px) {
  .public-raffle-top {
    grid-template-columns: 1fr;
  }
  .public-prize-img {
    height: 190px;
  }
  .public-raffle-info h2 {
    font-size: 34px;
  }
  .mini-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── AJUSTE: HOME CON TARJETAS COMPACTAS ── */
.brand-link {
  text-decoration: none;
  color: inherit;
}
.compact-hero {
  padding: 28px 20px 24px;
}
.public-raffles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
}
.active-raffle-card {
  display: flex;
  flex-direction: column;
  background: rgba(17, 27, 48, 0.72);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: var(--txt);
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}
.active-raffle-card:hover {
  transform: translateY(-3px);
  border-color: var(--accent2);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.24);
}
.active-raffle-img-wrap {
  background: radial-gradient(circle, #13203a 0%, #0c1322 72%);
  border-bottom: 1px solid var(--border);
}
.active-raffle-img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: contain;
  padding: 10px;
  display: block;
}
.active-raffle-img.placeholder {
  display: grid;
  place-items: center;
  font-family: "Bebas Neue", sans-serif;
  font-size: 48px;
  color: var(--accent);
}
.active-raffle-body {
  padding: 13px;
}
.active-raffle-body h3 {
  font-size: 15px;
  line-height: 1.25;
  margin: 5px 0 10px;
}
.active-raffle-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  color: var(--txt2);
}
.active-raffle-meta strong {
  color: var(--accent);
  font-weight: 800;
}
.public-raffle-top.detail-top {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.public-prize-img {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto !important;
  object-fit: contain !important;
  background: radial-gradient(circle, #13203a 0%, #0c1322 72%);
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--border2);
  display: block;
}
.back-link {
  display: inline-flex;
  margin-bottom: 14px;
  color: var(--txt2);
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}
.back-link:hover {
  color: var(--accent);
}
.winner-card img,
.winner-img-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto !important;
  object-fit: contain !important;
  background: radial-gradient(circle, #13203a 0%, #0c1322 72%);
  padding: 10px;
}
@media (max-width: 760px) {
  .public-raffles {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .active-raffle-body {
    padding: 11px;
  }
  .active-raffle-body h3 {
    font-size: 13px;
  }
  .active-raffle-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

/* ── Reservas públicas y admin ── */
.sq.reserved {
  background: #f59e0b;
}
.nc.reserved {
  background: #f59e0b;
  border-color: #b45309;
  color: #111827;
}
.nc.reserved:hover {
  transform: none;
}
.public-grid .nc.click {
  cursor: pointer;
}
.public-grid .nc.click:hover {
  background: #1e3a6e;
  border-color: var(--blue);
  color: #fff;
  transform: scale(1.12);
}
.reservation-list {
  display: grid;
  gap: 12px;
}
.reservation-card {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}
.reservation-num {
  font-family: "Bebas Neue", sans-serif;
  color: var(--accent);
  font-size: 34px;
  line-height: 1;
  margin-bottom: 6px;
}
.reservation-card a {
  color: var(--accent);
}
@media (max-width: 760px) {
  .reservation-card {
    flex-direction: column;
  }
  .reservation-card .row {
    width: 100%;
  }
  .reservation-card .btn {
    flex: 1;
  }
}

/* Imágenes completas, sin recortes */
.public-prize-img,
.winner-card img,
.active-raffle-img,
.raffle-card img {
  object-fit: contain !important;
  background: #0c1322;
  padding: 10px;
}

/* ── Imagen de confirmación de compra ── */
.confirm-card-render {
  position: fixed;
  left: -99999px;
  top: 0;
  width: 420px;
  pointer-events: none;
  opacity: 1;
}
.confirm-card {
  width: 420px;
  min-height: 680px;
  background: #0c1322;
  color: #dde6f5;
  border: 2px solid #2a3e6a;
  border-radius: 28px;
  overflow: hidden;
  font-family: "DM Sans", sans-serif;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}
.confirm-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 22px 24px 14px;
}
.confirm-brand {
  font-family: "Bebas Neue", sans-serif;
  letter-spacing: 2px;
  font-size: 27px;
  color: #fff;
}
.confirm-brand span {
  color: #f5c518;
}
.confirm-badge {
  background: #2a1f04;
  color: #f5c518;
  border: 1px solid #c9960a;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.6px;
  white-space: nowrap;
}
.confirm-card-media {
  margin: 10px 22px 0;
  background: radial-gradient(circle, #1a2b4f 0%, #0c1322 72%);
  border: 1px solid #2a3e6a;
  border-radius: 22px;
  height: 250px;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.confirm-card-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 18px;
  display: block;
}
.confirm-card-img.placeholder {
  font-family: "Bebas Neue", sans-serif;
  color: #f5c518;
  font-size: 76px;
}
.confirm-card-body {
  padding: 24px;
}
.confirm-kicker {
  font-size: 11px;
  color: #526987;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 900;
  margin-bottom: 8px;
}
.confirm-card h1 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 44px;
  line-height: 0.96;
  letter-spacing: 1.5px;
  color: #fff;
  margin: 0 0 10px;
}
.confirm-card p {
  color: #8aa0c3;
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
}
.confirm-data {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 22px;
}
.confirm-data div {
  background: #111b30;
  border: 1px solid #1e2e50;
  border-radius: 18px;
  padding: 16px;
}
.confirm-data span {
  display: block;
  color: #526987;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 900;
  margin-bottom: 6px;
}
.confirm-data strong {
  display: block;
  color: #f5c518;
  font-family: "Bebas Neue", sans-serif;
  font-size: 42px;
  line-height: 1;
  letter-spacing: 1px;
}
.confirm-foot {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid #1e2e50;
  color: #8aa0c3;
  font-size: 12px;
  text-align: center;
}

/* ── Fondos por rareza de skins CS ── */
.rarity-bg {
  background-color: #0c1322 !important;
  background-size: cover !important;
  background-position: center !important;
}
.rarity-consumer {
  background-image:
    radial-gradient(
      circle at 30% 20%,
      rgba(176, 195, 217, 0.36),
      transparent 36%
    ),
    linear-gradient(135deg, #384454 0%, #0c1322 100%) !important;
}
.rarity-industrial {
  background-image:
    radial-gradient(
      circle at 30% 20%,
      rgba(94, 152, 217, 0.38),
      transparent 36%
    ),
    linear-gradient(135deg, #234a78 0%, #0c1322 100%) !important;
}
.rarity-mil-spec {
  background-image:
    radial-gradient(
      circle at 30% 20%,
      rgba(75, 105, 255, 0.42),
      transparent 36%
    ),
    linear-gradient(135deg, #17306f 0%, #0c1322 100%) !important;
}
.rarity-restricted {
  background-image:
    radial-gradient(
      circle at 30% 20%,
      rgba(136, 71, 255, 0.42),
      transparent 36%
    ),
    linear-gradient(135deg, #3b2178 0%, #0c1322 100%) !important;
}
.rarity-classified {
  background-image:
    radial-gradient(
      circle at 30% 20%,
      rgba(211, 44, 230, 0.42),
      transparent 36%
    ),
    linear-gradient(135deg, #6d1f75 0%, #0c1322 100%) !important;
}
.rarity-covert {
  background-image:
    radial-gradient(
      circle at 30% 20%,
      rgba(235, 75, 75, 0.46),
      transparent 36%
    ),
    linear-gradient(135deg, #762323 0%, #0c1322 100%) !important;
}
.rarity-contraband {
  background-image:
    radial-gradient(
      circle at 30% 20%,
      rgba(228, 174, 57, 0.48),
      transparent 36%
    ),
    linear-gradient(135deg, #7a5517 0%, #0c1322 100%) !important;
}
.rarity-pill {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  padding: 4px 9px;
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #fff;
}
.active-raffle-img-wrap,
.public-prize-img,
.winner-card img,
.winner-img-placeholder,
.raffle-card img,
.confirm-card-media {
  background-color: #0c1322;
}
.confirm-card.rarity-consumer {
  border-color: #b0c3d9;
}
.confirm-card.rarity-industrial {
  border-color: #5e98d9;
}
.confirm-card.rarity-mil-spec {
  border-color: #4b69ff;
}
.confirm-card.rarity-restricted {
  border-color: #8847ff;
}
.confirm-card.rarity-classified {
  border-color: #d32ce6;
}
.confirm-card.rarity-covert {
  border-color: #eb4b4b;
}
.confirm-card.rarity-contraband {
  border-color: #e4ae39;
}

/* ===== FIX FINAL RAREZAS CS / INDEX ===== */
.rarity-bg {
  background-color: #0c1322 !important;
  background-size: cover !important;
  background-position: center !important;
}
.rarity-consumer {
  background-image:
    radial-gradient(
      circle at 32% 18%,
      rgba(176, 195, 217, 0.42),
      transparent 36%
    ),
    linear-gradient(135deg, #b0c3d9 0%, #596575 42%, #0c1322 100%) !important;
}
.rarity-industrial {
  background-image:
    radial-gradient(
      circle at 32% 18%,
      rgba(94, 152, 217, 0.45),
      transparent 36%
    ),
    linear-gradient(135deg, #5e98d9 0%, #234a78 45%, #0c1322 100%) !important;
}
.rarity-milspec,
.rarity-mil-spec {
  background-image:
    radial-gradient(
      circle at 32% 18%,
      rgba(75, 105, 255, 0.48),
      transparent 36%
    ),
    linear-gradient(135deg, #4b69ff 0%, #17306f 45%, #0c1322 100%) !important;
}
.rarity-restricted {
  background-image:
    radial-gradient(
      circle at 32% 18%,
      rgba(136, 71, 255, 0.48),
      transparent 36%
    ),
    linear-gradient(135deg, #8847ff 0%, #3b2178 45%, #0c1322 100%) !important;
}
.rarity-classified {
  background-image:
    radial-gradient(
      circle at 32% 18%,
      rgba(211, 44, 230, 0.48),
      transparent 36%
    ),
    linear-gradient(135deg, #d32ce6 0%, #6d1f75 45%, #0c1322 100%) !important;
}
.rarity-covert {
  background-image:
    radial-gradient(
      circle at 32% 18%,
      rgba(235, 75, 75, 0.52),
      transparent 36%
    ),
    linear-gradient(135deg, #eb4b4b 0%, #762323 45%, #0c1322 100%) !important;
}
.rarity-extraordinary {
  background-image:
    radial-gradient(
      circle at 32% 18%,
      rgba(255, 215, 0, 0.58),
      transparent 36%
    ),
    linear-gradient(135deg, #ffd700 0%, #8a6d13 45%, #0c1322 100%) !important;
}
.rarity-contraband {
  background-image:
    radial-gradient(
      circle at 32% 18%,
      rgba(255, 140, 0, 0.55),
      transparent 36%
    ),
    linear-gradient(135deg, #ff8c00 0%, #7a5517 45%, #0c1322 100%) !important;
}
.active-raffle-img,
.skin-img,
.confirm-card-img {
  background: transparent !important;
}
.active-raffle-img-wrap.rarity-bg {
  min-height: 155px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.active-raffle-img-wrap.rarity-bg .active-raffle-img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
}
.confirm-card.rarity-consumer {
  border-color: #b0c3d9;
}
.confirm-card.rarity-industrial {
  border-color: #5e98d9;
}
.confirm-card.rarity-milspec,
.confirm-card.rarity-mil-spec {
  border-color: #4b69ff;
}
.confirm-card.rarity-restricted {
  border-color: #8847ff;
}
.confirm-card.rarity-classified {
  border-color: #d32ce6;
}
.confirm-card.rarity-covert {
  border-color: #eb4b4b;
}
.confirm-card.rarity-extraordinary {
  border-color: #ffd700;
}
.confirm-card.rarity-contraband {
  border-color: #ff8c00;
}

/* ===== UPGRADE VISUAL: CS PREMIUM ===== */
:root {
  --glass: rgba(17, 27, 48, 0.74);
  --glass2: rgba(12, 19, 34, 0.86);
}
body {
  background:
    radial-gradient(
      circle at 20% 0%,
      rgba(245, 197, 24, 0.09),
      transparent 30%
    ),
    radial-gradient(
      circle at 90% 10%,
      rgba(75, 105, 255, 0.1),
      transparent 26%
    ),
    linear-gradient(180deg, #050912 0%, #070c18 48%, #050912 100%);
}
.hdr {
  height: 66px;
  border-bottom: 1px solid rgba(94, 152, 217, 0.24);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.18);
}
.brand-mark {
  box-shadow: 0 0 26px rgba(245, 197, 24, 0.2);
}
.hero {
  min-height: 245px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(245, 197, 24, 0.18),
      transparent 28%
    ),
    radial-gradient(
      circle at 18% 72%,
      rgba(75, 105, 255, 0.1),
      transparent 28%
    ),
    linear-gradient(180deg, #101a30 0%, #07101f 100%);
  position: relative;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 38px 38px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), transparent 86%);
  pointer-events: none;
}
.hero h1 {
  text-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
}
.hero p {
  font-weight: 600;
}
.panel {
  background: linear-gradient(
    180deg,
    rgba(17, 27, 48, 0.78),
    rgba(10, 17, 31, 0.74)
  );
  border-color: rgba(94, 152, 217, 0.24);
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.24);
}
.panel h2 {
  text-shadow: 0 2px 16px rgba(94, 152, 217, 0.3);
}
.public-raffles {
  gap: 18px;
}
.active-raffle-card {
  border-radius: 20px;
  background: linear-gradient(
    180deg,
    rgba(17, 27, 48, 0.86),
    rgba(10, 17, 31, 0.92)
  );
  border-color: rgba(94, 152, 217, 0.24);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
  position: relative;
}
.active-raffle-card:hover {
  transform: translateY(-5px);
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.34),
    0 0 0 1px rgba(245, 197, 24, 0.15);
}
.active-raffle-img-wrap {
  min-height: 172px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.active-raffle-img-wrap::after {
  content: "";
  position: absolute;
  inset: -50%;
  background: linear-gradient(
    115deg,
    transparent 42%,
    rgba(255, 255, 255, 0.12) 49%,
    transparent 56%
  );
  transform: translateX(-70%);
  transition: transform 0.7s ease;
  pointer-events: none;
}
.active-raffle-card:hover .active-raffle-img-wrap::after {
  transform: translateX(70%);
}
.active-raffle-img {
  filter: drop-shadow(0 18px 22px rgba(0, 0, 0, 0.42));
  transition: transform 0.22s ease;
}
.active-raffle-card:hover .active-raffle-img {
  transform: scale(1.045) rotate(-1deg);
}
.active-raffle-body {
  padding: 16px 16px 15px;
}
.active-raffle-body h3 {
  font-size: 16px;
  min-height: 40px;
}
.kicker {
  color: #7fa0d9;
}
.active-raffle-meta {
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.active-raffle-meta::after {
  content: "Ver sorteo →";
  color: #dde6f5;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: 0.4px;
}
.active-raffle-meta span:last-child {
  margin-left: auto;
}
@media (max-width: 760px) {
  .active-raffle-meta::after {
    display: none;
  }
}
.public-raffle-card.detail-card {
  border-radius: 22px;
  padding: 20px;
}
.public-prize-img {
  min-height: 310px;
  border-radius: 22px !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 18px 44px rgba(0, 0, 0, 0.22);
  filter: drop-shadow(0 24px 28px rgba(0, 0, 0, 0.36));
}
.public-raffle-info h2 {
  font-size: clamp(38px, 6vw, 64px);
}
.public-raffle-info h3 {
  font-size: 22px;
}
.mini-stats div {
  background: linear-gradient(
    180deg,
    rgba(17, 27, 48, 0.92),
    rgba(12, 19, 34, 0.92)
  );
  border-color: rgba(94, 152, 217, 0.22);
}
.nums-grid {
  gap: 5px;
}
.nc {
  border-radius: 7px;
  background: rgba(22, 32, 56, 0.82);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}
.nc.click:not(.sold):hover,
.public-grid .nc.click:hover {
  transform: translateY(-2px) scale(1.08);
  box-shadow:
    0 10px 20px rgba(0, 0, 0, 0.28),
    0 0 16px rgba(94, 152, 217, 0.3);
}
.nc.sold {
  opacity: 0.75;
}
.winner-card,
.raffle-card {
  border-radius: 20px;
  background: linear-gradient(
    180deg,
    rgba(17, 27, 48, 0.86),
    rgba(10, 17, 31, 0.92)
  );
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}
.winner-card img,
.winner-img-placeholder,
.raffle-card img {
  min-height: 150px;
}
/* Rarezas verticales: color desde abajo hacia arriba */
.rarity-bg {
  background-color: #0c1322 !important;
  background-size: cover !important;
  background-position: center !important;
}
.rarity-consumer {
  background-image:
    radial-gradient(
      circle at 50% 100%,
      rgba(176, 195, 217, 0.3),
      transparent 42%
    ),
    linear-gradient(to top, #b0c3d9 0%, #596575 24%, #0c1322 76%) !important;
}
.rarity-industrial {
  background-image:
    radial-gradient(
      circle at 50% 100%,
      rgba(94, 152, 217, 0.36),
      transparent 42%
    ),
    linear-gradient(to top, #5e98d9 0%, #234a78 24%, #0c1322 76%) !important;
}
.rarity-milspec,
.rarity-mil-spec {
  background-image:
    radial-gradient(
      circle at 50% 100%,
      rgba(75, 105, 255, 0.42),
      transparent 42%
    ),
    linear-gradient(to top, #4b69ff 0%, #17306f 25%, #0c1322 78%) !important;
}
.rarity-restricted {
  background-image:
    radial-gradient(
      circle at 50% 100%,
      rgba(136, 71, 255, 0.42),
      transparent 42%
    ),
    linear-gradient(to top, #8847ff 0%, #3b2178 25%, #0c1322 78%) !important;
}
.rarity-classified {
  background-image:
    radial-gradient(
      circle at 50% 100%,
      rgba(211, 44, 230, 0.44),
      transparent 42%
    ),
    linear-gradient(to top, #d32ce6 0%, #6d1f75 25%, #0c1322 78%) !important;
}
.rarity-covert {
  background-image:
    radial-gradient(
      circle at 50% 100%,
      rgba(235, 75, 75, 0.48),
      transparent 42%
    ),
    linear-gradient(to top, #eb4b4b 0%, #762323 25%, #0c1322 78%) !important;
}
.rarity-extraordinary {
  background-image:
    radial-gradient(
      circle at 50% 100%,
      rgba(255, 215, 0, 0.52),
      transparent 42%
    ),
    linear-gradient(to top, #ffd700 0%, #8a6d13 25%, #0c1322 78%) !important;
}
.rarity-contraband {
  background-image:
    radial-gradient(
      circle at 50% 100%,
      rgba(255, 140, 0, 0.5),
      transparent 42%
    ),
    linear-gradient(to top, #ff8c00 0%, #7a5517 25%, #0c1322 78%) !important;
}
.active-raffle-card:has(.rarity-consumer) {
  border-color: rgba(176, 195, 217, 0.36);
}
.active-raffle-card:has(.rarity-industrial) {
  border-color: rgba(94, 152, 217, 0.38);
}
.active-raffle-card:has(.rarity-milspec),
.active-raffle-card:has(.rarity-mil-spec) {
  border-color: rgba(75, 105, 255, 0.42);
}
.active-raffle-card:has(.rarity-restricted) {
  border-color: rgba(136, 71, 255, 0.42);
}
.active-raffle-card:has(.rarity-classified) {
  border-color: rgba(211, 44, 230, 0.42);
}
.active-raffle-card:has(.rarity-covert) {
  border-color: rgba(235, 75, 75, 0.46);
}
.active-raffle-card:has(.rarity-extraordinary) {
  border-color: rgba(255, 215, 0, 0.52);
  box-shadow:
    0 16px 46px rgba(255, 215, 0, 0.08),
    0 16px 40px rgba(0, 0, 0, 0.2);
}
.active-raffle-card:has(.rarity-contraband) {
  border-color: rgba(255, 140, 0, 0.52);
}
.confirm-card {
  background: #0c1322 !important;
}
.confirm-card-media {
  height: 270px;
  border-radius: 24px;
}
.confirm-card-img {
  filter: drop-shadow(0 22px 24px rgba(0, 0, 0, 0.42));
}
@media (max-width: 760px) {
  .hero {
    min-height: 210px;
  }
  .panel {
    padding: 16px;
  }
  .public-raffles {
    grid-template-columns: 1fr 1fr;
  }
  .active-raffle-img-wrap {
    min-height: 128px;
  }
  .public-prize-img {
    min-height: 220px;
  }
}


/* =========================================================
   REWORK TOTAL HEADER + HERO — CS PREMIUM CLEAN
   Pegar al final del CSS. No requiere cambios en HTML.
   ========================================================= */

/* Fondo general más profundo y limpio */
body{
  background:
    radial-gradient(circle at 12% -8%, rgba(245,197,24,.08), transparent 28%),
    radial-gradient(circle at 88% 2%, rgba(75,105,255,.10), transparent 30%),
    linear-gradient(180deg,#050914 0%,#070c18 42%,#050914 100%) !important;
}

/* HEADER: barra horizontal limpia, más premium y menos "glow raro" */
.hdr{
  height:74px !important;
  padding:0 clamp(18px,4vw,56px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  position:sticky !important;
  top:0 !important;
  z-index:1000 !important;
  background:rgba(5,9,20,.92) !important;
  backdrop-filter:blur(18px) saturate(130%) !important;
  border-bottom:1px solid rgba(94,152,217,.18) !important;
  box-shadow:0 12px 38px rgba(0,0,0,.28) !important;
}

.hdr::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,197,24,.42),rgba(94,152,217,.26),transparent);
  pointer-events:none;
}

.brand,
.hdr .brand,
.brand-link{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  text-decoration:none !important;
  color:inherit !important;
  font-family:"Bebas Neue",sans-serif !important;
  font-size:clamp(22px,2vw,30px) !important;
  line-height:1 !important;
  letter-spacing:2.2px !important;
  white-space:nowrap !important;
}

.brand-mark{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:11px !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(180deg,#f7cf35 0%,#d59c05 100%) !important;
  color:#0b0e14 !important;
  font-family:"DM Sans",sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.2px !important;
  box-shadow:none !important;
}

.brand .am,
.hdr .brand .am{
  color:#f5c518 !important;
  text-shadow:none !important;
}

.brand .w,
.hdr .brand .w{
  color:#f3f6ff !important;
  opacity:.94 !important;
}

.hdr-r{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
  flex-shrink:0 !important;
}

/* indicador de conexión más discreto */
.dot{
  width:9px !important;
  height:9px !important;
  border-radius:50% !important;
  background:#2a3e6a !important;
  box-shadow:none !important;
}
.dot.on{
  background:#22c55e !important;
  box-shadow:0 0 0 4px rgba(34,197,94,.10) !important;
}
.dot.err{
  background:#ef4444 !important;
  box-shadow:0 0 0 4px rgba(239,68,68,.10) !important;
}

/* botón ingresar: plano, pill, elegante */
.hdr .btn,
.hdr .btn-primary{
  height:40px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  background:#f5c518 !important;
  color:#0b0e14 !important;
  border:0 !important;
  box-shadow:none !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.1px !important;
  transform:none !important;
}

.hdr .btn:hover,
.hdr .btn-primary:hover{
  background:#ffd84a !important;
  color:#0b0e14 !important;
  transform:translateY(-1px) !important;
  box-shadow:none !important;
}

/* HERO: rework completo, más editorial/landing y menos cartel gigante */
.hero{
  min-height:390px !important;
  padding:88px clamp(20px,6vw,92px) 78px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:left !important;
  position:relative !important;
  overflow:hidden !important;
  border-bottom:1px solid rgba(94,152,217,.18) !important;
  background:
    linear-gradient(90deg,rgba(5,9,20,.98) 0%,rgba(7,12,24,.92) 46%,rgba(13,18,40,.78) 100%),
    radial-gradient(circle at 78% 34%,rgba(245,197,24,.18),transparent 28%),
    radial-gradient(circle at 91% 64%,rgba(75,105,255,.18),transparent 32%) !important;
}

/* textura sutil tipo inventario */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.18),transparent 78%);
  pointer-events:none;
  z-index:0;
}

/* bloque visual abstracto a la derecha */
.hero::after{
  content:"";
  position:absolute;
  right:clamp(-120px,-5vw,-30px);
  top:50%;
  width:clamp(320px,36vw,560px);
  height:clamp(220px,28vw,380px);
  transform:translateY(-50%) rotate(-8deg);
  border-radius:34px;
  background:
    linear-gradient(180deg,rgba(245,197,24,.18),rgba(245,197,24,0) 48%),
    linear-gradient(135deg,rgba(94,152,217,.18),rgba(17,27,48,.05));
  border:1px solid rgba(245,197,24,.14);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 38px 90px rgba(0,0,0,.38);
  opacity:.92;
  pointer-events:none;
  z-index:0;
}

.hero h1,
.hero p{
  position:relative !important;
  z-index:2 !important;
}

.hero h1{
  max-width:760px !important;
  margin:0 !important;
  font-family:"Bebas Neue",sans-serif !important;
  font-size:clamp(62px,9vw,132px) !important;
  line-height:.82 !important;
  letter-spacing:5px !important;
  color:#fff !important;
  background:linear-gradient(180deg,#fff4b8 0%,#f5c518 48%,#a96f00 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  text-shadow:none !important;
  filter:drop-shadow(0 14px 34px rgba(0,0,0,.42)) !important;
}

.hero h1::before{
  content:"CS SKIN RAFFLES";
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 16px;
  padding:7px 12px 6px;
  border-radius:999px;
  background:rgba(245,197,24,.10);
  border:1px solid rgba(245,197,24,.26);
  color:#f5c518;
  -webkit-text-fill-color:#f5c518;
  font-family:"DM Sans",sans-serif;
  font-size:12px;
  line-height:1;
  letter-spacing:1.4px;
  font-weight:900;
  filter:none;
}

.hero p{
  max-width:620px !important;
  margin:24px 0 0 !important;
  font-size:clamp(15px,1.4vw,18px) !important;
  line-height:1.65 !important;
  color:#b9c9e7 !important;
  font-weight:700 !important;
}

/* línea/acento inferior del hero */
.hero p::after{
  content:"";
  display:block;
  width:128px;
  height:3px;
  margin-top:28px;
  border-radius:999px;
  background:linear-gradient(90deg,#f5c518,rgba(245,197,24,0));
}

/* En página detalle, hero más compacto pero con el mismo lenguaje */
.compact-hero{
  min-height:245px !important;
  padding-top:58px !important;
  padding-bottom:52px !important;
}

.compact-hero h1{
  font-size:clamp(48px,6.8vw,92px) !important;
}

/* Ajuste para que la sección siguiente suba un poco, tipo landing */
.public-home,
.container.public-home{
  margin-top:-34px !important;
  position:relative !important;
  z-index:3 !important;
}

.public-home .panel:first-child{
  border-top-color:rgba(245,197,24,.22) !important;
}

/* FIX: fondo liso en tarjetas descargables */
.confirm-card,
.confirm-card.rarity-consumer,
.confirm-card.rarity-industrial,
.confirm-card.rarity-milspec,
.confirm-card.rarity-mil-spec,
.confirm-card.rarity-restricted,
.confirm-card.rarity-classified,
.confirm-card.rarity-covert,
.confirm-card.rarity-extraordinary,
.confirm-card.rarity-contraband {
  background: #0c1322 !important;
  background-image: none !important;
}

/* FIX visual premios en confirmación multi */
.multi-confirm-prizes {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 12px;
  height: auto !important;
  min-height: 260px;
}

/* FIX visual premios en confirmación multi */
.confirm-card-media.multi-confirm-media {
  height: auto !important;
  min-height: 250px;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 12px;
  align-items: stretch;
}

.multi-confirm-prize {
  position: relative;
  min-height: 118px;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.10);
}

.multi-confirm-prize img {
  width: 100%;
  height: 108px;
  object-fit: contain;
  padding: 10px;
  display: block;
  filter: drop-shadow(0 14px 16px rgba(0,0,0,.42));
}

.multi-confirm-prize small {
  position: absolute;
  left: 8px;
  bottom: 8px;
  background: rgba(7,12,24,.78);
  color: #f5c518;
  border: 1px solid rgba(245,197,24,.45);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .4px;
  text-transform: uppercase;
}

.winner-card {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

.winner-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

/* === FIX: hover premium para sorteos finalizados (destello SOLO en imagen) === */
.winner-card {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position: relative;
}

.winner-card:hover {
  transform: translateY(-5px);
  box-shadow:
    0 22px 56px rgba(0,0,0,.34),
    0 0 0 1px rgba(245,197,24,.15);
}

.winner-img-shell {
  position: relative;
  overflow: hidden;
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winner-img-shell img,
.winner-img-shell .winner-img-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: contain;
  padding: 10px;
  display: block;
  transition: transform .22s ease;
  background: transparent !important;
}

.winner-card:hover .winner-img-shell img,
.winner-card:hover .winner-img-shell .winner-img-placeholder {
  transform: scale(1.045) rotate(-1deg);
}

.winner-img-shell::after {
  content: "";
  position: absolute;
  inset: -50%;
  background: linear-gradient(
    115deg,
    transparent 42%,
    rgba(255,255,255,.12) 49%,
    transparent 56%
  );
  transform: translateX(-70%);
  transition: transform .7s ease;
  pointer-events: none;
}

.winner-card:hover .winner-img-shell::after {
  transform: translateX(70%);
}

.winner-card::after {
  content: none !important;
}

.winner-detail-box {
  margin: 16px 0;
  text-align: center;
}

.finished-raffle .public-grid .nc {
  cursor: default;
}

/* Achicar imagen en sorteo simple */
.public-raffle-top.detail-top {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 22px;
  align-items: center;
}

.public-prize-img {
  width: 100%;
  height: 180px;
  object-fit: contain;
  border-radius: 18px;
  padding: 14px;
}

@media(max-width:760px){
  .hdr{
    height:64px !important;
    padding:0 14px !important;
  }

  .brand,
  .hdr .brand,
  .brand-link{
    font-size:20px !important;
    gap:9px !important;
    letter-spacing:1.4px !important;
  }

  .brand-mark{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    border-radius:10px !important;
    font-size:11px !important;
  }

  .hdr .btn,
  .hdr .btn-primary{
    height:36px !important;
    padding:0 13px !important;
    font-size:12px !important;
  }

  .dot{
    display:none !important;
  }

  .hero{
    min-height:330px !important;
    padding:64px 18px 64px !important;
  }

  .hero::after{
    right:-180px;
    opacity:.42;
  }

  .hero h1{
    font-size:clamp(54px,18vw,84px) !important;
    letter-spacing:3px !important;
  }

  .hero h1::before{
    font-size:10px;
    letter-spacing:1px;
    margin-bottom:13px;
  }

  .hero p{
    font-size:14px !important;
    max-width:92% !important;
  }

  .container.public-home,
  .public-home{
    margin-top:-26px !important;
  }
}


/* ===== SORTEOS MÚLTIPLES ===== */
.multi-prize-fields{
  display:grid;
  gap:14px;
  margin:14px 0 18px;
}
.multi-prize-editor{
  background:rgba(17,27,48,.68);
  border:1px solid rgba(94,152,217,.22);
  border-radius:18px;
  padding:16px;
}
.multi-prizes-grid,
.multi-prize-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:14px;
  margin:18px 0;
}
.multi-prize-card{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:12px;
  align-items:center;
  background:rgba(17,27,48,.72);
  border:1px solid rgba(94,152,217,.22);
  border-radius:18px;
  padding:12px;
}
.multi-prize-img{
  min-height:86px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:var(--accent);
  font-family:"Bebas Neue",sans-serif;
}
.multi-prize-img img{
  width:100%;
  height:86px;
  object-fit:contain;
  padding:8px;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.36));
}
.multi-card::before{
  content:"MULTI";
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  background:rgba(245,197,24,.12);
  border:1px solid rgba(245,197,24,.45);
  color:var(--accent);
  border-radius:999px;
  padding:4px 8px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.8px;
}
.winner-row{
  background:rgba(17,27,48,.78);
  border:1px solid rgba(94,152,217,.22);
  border-radius:14px;
  padding:12px 14px;
  margin-top:10px;
}
.payment-instructions strong{
  color:#fff;
}
@media(max-width:760px){
  .multi-prizes-grid,
  .multi-prize-list{
    grid-template-columns:1fr;
  }
  .multi-prize-card{
    grid-template-columns:82px 1fr;
  }
}

/* ===== FIXES MULTI v2 ===== */
.hero{
  padding-bottom:150px !important;
}
.container.public-home,
.public-home{
  margin-top:-82px !important;
  position:relative;
  z-index:2;
}
.public-grid{
  margin-bottom:18px !important;
}
.public-grid + .cta,
.detail-card > .cta,
.cta.payment-instructions{
  margin-top:18px !important;
}
.multi-draw-box{
  overflow:hidden;
}
.multi-draw-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  background:rgba(17,27,48,.78);
  border:1px solid rgba(94,152,217,.22);
  border-radius:16px;
  padding:14px 16px;
  margin-top:12px;
}
.multi-draw-row span{
  color:var(--txt2);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.6px;
  font-size:11px;
}
.multi-draw-row strong{
  font-family:"Bebas Neue",sans-serif;
  color:var(--accent);
  font-size:52px;
  line-height:1;
  min-width:90px;
  text-align:center;
  text-shadow:0 0 22px rgba(245,197,24,.24);
}
.multi-draw-row small{
  color:var(--txt3);
  font-size:12px;
  text-align:right;
}
@media(max-width:760px){
  .hero{padding-bottom:108px !important;}
  .container.public-home,
  .public-home{margin-top:-54px !important;}
  .multi-draw-row{grid-template-columns:1fr; text-align:center;}
  .multi-draw-row small{text-align:center;}
}

/* ===== FIX MULTI v3: separación hero / paneles ===== */
.hero{
  padding-bottom:110px !important;
}
.container.public-home,
.public-home{
  margin-top:44px !important;
  position:relative !important;
  z-index:2 !important;
}
.compact-hero + .container.public-home,
.compact-hero ~ .container.public-home{
  margin-top:28px !important;
}
.public-home .panel:first-child{
  margin-top:0 !important;
}

/* Admin multi dividido: tabs más cómodas */
.tabs{
  gap:2px;
  scrollbar-width:thin;
}
.tab{
  flex:0 0 auto;
}
#view-multi-sorteo .gan-box{
  margin-top:18px;
}
@media(max-width:760px){
  .hero{padding-bottom:80px !important;}
  .container.public-home,
  .public-home{margin-top:28px !important;}
  .compact-hero + .container.public-home,
  .compact-hero ~ .container.public-home{margin-top:22px !important;}
}

/* ===== Confirmación de compra para sorteos múltiples ===== */
.multi-confirm-media{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:12px;
  height:270px;
}
.multi-confirm-prize{
  position:relative;
  min-height:0;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.multi-confirm-prize img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
  filter:drop-shadow(0 16px 18px rgba(0,0,0,.42));
}
.multi-confirm-prize span{
  font-family:"Bebas Neue",sans-serif;
  color:#f5c518;
  font-size:42px;
}
.multi-confirm-prize small{
  position:absolute;
  left:8px;
  bottom:7px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  padding:3px 7px;
}

.payment-extra {
  margin-top: -4px;
  margin-bottom: 14px;
}

.payment-extra .fg {
  margin-bottom: 0;
}

.proof-modal {
  width: 680px;
  max-width: 96vw;
}

.proof-preview {
  margin-top: 14px;
  background: #070c18;
  border: 1px solid var(--border2);
  border-radius: 16px;
  padding: 10px;
  max-height: 70vh;
  overflow: auto;
}

.proof-preview img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

.proof-check-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.proof-check-list div {
  background: var(--bg2);
  border: 1px solid var(--border2);
  border-radius: 14px;
  padding: 12px;
}

.proof-check-list span {
  display: block;
  color: var(--txt3);
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 4px;
}

.proof-check-list strong {
  display: block;
  color: var(--txt);
  word-break: break-word;
}

/* BLACKSTORE THEME OVERRIDE — VIOLETA */
:root{--accent:#8b5cf6;--accent2:#6d28d9;--accent-bg:#1e1b4b;--violet-soft:#a78bfa;--violet-glow:rgba(139,92,246,.36)}
body{background:radial-gradient(circle at 12% -8%,rgba(139,92,246,.13),transparent 30%),radial-gradient(circle at 88% 2%,rgba(76,29,149,.18),transparent 34%),linear-gradient(180deg,#050914 0%,#070c18 42%,#050914 100%)!important}.hdr{border-bottom-color:rgba(139,92,246,.28)!important}.hdr::before{background:linear-gradient(90deg,transparent,rgba(139,92,246,.72),rgba(167,139,250,.36),transparent)!important}.brand-mark{background:linear-gradient(180deg,#a78bfa 0%,#7c3aed 100%)!important;color:#fff!important}.brand .am,.hdr .brand .am{color:var(--accent)!important}.btn-primary,.hdr .btn,.hdr .btn-primary{background:var(--accent)!important;color:#fff!important;border-color:rgba(167,139,250,.35)!important}.btn-primary:hover,.hdr .btn:hover,.hdr .btn-primary:hover{background:var(--accent2)!important;color:#fff!important}.hero{background:linear-gradient(90deg,rgba(5,9,20,.98) 0%,rgba(7,12,24,.92) 46%,rgba(13,18,40,.78) 100%),radial-gradient(circle at 78% 34%,rgba(139,92,246,.22),transparent 30%),radial-gradient(circle at 91% 64%,rgba(167,139,250,.16),transparent 32%)!important}.hero::after{background:linear-gradient(180deg,rgba(139,92,246,.24),rgba(139,92,246,0) 48%),linear-gradient(135deg,rgba(167,139,250,.20),rgba(17,27,48,.05))!important;border-color:rgba(167,139,250,.18)!important}.hero h1{background:linear-gradient(180deg,#f2eaff 0%,#a78bfa 42%,#6d28d9 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important}.hero h1::before{content:"BLACKSTORE"!important;background:rgba(139,92,246,.13)!important;border-color:rgba(167,139,250,.34)!important;color:#c4b5fd!important;-webkit-text-fill-color:#c4b5fd!important}.hero p::after{background:linear-gradient(90deg,var(--accent),rgba(139,92,246,0))!important}.badge,.kicker,.st-n.am,.rcard-val.am,.winner-number,.reservation-num,.gan-num,.confirm-data strong,.confirm-brand span,.confirm-kicker{color:var(--accent)!important}.tab.act{color:var(--accent)!important;border-bottom-color:var(--accent)!important}.input:focus,select:focus,textarea:focus{border-color:var(--accent)!important}.cta,.confirm-badge{background:var(--accent-bg)!important;border-color:var(--accent2)!important;color:#c4b5fd!important}.confirm-badge{color:#ddd6fe!important}.spin{border-top-color:var(--accent)!important}.active-raffle-card:hover,.winner-card:hover{box-shadow:0 22px 56px rgba(0,0,0,.34),0 0 0 1px rgba(139,92,246,.28)!important}.active-raffle-card:hover{border-color:rgba(139,92,246,.48)!important}.active-raffle-img-wrap::after,.winner-img-shell::after{background:linear-gradient(115deg,transparent 42%,rgba(196,181,253,.18) 49%,transparent 56%)!important}.multi-card::before{background:rgba(139,92,246,.14)!important;border-color:rgba(167,139,250,.45)!important;color:#c4b5fd!important}.confirm-card{border-color:rgba(139,92,246,.65)!important}.confirm-foot{border-top-color:rgba(139,92,246,.25)!important}.multi-confirm-prize small{background:rgba(30,27,75,.82)!important;color:#ddd6fe!important;border-color:rgba(167,139,250,.45)!important}.sq.sold,.nc.sold{background:var(--accent)!important;border-color:var(--accent2)!important;color:#fff!important}.public-home .panel:first-child{border-top-color:rgba(139,92,246,.32)!important}



/* ── Buscador de skins en Crear sorteo ── */
.skin-search-field {
  position: relative;
}

.skin-results {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  max-height: 360px;
  overflow: auto;
  border-radius: 14px;
}

.skin-result-item {
  width: 100%;
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  align-items: center;
  text-align: left;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(12, 19, 34, 0.72);
  color: var(--txt);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.skin-result-item:hover {
  transform: translateY(-1px);
  border-color: var(--accent2);
  background: rgba(22, 32, 56, 0.9);
}

.skin-result-thumb {
  width: 72px;
  height: 52px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
}

.skin-result-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5px;
  background: transparent !important;
}

.skin-result-thumb span {
  font-family: "Bebas Neue", sans-serif;
  font-size: 24px;
  color: var(--txt);
}

.skin-result-info strong {
  display: block;
  font-size: 14px;
  line-height: 1.2;
  color: #fff;
}

.skin-result-info small,
.skin-result-empty {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: var(--txt2);
}

.skin-result-empty {
  padding: 12px;
  border: 1px dashed var(--border2);
  border-radius: 12px;
  background: rgba(12, 19, 34, 0.55);
}

.skin-selected-preview {
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(12, 19, 34, 0.72);
}

.skin-selected-img {
  width: 88px;
  height: 62px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  flex: 0 0 auto;
}

.skin-selected-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
  background: transparent !important;
}

.skin-selected-preview > div:nth-child(2) {
  flex: 1;
  min-width: 160px;
}

@media (max-width: 760px) {
  .skin-result-item {
    grid-template-columns: 62px 1fr;
  }
  .skin-result-thumb {
    width: 62px;
    height: 48px;
  }
  .skin-selected-preview {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* ===== Buscador de skins en sorteos múltiples ===== */
.multi-skin-search-field {
  position: relative;
}

.multi-prize-editor .skin-results {
  z-index: 80;
}

.multi-prize-editor .skin-selected-preview {
  margin-top: 10px;
}

@media (max-width: 760px) {
  .public-raffle-top.detail-top {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px;
  }

  .public-raffle-info {
    width: 100%;
  }

  .public-raffle-info h2 {
    font-size: 36px;
    line-height: 0.95;
    word-break: normal;
    overflow-wrap: normal;
  }

  .public-raffle-info .kicker {
  margin-bottom: 10px;
  }

  .public-raffle-info h3 {
    font-size: 24px;
    line-height: 1.1;
  }

  .public-prize-img {
    width: 100%;
    max-width: 100%;
  }

  .public-raffle-info h3 {
  font-family: inherit;        /* usa la misma fuente que el resto */
  font-weight: 600;
  letter-spacing: 0.2px;
  line-height: 1.2;
  font-size: 20px;
  color: #9b6bff;   /* violeta más suave */
  }
}