/* ═══════════════════════════════════════════════════════════════
   Simulator Plans Manager — Estilo Poder Judicial  v2
   Scoped: .splm-theme-poder-judicial
   Fuentes: Lora (serif) + Plus Jakarta Sans (sans)
   Paleta: navy #0d2247 · blue #1a4fa0 · gold #c9a84c · green #16a34a
═══════════════════════════════════════════════════════════════ */

.splm-theme-poder-judicial {
    --t-navy:   #0d2247;
    --t-blue:   #1a4fa0;
    --t-light:  #e8f0fb;
    --t-gold:   #c9a84c;
    --t-text:   #1a2744;
    --t-muted:  #5a6a8a;
    --t-green:  #16a34a;
    --t-border: #dde6f5;
    --t-radius: 20px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: var(--t-text);
}

/* ── Grid ──────────────────────────────────────────────── */
.splm-theme-poder-judicial .spm-plans-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    align-items: stretch;
    /* FIX 1: espacio superior para el badge pill absoluto (-14px) y separación del titular */
    margin-top: 28px;
    padding-top: 14px;
}
@media (max-width: 1023px) { .splm-theme-poder-judicial .spm-plans-row { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 599px)  { .splm-theme-poder-judicial .spm-plans-row { grid-template-columns: 1fr; } }

.splm-theme-poder-judicial .spm-plan-col { min-width: 0; display: flex; }

/* FIX 1: separación entre titular promo y cards */
.splm-theme-poder-judicial .spm-promo-headline { margin-bottom: 8px; }
.splm-theme-poder-judicial #spm-title-promo    { margin-bottom: 20px; }
.splm-theme-poder-judicial #spm-countdown      { margin-bottom: 24px; }

/* ── Tarjeta ───────────────────────────────────────────── */
.splm-theme-poder-judicial .spm-lp-card {
    background: #fff;
    border: 2px solid var(--t-border);
    border-radius: var(--t-radius);
    padding: 32px 28px;
    width: 100%;
    position: relative;
    transition: box-shadow .3s, transform .3s;
    display: flex;
    flex-direction: column;
}
.splm-theme-poder-judicial .spm-lp-card:hover {
    box-shadow: 0 16px 48px rgba(26,79,160,.13);
    transform: translateY(-3px);
}
.splm-theme-poder-judicial .spm-lp-card.spm-lp-featured {
    border-color: var(--t-blue);
    box-shadow: 0 12px 40px rgba(26,79,160,.18);
}

/* ── Badge pill (centrado, absoluto, por encima de la tarjeta) ── */
.splm-theme-poder-judicial .spm-lp-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 20px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    white-space: nowrap;
    max-width: 90%;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.6;
}
.splm-theme-poder-judicial .spm-lp-badge.pj-green { background: var(--t-green); color: #fff; }
.splm-theme-poder-judicial .spm-lp-badge.pj-blue  { background: var(--t-blue);  color: #fff; }
.splm-theme-poder-judicial .spm-lp-badge.pj-gold  { background: var(--t-gold);  color: #0a1e45; }

/* ── Cuerpo ────────────────────────────────────────────── */
.splm-theme-poder-judicial .spm-lp-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    margin-top: 12px;  /* espacio para el badge absoluto */
}

/* FIX 2: Eyebrow — texto en versalitas encima del título */
.splm-theme-poder-judicial .spm-lp-eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--t-muted);
    margin: 0 0 6px;
    display: block;
}

.splm-theme-poder-judicial .spm-lp-title {
    font-family: 'Lora', serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--t-navy);
    margin: 0 0 4px;
    line-height: 1.25;
}
.splm-theme-poder-judicial .spm-lp-desc {
    font-size: .82rem;
    color: var(--t-muted);
    font-style: italic;
    margin: 0 0 20px;
    line-height: 1.5;
}

/* ── Precio — FIX 3: símbolo alineado con flex ─────────── */
.splm-theme-poder-judicial .spm-lp-old {
    text-decoration: line-through;
    color: var(--t-muted);
    font-size: 1.05rem;
    line-height: 1;
    margin-bottom: 4px;
    display: block;
}

/* Contenedor flex para alinear $ y número */
.splm-theme-poder-judicial .spm-lp-amount {
    display: flex;
    align-items: flex-start;  /* alinear arriba */
    gap: 1px;
    line-height: 1;
    margin-bottom: 2px;
}
.splm-theme-poder-judicial .spm-lp-curr {
    font-family: 'Lora', serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--t-navy);
    line-height: 1;
    padding-top: .42em;  /* bajar el $ para que quede alineado visualmente con el centro del número */
    flex-shrink: 0;
}
.splm-theme-poder-judicial .spm-lp-num {
    font-family: 'Lora', serif;
    font-size: 3rem;
    font-weight: 700;
    color: var(--t-navy);
    line-height: 1;
    letter-spacing: -.5px;
}

.splm-theme-poder-judicial .spm-lp-note {
    font-size: .76rem;
    color: var(--t-muted);
    margin: 6px 0 0;
    display: block;
}

/* FIX 4: urgency badge — usa wp_kses_post para preservar emoji */
.splm-theme-poder-judicial .spm-lp-urgency {
    /* FIX 4a: NO heredar color CSS — el emoji debe usar su propio color natural (emoji-mode) */
    /* FIX 4b: font-variant-emoji fuerza presentación emoji en lugar de texto-symbol */
    font-size: .87rem;
    font-weight: 600;
    margin-top: 5px;
    display: block;
    font-variant-emoji: emoji;          /* Chrome 117+, Firefox 108+, Safari 15.4+ */
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji',
                 'Plus Jakarta Sans', sans-serif;  /* emoji fonts PRIMERO */
    line-height: 1.5;
}

/* ── Botón ─────────────────────────────────────────────── */
.splm-theme-poder-judicial .spm-lp-btn {
    display: block;
    width: 100%;
    padding: 13px;
    border-radius: 10px;
    font-weight: 700;
    font-size: .97rem;
    text-align: center;
    text-decoration: none !important;
    transition: all .28s;
    margin: 18px 0 20px;
    border: none;
    cursor: pointer;
}
.splm-theme-poder-judicial .spm-lp-btn.pj-green       { background: var(--t-green); color: #fff !important; }
.splm-theme-poder-judicial .spm-lp-btn.pj-green:hover { background: #15803d; box-shadow: 0 6px 20px rgba(22,163,74,.35); transform: translateY(-1px); }
.splm-theme-poder-judicial .spm-lp-btn.pj-blue        { background: var(--t-blue);  color: #fff !important; }
.splm-theme-poder-judicial .spm-lp-btn.pj-blue:hover  { background: var(--t-navy);  box-shadow: 0 6px 20px rgba(26,79,160,.35); transform: translateY(-1px); }

/* ── Lista de características ──────────────────────────── */
.splm-theme-poder-judicial .spm-lp-features {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
}
.splm-theme-poder-judicial .spm-lp-features li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 8px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: .875rem;
    color: var(--t-text);
    line-height: 1.5;
}
.splm-theme-poder-judicial .spm-lp-features li:last-child { border: none; }
.splm-theme-poder-judicial .spm-lp-features li .spm-lp-check { color: var(--t-green); flex-shrink: 0; margin-top: 2px; }
.splm-theme-poder-judicial .spm-lp-features li .spm-lp-cross { color: #d1d5db; flex-shrink: 0; margin-top: 2px; }
.splm-theme-poder-judicial .spm-help-trigger { color: var(--t-muted); margin-left: auto; font-weight: bold; }
.splm-theme-poder-judicial .spm-help-trigger:hover { color: var(--t-blue); }

/* ── Scroll reveal ─────────────────────────────────────── */
.splm-theme-poder-judicial .spm-plan-col { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.splm-theme-poder-judicial .spm-plan-col.spm-visible { opacity: 1; transform: none; }
.splm-theme-poder-judicial .spm-plan-col:nth-child(2) { transition-delay: .12s; }
.splm-theme-poder-judicial .spm-plan-col:nth-child(3) { transition-delay: .24s; }
