/* ═══════════════════════════════════════════════════════════════════════
   LPF Calendario — Diseño minimalista alineado con el app
   Shortcode: [lpf_calendario]
   ═══════════════════════════════════════════════════════════════════════ */

.lpf-cal {
    background   : #0B1D3D;
    border-radius: 14px;
    padding      : 18px 16px;
    max-width    : 420px;
    margin       : 0 auto;
    font-family  : -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    box-sizing   : border-box;
    color        : #fff;
}
.lpf-cal *, .lpf-cal *::before, .lpf-cal *::after { box-sizing: inherit; }

/* ── Jornada (sección) ───────────────────────────────────────────────── */

.lpf-cal-jornada {
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.lpf-cal-jornada:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

/* ── Encabezado de jornada ───────────────────────────────────────────── */

.lpf-cal-header {
    display      : flex;
    align-items  : center;
    gap          : 10px;
    margin-bottom: 14px;
}

.lpf-cal-title {
    font-size    : 16px;
    font-weight  : 800;
    letter-spacing: 0.3px;
    color        : var(--lpf-primary, #38a9ff); /* teal/primary del tema */
    line-height  : 1;
}

.lpf-cal-badge {
    background    : transparent;
    color         : var(--lpf-primary, #38a9ff);
    border        : 1px solid var(--lpf-primary, #38a9ff);
    font-size     : 9px;
    font-weight   : 700;
    padding       : 2px 8px;
    border-radius : 4px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    opacity       : 0.9;
}

/* ── Separador de día (VIERNES 11.09) ────────────────────────────────── */

.lpf-cal-day-group { margin-bottom: 6px; }

.lpf-cal-day-label {
    font-size     : 10px;
    font-weight   : 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color         : rgba(255,255,255,0.45);
    margin-bottom : 6px;
    padding-left  : 4px;
}

/* ── Grid de partidos ────────────────────────────────────────────────── */

.lpf-cal-matches-grid {
    display              : grid;
    grid-template-columns: 1fr;
    gap                  : 6px;
}

/* ── Fila de partido ─────────────────────────────────────────────────── */

.lpf-cal-match {
    display      : flex;
    align-items  : center;
    gap          : 8px;
    padding      : 10px 10px;
    background   : rgba(255,255,255,0.05);
    border-radius: 8px;
}

/* ── Equipo ──────────────────────────────────────────────────────────── */

.lpf-cal-team {
    display       : flex;
    flex-direction: column;
    align-items   : center;
    gap           : 4px;
    width         : 52px;
    flex-shrink   : 0;
}

.lpf-cal-logo {
    width        : 36px;
    height       : 36px;
    object-fit   : contain;
    border-radius: 50%;
}

.lpf-cal-logo-ph {
    width           : 36px;
    height          : 36px;
    background      : rgba(255,255,255,0.1);
    border-radius   : 50%;
    display         : flex;
    align-items     : center;
    justify-content : center;
    font-size       : 11px;
    font-weight     : 700;
    color           : #fff;
}

.lpf-cal-abbr {
    font-size    : 10px;
    font-weight  : 700;
    color        : #fff;
    letter-spacing: 0.3px;
    text-align   : center;
}

/* ── Centro ──────────────────────────────────────────────────────────── */

.lpf-cal-center {
    flex          : 1;
    display       : flex;
    flex-direction: column;
    align-items   : center;
    gap           : 5px;
    min-width     : 0;
}

/* Fecha del partido */
.lpf-cal-match-date {
    font-size     : 9px;
    font-weight   : 600;
    letter-spacing: 0.5px;
    color         : rgba(255,255,255,0.4);
    text-transform: uppercase;
}

/* Píldora de hora */
.lpf-cal-time-pill {
    background    : #00C9E4;
    color         : #001820;
    font-size     : 12px;
    font-weight   : 800;
    padding       : 5px 14px;
    border-radius : 20px;
    letter-spacing: 0.2px;
    white-space   : nowrap;
}

/* Score — partido jugado */
.lpf-cal-score {
    display    : flex;
    align-items: center;
    gap        : 8px;
    font-size  : 22px;
    font-weight: 800;
    color      : #00C9E4;
    line-height: 1;
}
.lpf-cal-score-sep  { color: rgba(255,255,255,0.3); font-weight: 300; font-size: 18px; }
.lpf-cal-score-label { font-size: 8px; font-weight: 600; color: rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 0.4px; }

/* Estadio */
.lpf-cal-venue {
    font-size : 9px;
    color     : rgba(255,255,255,0.35);
    text-align: center;
    max-width : 120px;
    line-height: 1.3;
}

/* Botón CTA */
.lpf-cal-cta {
    display        : inline-block;
    background     : var(--lpf-cta-bg, #0055CC);
    color          : var(--lpf-cta-txt, #fff) !important;
    text-decoration: none !important;
    font-size      : 9px;
    font-weight    : 700;
    letter-spacing : 0.4px;
    text-transform : uppercase;
    padding        : 5px 12px;
    border-radius  : 4px;
    white-space    : nowrap;
    transition     : opacity 0.15s;
}
.lpf-cal-cta:hover { opacity: 0.8; }

/* Empty */
.lpf-cal-empty { color: rgba(255,255,255,0.35); text-align: center; padding: 24px; font-size: 13px; }

/* ── DESKTOP: 2 columnas ─────────────────────────────────────────────── */

@media (min-width: 640px) {
    .lpf-cal              { max-width: 860px; padding: 22px 20px; }
    .lpf-cal-matches-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; } /* 3 cols = 2 filas × 3 = 6 partidos */
    .lpf-cal-logo, .lpf-cal-logo-ph { width: 40px; height: 40px; }
    .lpf-cal-time-pill    { font-size: 13px; }
    .lpf-cal-score        { font-size: 24px; }
    .lpf-cal-team         { width: 58px; }
    .lpf-cal-abbr         { font-size: 11px; }
}

/* ── Móvil pequeño ───────────────────────────────────────────────────── */

@media (max-width: 360px) {
    .lpf-cal          { padding: 12px 10px; border-radius: 10px; }
    .lpf-cal-team     { width: 42px; }
    .lpf-cal-logo, .lpf-cal-logo-ph { width: 30px; height: 30px; }
    .lpf-cal-time-pill { font-size: 11px; padding: 4px 10px; }
    .lpf-cal-score    { font-size: 18px; }
}
