/* Selector de cantidades moderno para tarjetas de precio */
.pricing-card {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    column-gap: 10px !important;
    row-gap: 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.pricing-card .precio-compacto {
    grid-column: span 4;
    width: calc(100% - 8px) !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: center !important;
    margin: 0 !important;
    min-height: 74px !important;
    padding: 8px 7px !important;
    gap: 2px !important;
    border-width: 1.25px !important;
    box-shadow: 0 5px 16px rgba(15,23,42,.045) !important;
    transform: none !important;
}

.pricing-card .precio-compacto:hover,
.pricing-card .precio-compacto:focus,
.pricing-card .precio-compacto:focus-visible {
    z-index: 20;
}

.pricing-card .precio-compacto.layout-span-3 {
    grid-column: span 6;
}

.pricing-card .precio-compacto.layout-span-6 {
    grid-column: span 12;
}

.pricing-card .precio-compacto:active {
    transform: translateY(1px) !important;
    box-shadow: 0 5px 16px rgba(15,23,42,.08) !important;
}

.pricing-card .precio-compacto[data-tooltip]::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    z-index: 60;
    width: max-content;
    max-width: min(230px, calc(100vw - 36px));
    padding: 7px 9px;
    border-radius: 9px;
    background: #111827;
    color: #fff;
    font-size: .72rem;
    font-weight: 750;
    line-height: 1.25;
    text-align: center;
    box-shadow: 0 10px 24px rgba(15,23,42,.22);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 4px);
    transition: opacity .14s ease, transform .14s ease;
}

.pricing-card .precio-compacto[data-tooltip]:hover::after,
.pricing-card .precio-compacto[data-tooltip]:focus::after,
.pricing-card .precio-compacto[data-tooltip]:focus-visible::after {
    opacity: 1;
    transform: translate(-50%, 0);
}

.pricing-card .precio-tipo {
    font-size: .82rem !important;
    line-height: 1.08 !important;
    margin-bottom: 0 !important;
    letter-spacing: 0 !important;
    max-width: 100%;
    min-height: 1.75em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
}

.pricing-card .precio-compacto.is-long-text .precio-tipo {
    font-size: .74rem !important;
}

.pricing-card .precio-valor {
    font-size: 1.42rem !important;
    line-height: 1 !important;
}

.pricing-card .precio-compacto .badge-cantidad {
    display: none !important;
}

.precio-accion {
    min-height: 20px;
    margin-top: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.precio-agregar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    color: inherit;
    font-size: .75rem;
    font-weight: 850;
    line-height: 1;
}

.cantidad-stepper {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 21px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.stepper-btn {
    width: 22px;
    height: 22px;
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: .95rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    touch-action: manipulation;
}

.stepper-cantidad {
    min-width: 18px;
    color: #0f172a;
    text-align: center;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
}

.precio-compacto.tiene-cantidad .precio-agregar {
    display: none;
}

.precio-compacto.tiene-cantidad .cantidad-stepper {
    display: inline-flex;
}

.precios-extra-publicos {
    display: contents;
}

.precio-extra-publico {
    min-width: 0;
    background: #fdf4ff !important;
    border: 1.25px solid #d946ef !important;
    box-shadow: 0 5px 16px rgba(217,70,239,.08) !important;
    overflow: visible;
}

.pricing-card .precio-extra-publico {
    min-height: 74px !important;
    padding: 8px 7px !important;
    gap: 2px !important;
}

.pricing-card .precio-extra-publico .precio-tipo {
    color: #86198f !important;
    font-size: .82rem !important;
}

.pricing-card .precio-extra-publico .precio-valor {
    color: #a21caf !important;
    font-size: 1.42rem !important;
}

.precio-extra-publico .precio-descripcion {
    max-width: 100%;
    margin-top: 1px;
    color: #7e2289;
    font-size: .64rem;
    font-weight: 650;
    line-height: 1.12;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
}

.precio-extra-publico.is-agotado {
    background: #fff1f2 !important;
    border-color: #fca5a5 !important;
    box-shadow: none !important;
    opacity: .92;
    filter: none;
    cursor: not-allowed;
}

.precio-extra-publico.is-agotado .precio-tipo,
.precio-extra-publico.is-agotado .precio-valor,
.precio-extra-publico.is-agotado .precio-descripcion {
    color: #991b1b !important;
}

.precio-extra-publico.is-agotado .precio-agregar {
    color: #b91c1c;
    font-weight: 900;
}

.precio-extra-publico.is-agotado .cantidad-stepper {
    display: none !important;
}

.precio-anticipada .precio-accion,
.precio-anticipada .stepper-cantidad { color: #047857; }
.precio-anticipada .stepper-btn { background: #10b981; }

.precio-boleteria .precio-accion,
.precio-boleteria .stepper-cantidad { color: #334155; }
.precio-boleteria .stepper-btn { background: #475569; }

#cardJubilado {
    background: #f3f8ff !important;
    border: 1.25px solid #93c5fd !important;
    box-shadow: 0 5px 16px rgba(37,99,235,.055) !important;
    margin-bottom: 0 !important;
}

#cardJubilado:active {
    transform: translateY(1px) !important;
    box-shadow: 0 5px 14px rgba(59,130,246,.1) !important;
}

#cardJubilado .precio-tipo {
    color: #1d4ed8 !important;
}

#cardJubilado .precio-valor {
    color: #2563eb !important;
}

#cardJubilado .precio-accion,
#cardJubilado .stepper-cantidad { color: #2563eb; }
#cardJubilado .stepper-btn { background: #60a5fa; }

.precio-extra-publico .precio-accion,
.precio-extra-publico .stepper-cantidad { color: #86198f; }
.precio-extra-publico .stepper-btn { background: #c026d3; }

body.reserva-tiempo-vencido .pricing-card .precio-compacto,
body.reserva-tiempo-vencido .pricing-card .precio-extra-publico,
body.reserva-tiempo-vencido #cardJubilado {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    box-shadow: none !important;
    color: #64748b !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    filter: grayscale(.18);
}

body.reserva-tiempo-vencido .pricing-card .precio-tipo,
body.reserva-tiempo-vencido .pricing-card .precio-valor,
body.reserva-tiempo-vencido .pricing-card .precio-accion,
body.reserva-tiempo-vencido .pricing-card .precio-agregar,
body.reserva-tiempo-vencido .precio-extra-publico .precio-descripcion,
body.reserva-tiempo-vencido .pricing-card .stepper-cantidad {
    color: #64748b !important;
}

body.reserva-tiempo-vencido .pricing-card .stepper-btn {
    background: #94a3b8 !important;
    color: #f8fafc !important;
}

body.reserva-tiempo-vencido .btn-accion,
body.reserva-tiempo-vencido .btn-pagar-ahora,
body.reserva-tiempo-vencido .btn-reservar {
    background: #cbd5e1 !important;
    border-color: #cbd5e1 !important;
    color: #64748b !important;
    box-shadow: none !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

@media (max-width: 430px) {
    .pricing-card .precio-compacto {
        width: calc(100% - 6px) !important;
        min-width: 0 !important;
        min-height: 72px !important;
        padding: 8px 6px !important;
    }

    .pricing-card .precio-tipo {
        font-size: .78rem !important;
        min-height: 1.7em;
    }

    .pricing-card .precio-valor {
        font-size: 1.32rem !important;
    }

    .pricing-card .precio-extra-publico .precio-valor {
        font-size: 1.32rem !important;
    }

    .precio-accion {
        margin-top: 2px;
    }

    .stepper-btn {
        width: 22px;
        height: 22px;
    }

    .stepper-cantidad {
        min-width: 18px;
        font-size: 1rem;
    }
}

.turnstile-boleteria-wrap {
    display: none;
    justify-content: center;
    width: 100%;
    margin: 0 0 10px;
}

.turnstile-boleteria-wrap.is-active {
    display: flex;
}

#turnstileBoleteria {
    width: 100%;
    display: flex;
    justify-content: center;
}

.campos-extra-reserva {
    display: none;
    gap: 8px;
}

.campo-extra-reserva {
    margin-bottom: 0;
}

.limite-edad-evento {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: auto;
    margin: 0 0 0 10px;
    padding: 0;
    border-top: 0;
    vertical-align: middle;
}

.limite-edad-evento[hidden] {
    display: none;
}

.limite-edad-chip {
    min-width: 0;
    min-height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #475569;
}

.limite-edad-chip svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
    stroke: none;
    opacity: 1;
    flex: 0 0 auto;
}

.limite-edad-chip strong {
    color: #334155;
    font-size: .76rem;
    font-weight: 950;
    line-height: 1;
}

.limite-edad-hombre {
    color: #334155;
}

.limite-edad-mujer {
    color: #334155;
}

.limite-edad-general {
    min-width: 60px;
}
