select{font-family:inherit}

.vyl-hov-1:hover{border-color:#3FA0DA !important}
.vyl-hov-2:hover{background:#3FA0DA !important;color:#fff !important}
.vyl-hov-3:hover{box-shadow:0 4px 16px rgba(23,26,28,0.08) !important}
.vyl-card-btn:hover{opacity:0.88}
.vyl-chip{padding:7px 14px;border-radius:99px;border:1px solid #DDE1E4;background:#fff;font-size:12.5px;font-weight:500;color:#3B4247;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}
.vyl-chip:hover{border-color:#3FA0DA}
.vyl-chip.active{background:#171A1C;color:#fff;border-color:#171A1C;transform:scale(1.04)}
@keyframes vylCardIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.loc2-card.vyl-anim-in{animation:vylCardIn .4s cubic-bezier(.22,1,.36,1) both}
#vyl-filters-panel{overflow:hidden}
#vyl-filters-panel.vyl-opening{animation:vylPanelIn .28s ease both}
@keyframes vylPanelIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
#vyl-count{transition:color .2s ease}
#vyl-count.vyl-pulse{color:#3FA0DA;font-weight:700}
#vyl-empty{animation:vylPanelIn .3s ease both}
#vyl-search:focus{border-color:#3FA0DA}
@keyframes vylBlink{0%,49%{opacity:1}50%,100%{opacity:0.15}}
@keyframes vylEq1{0%,100%{height:45%}50%{height:100%}}
@keyframes vylEq2{0%,100%{height:100%}50%{height:30%}}
@keyframes vylEq3{0%,100%{height:65%}50%{height:95%}}
@keyframes vylBlob1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,40px) scale(1.15)}}
@keyframes vylBlob2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-30px,30px) scale(1.12)}}
@keyframes vylBolt{0%,100%{transform:scale(1) rotate(0deg);filter:drop-shadow(0 0 0 rgba(245,195,68,0))}50%{transform:scale(1.15) rotate(-6deg);filter:drop-shadow(0 0 6px rgba(245,195,68,0.8))}}
.vyl-bolt{animation:vylBolt 1.6s ease-in-out infinite}
.vyl-cta-glow .vyl-cta-blob{transition:opacity .4s ease}
.vyl-cta-glow:hover .vyl-cta-blob{opacity:0.32 !important}

/* ============ tarjeta grande de locutor (prototipo) ============ */
/* mosaico (masonry) tipo Pinterest armado por JS: cada tarjeta se agrega a la
   columna más corta en el momento (no a la primera que tenga lugar), así las
   primeras N tarjetas del listado quedan repartidas en la primera fila visual
   en vez de apilarse todas en la columna 1 (que es lo que hace column-count). */
#vyl-grid.loc2-grid{display:flex;align-items:flex-start;gap:20px}
.loc2-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:20px}
.loc2-card{--accent:#3FA0DA;display:block;margin-bottom:0}

.loc2-frame{position:relative;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;border:3px solid var(--accent);background:#12161A;box-shadow:0 8px 24px rgba(14,18,20,0.18)}

/* banner superior: sin foto real, glow de color + silueta grande */
.loc2-banner{position:relative;flex-shrink:0;height:150px;background:
    radial-gradient(120% 140% at 30% 0%, color-mix(in srgb, var(--accent) 45%, #0E1214) 0%, #0E1214 68%),
    #0E1214}
.loc2-bg-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0.18}
.loc2-bg-icon svg{width:44%;height:44%;color:var(--accent)}

.loc2-top{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;background:linear-gradient(0deg,rgba(6,8,10,0.85) 0%,rgba(6,8,10,0.15) 100%)}
.loc2-title{font-weight:800;font-size:clamp(19px,2.2vw,23px);line-height:1.14;color:#fff;letter-spacing:-0.01em}

.loc2-badge{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;background:#E5484D;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:0.03em;text-transform:uppercase;padding:5px 10px;border-radius:99px}
.loc2-badge-dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:vylBlink 1.4s infinite}

/* cuerpo: toda la info disponible del locutor */
.loc2-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px}

.loc2-tags{display:flex;flex-wrap:wrap;gap:6px}
.loc2-tag{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:99px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);color:rgba(255,255,255,0.85)}

.loc2-section-label{font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:6px}
.loc2-idiomas{font-size:12.5px;line-height:1.6;color:rgba(255,255,255,0.8)}
.loc2-horarios{display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.5;color:rgba(255,255,255,0.7)}

.loc2-demos{display:flex;flex-direction:column;gap:6px}
.loc2-demo-row{display:flex;align-items:center;gap:10px;padding:8px 9px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:10px}
.loc2-demo-play{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--accent);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.loc2-demo-title{flex:1;min-width:0;font-size:11.5px;color:rgba(255,255,255,0.75);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loc2-demo-track{width:56px;flex-shrink:0;height:4px;background:rgba(255,255,255,0.15);border-radius:99px;overflow:hidden;cursor:pointer}
.loc2-demo-progress{width:0%;height:100%;background:var(--accent)}
.loc2-demo-time{font-family:'IBM Plex Mono',monospace;font-size:10px;color:rgba(255,255,255,0.5);flex-shrink:0;white-space:nowrap}
.loc2-demo-download,.loc2-demo-share{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,0.08);border:none;color:rgba(255,255,255,0.75);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}
.loc2-demo-download:hover,.loc2-demo-share:hover{background:var(--accent);color:#fff}
.loc2-demo-share[data-copied="1"]{background:#2ECC71;color:#fff}

.loc2-cta{margin-top:2px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;padding:12px 18px;border-radius:10px;font-weight:700;font-size:13.5px;cursor:pointer;text-decoration:none;border:none}
.loc2-cta:hover{filter:brightness(1.08);color:#fff}

@media (max-width: 860px) {
  .lam-nav, .lam-header-desktop-actions { display:none !important; }
  .lam-hamburger { display:flex !important; }
  header .lam-cta-cotizar { padding:9px 14px !important; font-size:13px !important; }
}
@media (max-width: 780px) {
  .vyl-grid-2 { grid-template-columns:1fr !important; }
  .vyl-hero-stats { gap:24px !important; }
  .lam-footer-grid { grid-template-columns:1fr !important; gap:32px !important; }
  .lam-footer-grid > div:first-child { max-width:none !important; }
}
@media (max-width: 560px) {
  .vyl-filters { grid-template-columns:1fr 1fr !important; }
  .lam-copyright-row { grid-template-columns:1fr !important; justify-items:center !important; row-gap:14px !important; text-align:center !important; padding-bottom:20px !important; }
  .lam-copyright-row > span:last-child { justify-content:center !important; }
}
