/* ============================================================
   GANADORES.CSS — Página de ganadores de sorteos
   Depende de: app.css (variables CSS --dorado, --texto, etc.)
   ============================================================ */
.gan-wrap{max-width:960px;margin:0 auto;padding:48px 40px}
.gan-titulo{margin-bottom:36px}
.gan-titulo h1{font-size:28px;font-weight:900;color:var(--texto);margin-bottom:6px;display:flex;align-items:center;gap:10px}
.gan-titulo h1 svg{width:28px;height:28px;color:var(--dorado)}
.gan-titulo p{font-size:14px;color:var(--texto-2)}
.gan-empty{text-align:center;padding:64px 20px}
.gan-empty svg{width:48px;height:48px;color:var(--texto-3);margin:0 auto 16px;display:block}
.gan-empty h2{font-size:18px;font-weight:700;color:var(--texto);margin-bottom:8px}
.gan-empty p{font-size:13px;color:var(--texto-2)}
.sorteo-gan-block{margin-bottom:40px}
.sorteo-gan-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--neg-borde)}
.sorteo-gan-ico{width:40px;height:40px;border-radius:10px;background:var(--dorado-suave);border:1px solid var(--dorado-borde);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sorteo-gan-ico svg{width:18px;height:18px;color:var(--dorado)}
.sorteo-gan-nombre{font-size:16px;font-weight:800;color:var(--texto)}
.sorteo-gan-fecha{font-size:11px;color:var(--texto-2);margin-top:2px;display:flex;align-items:center;gap:4px}
.sorteo-gan-fecha svg{width:11px;height:11px}
.ganadores-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.ganador-card{background:var(--neg-card);border:1px solid var(--neg-borde);border-radius:14px;overflow:hidden;transition:all .2s}
.ganador-card:hover{border-color:var(--dorado-borde);transform:translateY(-2px);box-shadow:0 6px 24px rgba(212,160,23,.12)}
.ganador-card.primer{border-color:var(--dorado-borde);background:linear-gradient(135deg,#1C1400 0%,var(--neg-card) 70%)}
.gcard-top{padding:14px 16px 10px;border-bottom:1px solid var(--neg-borde);display:flex;align-items:center;gap:10px}
.gcard-num{width:32px;height:32px;border-radius:50%;background:var(--dorado);color:#000;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ganador-card:not(.primer) .gcard-num{background:var(--neg-hover);color:var(--texto-2)}
.gcard-premio-nombre{font-size:13px;font-weight:700;color:var(--texto);line-height:1.3}
.gcard-img{width:100%;height:130px;overflow:hidden;background:var(--neg-hover)}
.gcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.ganador-card:hover .gcard-img img{transform:scale(1.04)}
.gcard-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--texto-3)}
.gcard-img-placeholder svg{width:32px;height:32px;opacity:.25}
.gcard-body{padding:12px 16px 16px}
.gcard-valor{font-size:18px;font-weight:900;color:var(--dorado);margin-bottom:10px}
.ganador-card:not(.primer) .gcard-valor{color:var(--rojo);font-size:16px}
.gcard-ganador{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.03);border:1px solid var(--neg-borde);border-radius:10px;padding:10px 12px}
.gcard-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--rojo) 0%,#8B0000 100%);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#fff;flex-shrink:0}
.gcard-nombre{font-size:13px;font-weight:700;color:var(--texto)}
.gcard-dni{font-size:11px;color:var(--texto-2);margin-top:1px}
.gcard-ticket{font-size:10px;color:var(--texto-3);margin-top:8px;font-family:'Courier New',monospace;letter-spacing:.04em}
@media(max-width:600px){.gan-wrap{padding:24px 16px}.ganadores-grid{grid-template-columns:1fr 1fr}}
@media(max-width:400px){.ganadores-grid{grid-template-columns:1fr}}
