/* Fichas publicas de venue y de productor, v2 (26-09-2026).
   Carga despues de Land/Dj/Modelo1/ficha-v2.css y solo agrega lo que un lugar
   o una productora tienen y un DJ no: horario, direccion, cifras, la barra de
   reserva. El resto (hero, tarjetas, agenda, red, galeria) es el mismo sistema. */

/* ── CIFRAS DEL PERFIL ──────────────────── */
.fl-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; margin-top: 18px; }
.fl-cifra { padding: 12px 14px; border-radius: 12px; background: var(--fx-bg3); border: 1px solid var(--fx-line2); }
.fl-cifra b { display: block; font-family: var(--fx-h); font-weight: 800; font-size: 24px; line-height: 1; color: #fff; }
.fl-cifra span { display: block; margin-top: 4px; font-size: 11px; letter-spacing: .06em; color: var(--fx-t40); }
a.fl-cifra:hover { border-color: rgba(201,168,76,.5); }
a.fl-cifra:hover b { color: var(--fx-gold); }

/* ── HORARIO ────────────────────────────── */
.fl-horario { display: grid; gap: 2px; margin: 0; }
.fl-dia { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 9px 12px; border-radius: 10px; font-size: 13.5px; }
.fl-dia dt { color: var(--fx-t60); margin: 0; }
.fl-dia dd { margin: 0; color: #fff; font-variant-numeric: tabular-nums; }
.fl-dia.cerrado dd { color: var(--fx-t40); }
.fl-dia.hoy { background: var(--fx-gold-dim); }
.fl-dia.hoy dt { color: var(--fx-gold); font-weight: 600; }
.fl-horario-texto { margin: 0; color: var(--fx-t60); white-space: pre-line; font-size: 14px; }

/* ── DONDE ──────────────────────────────── */
.fl-donde { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.fl-donde-txt { min-width: 0; flex: 1 1 260px; }
.fl-donde-txt b { display: block; font-size: 15px; font-weight: 600; line-height: 1.4; }
.fl-donde-txt span { display: block; font-size: 12.5px; color: var(--fx-t40); margin-top: 2px; }
.fl-donde-ico {
    width: 44px; height: 44px; border-radius: 12px; flex: none; display: grid; place-items: center;
    background: var(--fx-gold-dim); color: var(--fx-gold); font-size: 17px;
}

/* ── BARRA DE RESERVA (movil) ───────────── */
.fl-barra { display: none; }
@media (max-width: 720px) {
    .fl-barra {
        display: grid; grid-template-columns: 1fr 1.25fr; gap: 8px;
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
        background: rgba(8,8,8,.9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
        border-top: 1px solid var(--fx-line);
    }
    .fl-barra .btn-fx { min-height: 46px; padding: 0 10px; font-size: 13px; }
    body.fx.con-barra { padding-bottom: 72px; }
    /* la barra de abajo ya lleva el boton principal: arriba no se repite */
    body:has(.fl-barra) .fx-top-cta { display: none; }
    .fl-dia { grid-template-columns: 96px 1fr; }
    .fl-cifra b { font-size: 21px; }
    .fx-hero h1 { font-size: min(96px, calc((100vw - 40px) / (var(--fl-len-tel, var(--fx-len, 7)) * 1.35))); }
}
.fl-corte-tel { display: none; }
@media (max-width: 720px) { .fl-corte-tel { display: inline; } }

/* Pasados: el conteo real al lado del titulo */
.fx-sub .fl-cuenta { color: var(--fx-gold); font-weight: 500; letter-spacing: .06em; margin-left: 6px; }
.fl-mas-nota { margin: 10px 0 0; font-size: 12px; color: var(--fx-t40); }

/* El hero de venue entra cuando se confirmo que la foto sirve */
.fl-hero-entra { animation: fl-entra .5s ease-out; }
@keyframes fl-entra { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .fl-hero-entra { animation: none; } }

/* Con el retrato a la derecha (foto vertical o chica), el nombre se achica
   para no pasarle por encima. */
@media (min-width: 721px) {
    .fx-hero.fx-hero--suave h1 {
        font-size: min(110px, calc((min(100vw - 40px, 1160px) - min(360px, 30vw) - 48px) / (var(--fx-len, 7) * 1.35)));
    }
}
