/* Numismatic Collection · ruleta en vivo, rifas y subastas */
.raffle-modal[hidden], .raffle-bar[hidden], .raffle-modal [hidden], .wheel-wrap [hidden], .auction [hidden], .raffle-sheet [hidden], .lv-error[hidden], .lv-ok[hidden], .wheel-names[hidden] { display: none !important; }
.lv-mt { margin-top: 1rem; }
.h3 { font-size: 1.1rem; font-weight: 600; margin: 0 0 .6rem; }
.lv-btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 44px; padding: .6rem 1.1rem; border-radius: 10px; border: 1px solid transparent; font-weight: 600; text-decoration: none; cursor: pointer; line-height: 1.2; }
.lv-btn .icon { width: 1.2em; height: 1.2em; }
.lv-btn:disabled { opacity: .55; cursor: not-allowed; }
.lv-btn-gold { background: var(--gold, #D4AF37); color: #0D0D0D; }
.lv-btn-gold:hover:not(:disabled) { background: #C9A230; }
.lv-btn-light { background: #fff; border-color: var(--line-2, #D8CDB3); color: var(--ink, #1B1A17); }
.lv-btn-wa { background: #1FA855; color: #fff; }
.lv-btn-lg { min-height: 52px; font-size: 1.08rem; width: 100%; }
.lv-link { background: none; border: 0; padding: 0; color: var(--gold-deep, #7A5C12); text-decoration: underline; cursor: pointer; font: inherit; }
.lv-field { display: grid; gap: .3rem; font-weight: 600; font-size: .92rem; margin: .7rem 0; }
.lv-field input { font-weight: 400; min-height: 46px; padding: .55rem .8rem; border: 1px solid var(--line-2, #D8CDB3); border-radius: 10px; background: #fff; font-size: 1rem; width: 100%; }
.lv-field input:focus { outline: 3px solid rgba(212,175,55,.45); border-color: var(--gold-deep, #7A5C12); }
.lv-input-prefix { display: flex; align-items: stretch; border: 1px solid var(--line-2, #D8CDB3); border-radius: 10px; background: #fff; overflow: hidden; }
.lv-input-prefix span { display: grid; place-items: center; padding: 0 .8rem; background: var(--gold-soft, #F6EDD3); font-weight: 600; }
.lv-input-prefix input { border: 0; border-radius: 0; font-size: 1.25rem; font-weight: 600; }
.lv-error { background: var(--red-bg, #FCE9E7); color: var(--red, #A1281F); border-radius: 10px; padding: .6rem .8rem; font-size: .92rem; margin: .5rem 0; }
.lv-ok { background: var(--green-bg, #E6F4EC); color: var(--green, #1E7A46); border-radius: 10px; padding: .6rem .8rem; font-size: .92rem; margin: .5rem 0; }
.lv-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.lv-chip { border: 1px solid var(--line-2, #D8CDB3); background: #fff; border-radius: 999px; padding: .35rem .8rem; cursor: pointer; font-weight: 600; }
.lv-chip:hover { border-color: var(--gold-deep, #7A5C12); }
.lv-extended { color: var(--amber, #8A5A00); }

/* ---------- Tarjetas (lista de rifas y subastas) ---------- */
.raffle-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; }
.raffle-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line, #E7DFCC); border-radius: 16px; overflow: hidden; text-decoration: none; color: inherit; box-shadow: var(--shadow); transition: transform .15s ease; }
.raffle-card:hover { transform: translateY(-2px); }
.raffle-card img, .raffle-card-noimg { width: 100%; aspect-ratio: 1; object-fit: cover; background: #F3F3F5; }
.raffle-card-noimg { display: grid; place-items: center; color: var(--gold-deep, #7A5C12); }
.raffle-card-noimg .icon { width: 64px; height: 64px; }
.raffle-card-body { display: grid; gap: .3rem; padding: .9rem 1rem 1rem; }
.raffle-kind { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--gold-deep, #7A5C12); font-weight: 600; }
.raffle-card-foot { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; margin-top: .3rem; }
.raffle-price { font-size: 1.2rem; font-weight: 700; }

/* ---------- Rifa (como la tarjeta que se comparte) ---------- */
.raffle-sheet { background: #fff; border-radius: 22px; padding: clamp(14px, 3vw, 28px); box-shadow: var(--shadow); max-width: 980px; margin-inline: auto; }
.raffle-head { display: grid; grid-template-columns: minmax(110px, 200px) 1fr; gap: 14px; }
.raffle-photo { aspect-ratio: 1; border-radius: 18px; overflow: hidden; background: #F3F3F5; display: grid; place-items: center; }
.raffle-photo img { width: 100%; height: 100%; object-fit: cover; }
.raffle-photo .icon { width: 56px; height: 56px; color: var(--gold-deep, #7A5C12); }
.raffle-titles { display: grid; gap: 14px; align-content: start; }
.raffle-pill { display: flex; align-items: center; justify-content: center; gap: .8rem; flex-wrap: wrap; background: #F3F3F5; border-radius: 20px; padding: 1rem 1.2rem; text-align: left; }
.raffle-pill h1 { font-family: var(--body, Inter, sans-serif); font-weight: 700; font-size: clamp(1.15rem, .9rem + 1.3vw, 1.9rem); margin: 0; color: #26282E; }
.raffle-pill p { margin: 0; font-weight: 600; font-size: clamp(1rem, .85rem + .9vw, 1.5rem); color: #26282E; line-height: 1.35; }
.raffle-pill strong { font-size: clamp(1.2rem, 1rem + 1vw, 1.8rem); color: #26282E; }
.raffle-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.raffle-pay { font-style: italic; font-weight: 600; color: #4B525E; font-size: clamp(1rem, .9rem + .7vw, 1.45rem); margin: 1rem 0 .3rem; }
.raffle-sep { border: 0; border-top: 3px solid #ECEDEF; margin: 1rem 0; }
.raffle-help { font-size: .95rem; }
.ri { display: inline-block; width: 30px; height: 26px; flex: none; position: relative; }
.ri-tag { border: 4px solid #286ED2; border-right: 0; border-radius: 3px 0 0 3px; width: 26px; }
.ri-tag::after { content: ""; position: absolute; right: -11px; top: 1px; width: 16px; height: 16px; border: 4px solid #286ED2; border-left: 0; border-bottom: 0; transform: rotate(45deg); border-radius: 0 3px 0 0; }
.ri-gift { border: 4px solid #CD3232; border-radius: 4px; }
.ri-gift::before { content: ""; position: absolute; left: -4px; right: -4px; top: 6px; border-top: 4px solid #CD3232; }
.ri-cal { border: 4px solid #F0BE28; border-top-width: 9px; border-radius: 4px; }
.ri-money { border: 4px solid #287D3C; border-radius: 3px; width: 36px; }
.ri-money::before { content: "100"; position: absolute; inset: 0; display: grid; place-items: center; font: 700 10px/1 var(--body, sans-serif); color: #287D3C; }
.raffle-legend { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin: .4rem 0 .8rem; }
.raffle-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.lg { display: inline-block; width: 18px; height: 18px; border-radius: 4px; border: 2px solid #111; }
.lg-d { background: linear-gradient(135deg, #A3D6A0, #4E7668); }
.lg-r { background: #F5C451; }
.lg-v { background: #C9C9CC; border-color: #9A9A9F; }
.lg-s { background: var(--gold, #D4AF37); box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0D0D0D; }

.raffle-grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: clamp(4px, 1vw, 10px); }
.raffle-grid.is-end { grid-template-columns: repeat(5, 1fr); max-width: 640px; }
.rn { position: relative; aspect-ratio: 4 / 3; border-radius: 10px; border: clamp(2px, .45vw, 4px) solid #111; font: 700 clamp(.85rem, .6rem + 1.2vw, 1.6rem)/1 var(--body, Inter, sans-serif); color: #111; cursor: pointer; padding: 0; transition: transform .08s ease, box-shadow .12s ease; }
.raffle-grid.is-end .rn { font-size: clamp(1.4rem, 1rem + 2vw, 2.4rem); }
.rn-d { background: linear-gradient(135deg, #A3D6A0 0%, #8EC08F 40%, #4E7668 100%); }
.rn-d:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 6px 14px -6px rgba(0,0,0,.45); }
.rn-r { background: #F5C451; cursor: not-allowed; }
.rn-v { background: #D5D5D8; color: #8A8A90; border-color: #A5A5AA; cursor: not-allowed; text-decoration: line-through; }
.rn-s { background: var(--gold, #D4AF37) !important; box-shadow: 0 0 0 3px #fff, 0 0 0 6px #0D0D0D; transform: translateY(-2px); }
.rn-s::before { content: "✓"; position: absolute; top: 2px; right: 5px; font-size: .7em; }
.rn:disabled:not(.rn-r):not(.rn-v) { cursor: default; }

.raffle-bar { position: sticky; bottom: 12px; z-index: 40; margin: 1rem auto 0; max-width: 980px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: #0D0D0D; color: #F6EDD3; border-radius: 16px; padding: .8rem 1rem; box-shadow: 0 14px 30px -12px rgba(0,0,0,.5); }
.raffle-bar [data-raffle-picked] { color: var(--gold, #D4AF37); font-weight: 600; word-break: break-word; }
.raffle-modal { position: fixed; inset: 0; z-index: 200; background: rgba(13,13,13,.6); display: grid; place-items: center; padding: 16px; }
.raffle-modal-box { background: #fff; border-radius: 18px; padding: 1.3rem; width: min(460px, 100%); max-height: calc(100vh - 32px); overflow: auto; }
.raffle-done-nums { font-size: 1.6rem; font-weight: 700; letter-spacing: .04em; color: var(--gold-deep, #7A5C12); }

/* ---------- Ruleta ---------- */
.live-prize { font-size: 1.15rem; font-weight: 600; color: var(--gold-deep, #7A5C12); margin: 0; }
.wheel-wrap { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(220px, 1fr); gap: 1.5rem; align-items: start; }
.wheel-stage { position: relative; max-width: 640px; width: 100%; margin-inline: auto; }
.wheel-canvas { width: 100%; height: auto; aspect-ratio: 1; display: block; }
.wheel-pointer { position: absolute; left: 50%; top: -6px; transform: translateX(-50%); width: 0; height: 0; border-left: 22px solid transparent; border-right: 22px solid transparent; border-top: 44px solid #A1281F; z-index: 2; filter: drop-shadow(0 3px 3px rgba(0,0,0,.4)); }
.wheel-countdown { position: absolute; inset: 0; display: grid; place-items: center; font: 700 clamp(4rem, 12vw, 9rem)/1 var(--display, serif); color: #fff; text-shadow: 0 4px 18px rgba(0,0,0,.7); pointer-events: none; }
.wheel-status { font-weight: 600; font-size: 1.1rem; margin-bottom: .8rem; }
.wheel-winner { background: #0D0D0D; color: var(--gold-light, #EFD9A0); border-radius: 16px; padding: 1rem 1.2rem; margin-bottom: 1rem; text-align: center; animation: lvpop .5s ease; }
.wheel-winner-label { display: block; text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; color: var(--gold, #D4AF37); }
.wheel-winner strong { font-family: var(--display, serif); font-size: clamp(1.5rem, 1rem + 2vw, 2.3rem); }
.wheel-names { padding-left: 1.4rem; columns: 2; column-gap: 1.5rem; }
.wheel-names li { padding: .15rem 0; break-inside: avoid; }
@keyframes lvpop { from { transform: scale(.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* ---------- Subasta ---------- */
.auction { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.auction-media img { width: 100%; border-radius: 18px; background: #fff; }
.auction-media .raffle-card-noimg { border-radius: 18px; }
.auction-info h1 { margin-bottom: .6rem; }
.auction-box { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 1rem 0 .5rem; }
.auction-box > div { display: grid; gap: .15rem; background: #fff; border: 1px solid var(--line, #E7DFCC); border-radius: 14px; padding: .9rem 1rem; }
.auction-price strong, .auction-clock strong { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); font-variant-numeric: tabular-nums; }
.auction-clock strong.is-hot { color: var(--red, #A1281F); }
.auction-form { background: #fff; border: 1px solid var(--line, #E7DFCC); border-radius: 14px; padding: 1rem; margin-top: .8rem; }
.auction-quick { display: flex; flex-wrap: wrap; gap: .4rem; margin: -.2rem 0 .8rem; }
.auction-banner { border-radius: 12px; padding: .8rem 1rem; font-weight: 600; margin: .8rem 0; }
.auction-banner.is-win { background: var(--gold, #D4AF37); color: #0D0D0D; font-size: 1.1rem; animation: lvpop .5s ease; }
.auction-banner.is-lead { background: var(--green-bg, #E6F4EC); color: var(--green, #1E7A46); }
.auction-banner.is-out { display: grid; gap: .2rem; background: #C62828; color: #fff; border: 2px solid #8E1414; }
.auction-banner.is-out strong { font-size: 1.25rem; text-transform: uppercase; letter-spacing: .04em; }
.auction-banner.is-out.is-new { animation: lvshake .5s ease 2; }
@keyframes lvshake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }
.auction-banner.is-closed { background: #0D0D0D; color: var(--gold-light, #EFD9A0); }
.auction-banner.is-info { background: #E7EEFB; color: #224D9A; }
.auction-bids { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.auction-bids li { display: grid; grid-template-columns: 1fr auto auto; gap: .8rem; align-items: baseline; background: #fff; border: 1px solid var(--line, #E7DFCC); border-radius: 10px; padding: .5rem .8rem; }
.auction-bids li.top { border-color: var(--gold, #D4AF37); background: var(--gold-soft, #F6EDD3); }
.auction-bids li.you span:first-child { font-weight: 700; }
.auction-bids li.muted { display: block; }

@media (max-width: 860px) {
  .wheel-wrap, .auction { grid-template-columns: 1fr; }
  .auction { gap: 1rem; }
}
@media (max-width: 560px) {
  .raffle-head { grid-template-columns: 96px 1fr; gap: 10px; }
  .raffle-titles { gap: 10px; }
  .raffle-pill { padding: .7rem .8rem; border-radius: 14px; gap: .5rem; }
  .raffle-facts { gap: 10px; }
  .ri { transform: scale(.8); }
  .rn { border-radius: 7px; }
  .auction-box { grid-template-columns: 1fr; }
  .wheel-names { columns: 1; }
}

.raffle-notice { display: flex; gap: .7rem; align-items: flex-start; background: var(--amber-bg, #FFF2D6); color: #5C3D00; border: 1px solid #F0D28C; border-radius: 12px; padding: .8rem 1rem; margin: .6rem 0 1rem; font-size: .93rem; }
.raffle-notice .icon { width: 1.3em; height: 1.3em; flex: none; margin-top: .1rem; }
.raffle-closed { display: grid; gap: .5rem; justify-items: start; background: #0D0D0D; color: #F6EDD3; border-radius: 14px; padding: 1rem 1.2rem; margin: .4rem 0 1rem; }
.raffle-closed strong { font-size: 1.1rem; color: var(--gold-light, #EFD9A0); }
.raffle-closed p { margin: 0; }

.wheel-piece { display: block; width: min(260px, 70vw); margin: 0 0 1.2rem; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: var(--shadow); }
.wheel-piece img { width: 100%; height: auto; display: block; }

.wheel-piece-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-bottom: 1.2rem; }
.wheel-piece-row .wheel-piece { margin: 0; }
.wheel-piece[hidden], .wheel-notice[hidden], .wheel-price[hidden] { display: none !important; }
.wheel-price { margin: 0; font-size: 1.05rem; background: #fff; border: 1px solid var(--line, #E7DFCC); border-radius: 12px; padding: .7rem 1rem; }
.wheel-price strong { display: block; font-size: 1.6rem; }
.wheel-notice { background: #0D0D0D; color: var(--gold-light, #EFD9A0); border-radius: 12px; padding: .8rem 1rem; margin-bottom: 1rem; font-weight: 600; }

/* Temporizador de la subasta */
.lv-cd { display: flex; gap: .35rem; flex-wrap: wrap; margin: .15rem 0; }
.lv-cd-b { display: grid; justify-items: center; min-width: 3.1rem; padding: .35rem .3rem .25rem; background: #0D0D0D; color: var(--gold-light, #EFD9A0); border-radius: 10px; line-height: 1; }
.lv-cd-b b { font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem); font-variant-numeric: tabular-nums; }
.lv-cd-b small { font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; margin-top: .25rem; color: #CFC8B8; }
.auction-clock strong.is-hot .lv-cd-b { background: #C62828; color: #fff; }
.auction-clock strong.is-hot .lv-cd-b small { color: #FFE0E0; }

/* Aviso sin rifas o subastas */
.lv-empty { background: #0D0D0D; color: #E9E4D8; border-radius: 22px; padding: clamp(1.4rem, 4vw, 2.6rem); text-align: center; display: grid; justify-items: center; gap: .6rem; box-shadow: var(--shadow); }
.lv-empty h2 { color: var(--gold-light, #EFD9A0); margin: 0; }
.lv-empty p { max-width: 560px; margin: 0; color: #CFC8B8; }
.lv-empty-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: rgba(212,175,55,.15); color: var(--gold, #D4AF37); }
.lv-empty-icon .icon { width: 34px; height: 34px; }
.lv-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: .6rem; }
.lv-empty .lv-btn-light { background: transparent; color: #F6EDD3; border-color: rgba(212,175,55,.45); }
.lv-empty .lv-btn-light:hover { border-color: var(--gold, #D4AF37); }

/* Subasta en vivo */
.ev-dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; background: #E53935; margin-right: .3rem; animation: evpulse 1.4s infinite; vertical-align: middle; }
@keyframes evpulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
.ev-before, .ev-done { display: grid; gap: .5rem; justify-items: start; background: #0D0D0D; color: #F6EDD3; border-radius: 16px; padding: 1rem 1.2rem; margin: 1rem 0; }
.ev-before > strong, .ev-done strong { color: var(--gold-light, #EFD9A0); font-size: 1.1rem; }
.ev-before .auction-clock strong { font-size: inherit; }
.ev-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.5rem; align-items: start; margin-top: 1rem; }
.ev-lot { background: #fff; border-radius: 20px; padding: clamp(12px, 2vw, 20px); box-shadow: var(--shadow); }
.ev-lot-title { font-family: var(--display, serif); font-size: clamp(1.3rem, 1rem + 1.2vw, 1.9rem); margin: .2rem 0 .5rem; }
.ev-lots { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.ev-lot-row { display: grid; grid-template-columns: 56px 1fr; gap: .7rem; align-items: center; background: #fff; border: 1px solid var(--line, #E7DFCC); border-radius: 12px; padding: .5rem; }
.ev-lot-row img, .ev-lot-ph { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; background: #F3F3F5; }
.ev-lot-row > div { display: grid; gap: .1rem; }
.ev-lot-row.is-en_curso { border-color: var(--gold, #D4AF37); background: var(--gold-soft, #F6EDD3); }
.ev-lot-row.is-cerrada, .ev-lot-row.is-cancelada { opacity: .75; }
.ev-chat { position: sticky; top: calc(var(--header-h, 68px) + 12px); background: #fff; border-radius: 18px; padding: 1rem; box-shadow: var(--shadow); display: grid; gap: .6rem; }
.ev-msgs { list-style: none; padding: 0; margin: 0; height: min(52vh, 460px); overflow-y: auto; display: flex; flex-direction: column; gap: .45rem; background: #FAF8F3; border-radius: 12px; padding: .6rem; }
.ev-msg { position: relative; background: #fff; border: 1px solid var(--line, #E7DFCC); border-radius: 10px; padding: .45rem .6rem; }
.ev-msg strong { font-size: .85rem; }
.ev-msg-time { font-size: .72rem; color: var(--muted, #6B665C); margin-left: .4rem; }
.ev-msg p { margin: .15rem 0 0; font-size: .92rem; word-wrap: break-word; }
.ev-msg.is-admin { background: #0D0D0D; border-color: #0D0D0D; color: #F6EDD3; }
.ev-msg.is-admin strong { color: var(--gold, #D4AF37); }
.ev-msg.is-admin .ev-msg-time { color: #CFC8B8; }
.ev-msg.is-you { border-color: var(--gold, #D4AF37); }
.ev-chat-form { display: flex; gap: .4rem; }
.ev-chat-form input { flex: 1; min-width: 0; min-height: 44px; padding: .5rem .7rem; border: 1px solid var(--line-2, #D8CDB3); border-radius: 10px; font-size: 1rem; }
.ev-chat-form[hidden], .ev-before[hidden], .ev-done[hidden], .ev-lot[hidden], .ev [hidden] { display: none !important; }
@media (max-width: 980px) { .ev-grid { grid-template-columns: 1fr; } .ev-chat { position: static; } .ev-msgs { height: 320px; } }

.ev-cards { display: grid; gap: 1rem; margin-bottom: 1.5rem; }
.ev-card { display: grid; grid-template-columns: 180px 1fr; gap: 1rem; align-items: center; background: #0D0D0D; color: #E9E4D8; border-radius: 20px; padding: 1rem; text-decoration: none; box-shadow: var(--shadow); }
.ev-card img { width: 180px; height: 180px; object-fit: cover; border-radius: 14px; }
.ev-card-body { display: grid; gap: .35rem; }
.ev-card-body strong { font-family: var(--display, serif); font-size: clamp(1.2rem, 1rem + 1vw, 1.7rem); color: var(--gold-light, #EFD9A0); }
.ev-card-kicker { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; color: #FF8A80; font-weight: 600; }
.ev-card-cta { margin-top: .3rem; color: var(--gold, #D4AF37); font-weight: 600; }
@media (max-width: 560px) { .ev-card { grid-template-columns: 1fr; } .ev-card img { width: 100%; height: auto; aspect-ratio: 1; } }

.wheel-join { max-width: 460px; margin: 0 auto 1.5rem; }
.wheel-join[hidden], .wheel-wrap[hidden] { display: none !important; }

.wheel-chat { background: #fff; border-radius: 18px; padding: 1rem; box-shadow: var(--shadow); display: grid; gap: .6rem; margin: 1.5rem 0 1rem; }
.wheel-chat .ev-msgs { height: min(45vh, 380px); }
.wheel-chat[hidden] { display: none !important; }
.ev-msg { position: relative; }
.ev-msg-hide { position: absolute; top: .2rem; right: .3rem; border: 0; background: none; font-size: 1.1rem; cursor: pointer; color: #C62828; }

/* Chats: que nunca se salgan del ancho de la pantalla en el celular */
.wheel-chat, .ev-chat { display: block; min-width: 0; max-width: 100%; overflow: hidden; }
.wheel-chat > * + *, .ev-chat > * + * { margin-top: .6rem; }
.wheel-chat .ev-msgs, .ev-chat .ev-msgs { width: 100%; max-width: 100%; overflow-x: hidden; }
.ev-msg { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.ev-chat-form { width: 100%; max-width: 100%; }
.ev-chat-form input { width: 100%; }
.ev-chat-form .lv-btn { flex: none; padding-inline: .9rem; }
@media (max-width: 560px) {
  .wheel-chat, .ev-chat { padding: .8rem; border-radius: 14px; }
  .wheel-chat .ev-msgs { height: min(55vh, 360px); padding: .45rem; }
  .ev-msg { padding: .4rem .55rem; }
  .ev-msg p { font-size: .95rem; }
}

/* Precio de reserva y aviso de ganador */
.auction-reserve { display: inline-block; margin: .2rem 0 .4rem; padding: .3rem .7rem; border-radius: 999px; font-size: .85rem; font-weight: 600; }
.auction-reserve.is-not { background: var(--amber-bg, #FFF2D6); color: var(--amber, #8A5A00); }
.auction-reserve.is-met { background: var(--green-bg, #E6F4EC); color: var(--green, #1E7A46); }
.auction-reserve[hidden] { display: none !important; }
.auction-banner.is-win { display: grid; gap: .45rem; justify-items: start; }
.auction-banner.is-win strong { font-size: 1.25rem; }
.auction-banner.is-win .lv-btn-wa { margin-top: .2rem; }

/* Mis subastas */
.lv-mine { position: fixed; right: 1rem; bottom: 5.2rem; z-index: 95; display: grid; justify-items: end; gap: .5rem; }
.lv-mine[hidden] { display: none !important; }
.lv-mine-btn { display: inline-flex; align-items: center; gap: .4rem; padding: .6rem 1rem; border-radius: 999px; border: 2px solid var(--gold, #D4AF37); background: #0D0D0D; color: var(--gold-light, #EFD9A0); font-weight: 600; cursor: pointer; box-shadow: 0 10px 24px -10px rgba(0,0,0,.6); }
.lv-mine-btn.has-wins { background: var(--gold, #D4AF37); color: #0D0D0D; }
.lv-mine-count { display: inline-grid; place-items: center; min-width: 1.5rem; height: 1.5rem; padding: 0 .35rem; border-radius: 999px; background: #C62828; color: #fff; font-size: .8rem; }
.lv-mine-count[hidden] { display: none !important; }
.lv-mine-panel { width: min(340px, calc(100vw - 2rem)); max-height: min(70vh, 520px); overflow-y: auto; background: #fff; border-radius: 16px; padding: .9rem 1rem; box-shadow: 0 24px 50px -20px rgba(0,0,0,.55); border: 1px solid var(--line, #E7DFCC); }
.lv-mine-panel[hidden] { display: none !important; }
.lv-mine-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .4rem; }
.lv-mine-h { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--gold-deep, #7A5C12); margin: .7rem 0 .3rem; font-family: var(--body, sans-serif); }
.lv-mine-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.lv-mine-list li { display: grid; gap: .05rem; padding: .45rem .6rem; border-radius: 10px; background: #FAF8F3; overflow-wrap: anywhere; }
.lv-mine-list a { font-weight: 600; text-decoration: none; }
.lv-mine-wa { width: 100%; margin-top: .8rem; }
.lv-mine-wa[hidden] { display: none !important; }
@media (max-width: 560px) { .lv-mine { right: .75rem; bottom: 4.8rem; } }
/* Subasta en vivo · solicitud para participar */
.ev-access { margin: 1rem 0; }
.ev-request { background: #fff; border-radius: 18px; padding: 1rem 1.2rem; box-shadow: var(--shadow); border-left: 4px solid var(--gold, #C9A24A); }
.ev-request h2 { margin: 0 0 .3rem; }
.ev-request-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem .8rem; align-items: end; }
.ev-request-form .lv-error, .ev-request-form button { grid-column: 1 / -1; justify-self: start; }
.ev-status { display: flex; flex-wrap: wrap; gap: .4rem .8rem; align-items: center; border-radius: 14px; padding: .9rem 1.1rem; }
.ev-status.is-pending { background: #FFF6DD; color: #5A4300; border: 1px solid #F0D58A; }
.ev-status.is-rejected { background: #FDECEC; color: #7A1C1C; border: 1px solid #F3B9B9; }
.ev-status.is-ok { background: #EAF7EE; color: #1D5B33; border: 1px solid #B9E2C6; }
.ev-access [hidden] { display: none !important; }
@media (max-width: 720px) { .ev-request-form { grid-template-columns: 1fr; } .ev-request-form button { justify-self: stretch; } }
/* Subasta en vivo · resultados de la persona */
.ev-results { display: grid; gap: .6rem; margin: 0 0 1rem; }
.ev-results[hidden] { display: none !important; }
.ev-result { display: grid; gap: .25rem; border-radius: 14px; padding: .9rem 1.1rem; }
.ev-result.is-won { background: #EAF7EE; color: #1D5B33; border: 1px solid #B9E2C6; }
.ev-result.is-lost { background: #F4F1EA; color: #4A4033; border: 1px solid #DDD3BF; }
/* Categorías de subastas */
.auction-group-note { display: grid; gap: .4rem; justify-items: start; background: #FFF6DD; color: #5A4300; border: 1px solid #F0D58A; border-radius: 14px; padding: .9rem 1.1rem; margin: .8rem 0; }
.auction-group-note[hidden], .auction-group-note [hidden] { display: none !important; }
.gr-card .ev-card-kicker { color: var(--gold-light, #EFD9A0); }
