/* Colégio Bom Pastor — Frontend v3.9 */
.cbp-calendario {
    max-width: var(--cbp-max-width, 720px);
    margin: 0 auto;
    padding: 0 4px;
    font-size: var(--cbp-font-size, 15px);
    font-family: inherit;
    line-height: 1.6;
    color: var(--cbp-text, #1a1a1a);
}

/* ---- Banner ---- */
.cbp-calendario .cbp-banner {
    background: var(--cbp-ban-bg, #f3f4f6);
    border: 0.5px solid var(--cbp-border, #e4e0db);
    border-left: 3px solid var(--cbp-ban-lborder, #7a1f1f);
    border-radius: var(--cbp-ban-radius, 8px) !important;
    padding: var(--cbp-ban-padding, 22px);
    margin-bottom: 28px;
}
.cbp-calendario .cbp-banner-eyebrow { font-size:var(--cbp-f-eyebrow,10px) !important; letter-spacing:.1em; text-transform:uppercase; color:var(--cbp-eyebrow-cor,#777) !important; margin-bottom:12px; font-family:inherit !important; font-weight:var(--cbp-fw-eyebrow,400) !important; }
.cbp-calendario .cbp-banner-inner { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.cbp-calendario .cbp-banner-datebox { display:flex; flex-direction:column; align-items:center; padding-right:18px; border-right:0.5px solid var(--cbp-border,#e4e0db); min-width:44px; text-align:center; flex-shrink:0; }
.cbp-calendario .cbp-banner-dia { font-size:28px !important; font-weight:600 !important; color:var(--cbp-primary,#7a1f1f) !important; line-height:1; display:block; font-family:inherit !important; }
.cbp-calendario .cbp-banner-mes { font-size:10px !important; color:var(--cbp-muted,#777) !important; text-transform:uppercase; letter-spacing:.07em; margin-top:2px; display:block; font-family:inherit !important; }
.cbp-calendario .cbp-banner-info { flex:1; min-width:160px; }
.cbp-calendario .cbp-banner-titulo { font-size:var(--cbp-f-ban-titulo,19px) !important; font-weight:var(--cbp-fw-ban-titulo,700) !important; color:var(--cbp-ban-titulo-cor,#1a1a1a) !important; margin:0 0 5px !important; font-family:inherit !important; line-height:1.3 !important; }
.cbp-calendario .cbp-banner-sub { font-size:var(--cbp-f-ban-sub,13px) !important; font-weight:var(--cbp-fw-ban-sub,400) !important; color:var(--cbp-ban-sub-cor,#777) !important; margin:0 !important; font-family:inherit !important; }
.cbp-calendario .cbp-banner-vagas { display:inline-block; font-size:var(--cbp-vagas-size,14px) !important; background:var(--cbp-vagas-bg,#dcfce7); color:var(--cbp-vagas-txt,#166534) !important; border:1px solid var(--cbp-vagas-borda,transparent); padding:2px 10px; border-radius:20px; margin-left:8px; font-weight:var(--cbp-fw-vagas,500) !important; vertical-align:middle; }
.cbp-calendario .cbp-banner-acao { flex-shrink:0; }

/* ---- Cronômetro flip ---- */
.cbp-calendario .cbp-cron-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    flex-wrap: wrap;
}
.cbp-calendario .cbp-cron-prefixo,
.cbp-calendario .cbp-cron-sufixo {
    font-size: var(--cbp-f-cron-prefixo,13px) !important;
    font-weight: var(--cbp-fw-cron-prefixo,400) !important;
    color: var(--cbp-cron-prefixo-cor,#555) !important;
    font-family: inherit !important;
    white-space: nowrap;
}
.cbp-calendario .cbp-cron {
    display: flex;
    align-items: center;
    gap: 6px;
}
.cbp-calendario .cbp-cron-bloco {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
/* Flip card effect */
.cbp-calendario .cbp-flip {
    background: var(--cbp-cron-bg, #2c2c2c);
    border-radius: var(--cbp-cron-radius, 8px);
    padding: 8px 14px;
    min-width: 54px;
    text-align: center;
    position: relative;
    box-shadow: 0 2px 0 rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.08);
    border-bottom: 2px solid rgba(0,0,0,.25);
}
/* Linha horizontal no meio simulando o flip */
.cbp-calendario .cbp-flip::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    top: 50%;
    height: 1px;
    background: rgba(0,0,0,.35);
    pointer-events: none;
}
.cbp-calendario .cbp-cron-num {
    font-size: 26px !important;
    font-weight: var(--cbp-fw-cron-num,700) !important;
    line-height: 1;
    display: block;
    font-family: inherit !important;
    color: var(--cbp-cron-txt, #fff) !important;
    letter-spacing: .05em;
}
.cbp-calendario .cbp-cron-lbl {
    font-size: var(--cbp-f-cron-lbl,9px) !important;
    font-weight: var(--cbp-fw-cron-lbl,400) !important;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--cbp-cron-lbl-cor,#777) !important;
    font-family: inherit !important;
}
.cbp-calendario .cbp-cron-sep {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--cbp-muted, #777) !important;
    line-height: 1;
    margin-bottom: 18px;
    font-family: inherit !important;
}
/* Animação de flip */
@keyframes cbp-flip-in {
    0%   { opacity:0; transform: translateY(-4px); }
    100% { opacity:1; transform: translateY(0); }
}
.cbp-flip-anim {
    animation: cbp-flip-in .15s ease-out;
}

/* ---- Filtros ---- */
.cbp-calendario .cbp-filtros { display:flex; gap:20px; flex-wrap:wrap; padding-bottom:8px; border-bottom:0.5px solid var(--cbp-border,#e4e0db); margin-bottom:20px; }
.cbp-calendario .cbp-filtros a.cbp-filtro,
.cbp-calendario .cbp-filtro { font-size:13px !important; color:var(--cbp-muted,#777) !important; text-decoration:none !important; padding-bottom:3px; border-bottom:1.5px solid transparent; transition:color .15s,border-color .15s; font-family:inherit !important; background:none !important; box-shadow:none !important; border-left:none !important; border-right:none !important; border-top:none !important; }
.cbp-calendario .cbp-filtros a.cbp-filtro:hover,
.cbp-calendario .cbp-filtro:hover { color:var(--cbp-text,#1a1a1a) !important; text-decoration:none !important; }
.cbp-calendario .cbp-filtros a.cbp-filtro-ativo,
.cbp-calendario .cbp-filtro-ativo { color:var(--cbp-text,#1a1a1a) !important; border-bottom-color:var(--cbp-primary,#7a1f1f) !important; font-weight:500 !important; }

/* ---- Mês ---- */
.cbp-calendario .cbp-mes-grupo { margin-bottom:0; }
.cbp-calendario .cbp-mes-titulo,
.cbp-calendario h3.cbp-mes-titulo {
    font-size:10px !important; font-weight:500 !important; letter-spacing:.1em !important;
    text-transform:uppercase !important; color:var(--cbp-cor-mes,#777) !important;
    font-weight:var(--cbp-fw-mes,700) !important;
    margin:20px 0 4px !important; padding-bottom:5px !important;
    border-bottom:0.5px solid var(--cbp-border,#e4e0db) !important;
    font-family:inherit !important; background:none !important;
    border-top:none !important; border-left:none !important; border-right:none !important;
}

/* ---- Item ---- */
.cbp-calendario .cbp-evento-item { display:flex; align-items:center; gap:0; padding:var(--cbp-spacing,10px) 0; border-bottom:0.5px solid var(--cbp-border,#e4e0db); }
.cbp-calendario .cbp-evento-item:last-child { border-bottom:none; }
.cbp-calendario .cbp-passado { opacity:.4; }
.cbp-calendario .cbp-cancelado .cbp-evento-titulo { text-decoration:line-through !important; opacity:.6; }

/* Coluna dia */
.cbp-calendario .cbp-evento-data { min-width:34px; text-align:center; flex-shrink:0; }
.cbp-calendario .cbp-dia { font-size:var(--cbp-f-dia,17px) !important; font-weight:var(--cbp-fw-dia,700) !important; color:var(--cbp-cor-dia,#7a1f1f) !important; line-height:1; display:block; font-family:inherit !important; }
.cbp-calendario .cbp-hora { display:none !important; }

/* Coluna hora */
.cbp-calendario .cbp-evento-hora { min-width:46px; flex-shrink:0; font-size:var(--cbp-f-meta,12px) !important; color:var(--cbp-cor-meta,#777) !important; font-family:inherit !important; padding-left:4px; }

/* Coluna título */
.cbp-calendario .cbp-evento-body { flex:1; min-width:0; padding:0 10px; }
.cbp-calendario .cbp-evento-titulo,
.cbp-calendario h4.cbp-evento-titulo { font-size:var(--cbp-f-titulo,14px) !important; font-weight:var(--cbp-fw-titulo,700) !important; color:var(--cbp-cor-titulo,#1a1a1a) !important; margin:0 !important; line-height:1.3 !important; font-family:inherit !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cbp-calendario .cbp-riscado { text-decoration:line-through !important; opacity:.6; }
.cbp-calendario .cbp-evento-meta { display:none; }

/* Coluna ver detalhes */
.cbp-calendario .cbp-evento-det { min-width:80px; flex-shrink:0; text-align:center; }
.cbp-calendario .cbp-evento-det a.cbp-lista-link-detalhes,
.cbp-calendario .cbp-lista-link-detalhes { font-size:var(--cbp-det-fonte,12px) !important; color:var(--cbp-muted,#777) !important; text-decoration:underline !important; text-underline-offset:2px; font-family:inherit !important; white-space:nowrap; background:none !important; box-shadow:none !important; }
.cbp-calendario .cbp-evento-det a.cbp-lista-link-detalhes:hover,
.cbp-calendario .cbp-lista-link-detalhes:hover { color:var(--cbp-primary,#7a1f1f) !important; text-decoration:underline !important; }

/* Coluna tipo */
.cbp-calendario .cbp-evento-tipo { min-width:80px; flex-shrink:0; text-align:right; }
.cbp-calendario .cbp-badge-tipo { display:inline-block; font-size:10px !important; padding:2px 8px; border-radius:10px; white-space:nowrap; font-family:inherit !important; text-align:center; }
.cbp-calendario .cbp-tipo-ingresso { background:#fef2f2; color:#991b1b; }
.cbp-calendario .cbp-tipo-livre { background:#f0fdf4; color:#166534; }
.cbp-calendario .cbp-tipo-interno { background:#f1f5f9; color:#475569; }
.cbp-calendario .cbp-badge-ingresso { display:inline-block; font-size:10px !important; padding:1px 7px; border-radius:20px; background:var(--cbp-badge-bg,#fef2f2) !important; color:var(--cbp-badge-txt,#991b1b) !important; font-weight:var(--cbp-fw-badge,700) !important; font-family:inherit !important; }

/* Alertas */
.cbp-calendario .cbp-alerta { font-size:11px !important; font-weight:500 !important; padding:3px 8px; border-radius:4px; margin-bottom:4px; display:inline-block; font-family:inherit !important; }
.cbp-calendario .cbp-alerta-data_alterada,
.cbp-calendario .cbp-alerta-hora_alterada,
.cbp-calendario .cbp-alerta-local_alterado { background:#fff7ed; color:#c2410c !important; }
.cbp-calendario .cbp-alerta-cancelado { background:#fef2f2; color:#b91c1c !important; }
.cbp-calendario .cbp-alerta-banner { display:block; margin-bottom:10px; }

/* ---- Botões ---- */
.cbp-calendario .cbp-btn-ingresso {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 18px;
    border-radius: var(--cbp-btn-radius, 6px) !important;
    font-size: 13px !important; font-weight: 500 !important;
    text-decoration: none !important;
    background: var(--cbp-btn-comprar-bg, #166534);
    color: var(--cbp-btn-comprar-txt, #fff) !important;
    border: none; transition: opacity .15s; margin-top: 5px;
    font-family: inherit !important;
}
.cbp-calendario .cbp-btn-ingresso:hover { opacity:.85; text-decoration:none !important; }
.cbp-calendario .cbp-btn-banner { padding:10px 22px; font-size:14px !important; }
.cbp-calendario .cbp-vagas-badge { background:rgba(255,255,255,.25); padding:1px 8px; border-radius:20px; font-size:11px !important; font-weight:600 !important; }

.cbp-calendario .cbp-em-breve {
    display: inline-block;
    font-size: 12px !important; font-weight: 500 !important;
    color: var(--cbp-btn-breve-txt, #777777) !important;
    border: 1px solid var(--cbp-btn-breve-b, #cccccc);
    background: var(--cbp-btn-breve-bg, transparent);
    border-radius: var(--cbp-btn-radius, 6px) !important;
    padding: 6px 16px; font-family: inherit !important; cursor: default; margin-top: 5px;
}
.cbp-calendario .cbp-em-breve-banner { font-size:14px !important; padding:10px 22px !important; min-width:140px !important; width:100% !important; text-align:center !important; display:block !important; box-sizing:border-box !important; }

.cbp-calendario .cbp-btn-detalhes { display:inline-block; padding:7px 16px; border-radius:var(--cbp-btn-radius,6px) !important; font-size:13px !important; font-weight:500 !important; text-decoration:none !important; background:var(--cbp-btn-det-bg,transparent); color:var(--cbp-btn-det-txt,#7a1f1f) !important; border:1px solid var(--cbp-btn-det-b,#7a1f1f); margin-top:5px; font-family:inherit !important; }
.cbp-calendario .cbp-btn-detalhes:hover { background:#fdf5f5; }

/* Botão adicionar ao calendário */
.cbp-calendario .cbp-add-cal,
.cbp-calendario .cbp-add-cal-wrap { margin-top: 6px; }
.cbp-calendario .cbp-add-cal { display: flex; flex-wrap: wrap; gap: 6px; }
.cbp-calendario .cbp-cal-link {
    display: inline-block;
    font-size: 11px !important;
    color: var(--cbp-muted, #777) !important;
    border: 0.5px solid var(--cbp-border, #e4e0db);
    border-radius: var(--cbp-btn-radius, 6px);
    padding: 4px 10px;
    text-decoration: none !important;
    transition: border-color .15s, color .15s;
    font-family: inherit !important;
}
.cbp-calendario .cbp-cal-link:hover { border-color: var(--cbp-primary, #7a1f1f); color: var(--cbp-primary, #7a1f1f) !important; }

/* ---- Tela pós-pagamento ---- */
.cbp-confirmacao { max-width:460px; margin:32px auto; text-align:center; padding:0 16px; }
.cbp-confirmacao-header { margin-bottom:22px; }
.cbp-confirmacao-icon-ok { width:50px;height:50px;border-radius:50%;background:#dcfce7;color:#16a34a;font-size:22px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px; }
.cbp-confirmacao-header h2 { font-size:19px;font-weight:600;margin-bottom:5px; }
.cbp-confirmacao-header p  { font-size:13px;color:var(--cbp-muted,#777); }
.cbp-ingresso-card { background:#fff;border:0.5px solid var(--cbp-border,#e4e0db);border-radius:var(--cbp-radius,6px);padding:20px;display:flex;gap:16px;align-items:center;text-align:left;margin-bottom:16px;flex-wrap:wrap; }
.cbp-ingresso-info { flex:1;min-width:150px; }
.cbp-ingresso-info h3 { font-size:15px;font-weight:600;margin:0 0 5px; }
.cbp-ingresso-data  { font-size:13px;color:var(--cbp-primary,#7a1f1f);font-weight:500;margin:3px 0; }
.cbp-ingresso-local,.cbp-ingresso-titular { font-size:12px;color:var(--cbp-muted,#777);margin:3px 0; }
.cbp-ingresso-numero { font-size:11px;color:var(--cbp-muted,#777);font-family:monospace; }
.cbp-qr-wrap { flex-shrink:0; }
.cbp-qr-img  { width:96px;height:96px;display:block; }
.cbp-btn-pdf { display:inline-block;background:var(--cbp-primary,#7a1f1f);color:#fff !important;padding:11px 24px;border-radius:var(--cbp-btn-radius,6px);font-size:13px;font-weight:500;text-decoration:none !important;margin-bottom:14px;transition:opacity .15s; }
.cbp-btn-pdf:hover { opacity:.85; }
.cbp-email-aviso { font-size:12px;color:var(--cbp-muted,#777); }
.cbp-confirmacao-pendente { background:#fffbeb;border:0.5px solid #fcd34d;border-radius:var(--cbp-radius,6px);padding:26px;max-width:460px;margin:32px auto;text-align:center; }
.cbp-confirmacao-pendente h2 { font-size:16px;color:#92400e;font-weight:600;margin-bottom:8px; }
.cbp-confirmacao-pendente p  { font-size:13px;color:#92400e; }
.cbp-confirmacao-icon { font-size:30px;margin-bottom:10px; }

/* ---- Mobile ---- */
@media(max-width:560px){
    .cbp-calendario .cbp-banner-inner { flex-direction:column; gap:12px; }
    .cbp-calendario .cbp-banner-datebox { flex-direction:row; gap:8px; border-right:none; border-bottom:0.5px solid var(--cbp-border,#e4e0db); padding:0 0 10px; width:100%; align-items:baseline; }
    .cbp-calendario .cbp-banner-acao { width:100%; }
    .cbp-calendario .cbp-btn-banner { width:100%; text-align:center; display:block !important; }
    .cbp-calendario .cbp-filtros { gap:14px; }
    .cbp-calendario .cbp-cron-wrap { gap:8px; }
    .cbp-calendario .cbp-cron { gap:4px; }
    .cbp-calendario .cbp-flip { padding:6px 10px; min-width:42px; }
    .cbp-calendario .cbp-cron-num { font-size:20px !important; }
    .cbp-calendario .cbp-cron-sep { font-size:16px !important; margin-bottom:14px; }

    /* Lista mobile — duas linhas por evento */
    .cbp-calendario .cbp-evento-item {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 0;
        padding: 8px 0;
    }
    /* Linha 1: dia + título — ocupa tudo */
    .cbp-calendario .cbp-evento-data {
        flex-shrink: 0;
        min-width: 30px;
        padding-top: 1px;
    }
    .cbp-calendario .cbp-evento-hora {
        display: none !important;
    }
    .cbp-calendario .cbp-evento-body {
        flex: 1;
        min-width: 0;
        padding: 0 8px 0 8px;
    }
    .cbp-calendario .cbp-evento-titulo,
    .cbp-calendario h4.cbp-evento-titulo {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
        font-size: var(--cbp-f-titulo,14px) !important;
    }
    /* Ocultar colunas desktop na linha 1 */
    .cbp-calendario .cbp-evento-det { display: none !important; }
    .cbp-calendario .cbp-evento-tipo { display: none !important; }

    /* Linha 2: sublinha alinhada com as colunas do desktop */
    .cbp-calendario .cbp-evento-sublinha {
        display: flex !important;
        width: 100%;
        align-items: center;
        margin-top: 4px;
        flex-wrap: nowrap;
    }
    /* Espaço do dia — igual ao desktop (30px) */
    .cbp-calendario .cbp-evento-sublinha .cbp-sub-espacador {
        min-width: 30px;
        flex-shrink: 0;
    }
    /* Hora — igual ao desktop (46px) */
    .cbp-calendario .cbp-evento-sublinha .cbp-sub-hora {
        min-width: 46px;
        flex-shrink: 0;
        font-size: var(--cbp-f-meta,12px) !important;
        color: var(--cbp-cor-meta,#777) !important;
        font-family: inherit !important;
        padding-left: 4px;
    }
    /* Título — espaço vazio equivalente (flex:1) — usado quando não há Ver detalhes */
    .cbp-calendario .cbp-evento-sublinha .cbp-sub-titulo-esp {
        flex: 1;
        min-width: 0;
    }
    /* Ver detalhes — igual ao desktop (80px) */
    .cbp-calendario .cbp-evento-sublinha .cbp-lista-link-detalhes {
        flex: 1;
        text-align: center;
        font-size: var(--cbp-det-fonte,12px) !important;
        color: var(--cbp-muted,#777) !important;
        text-decoration: underline !important;
        font-family: inherit !important;
    }
    /* Tipo — alinhado à direita, texto centralizado dentro do badge */
    .cbp-calendario .cbp-evento-sublinha .cbp-badge-tipo {
        flex-shrink: 0;
        min-width: 72px;
        text-align: center;
        font-size: 10px !important;
        margin-left: var(--cbp-sublinha-gap, 8px);
    }
}
    .cbp-ingresso-card { flex-direction:column; align-items:center; text-align:center; }
    .cbp-qr-img { width:120px;height:120px; }
    .cbp-btn-pdf { width:100%;text-align:center; }
}

/* Botões do banner lado a lado */
.cbp-calendario .cbp-banner-acao {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    flex-shrink: 0;
}
.cbp-calendario .cbp-btn-detalhes-banner {
    padding: 10px 22px !important;
    font-size: 14px !important;
    min-width: 140px !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
    box-sizing: border-box !important;
}
/* Btn ingresso com novas variáveis */
.cbp-calendario .cbp-btn-ingresso {
    background: var(--cbp-btn-comprar-bg, #166534) !important;
    color: var(--cbp-btn-comprar-txt, #fff) !important;
    border: 1px solid var(--cbp-btn-comprar-b, #166534) !important;
}
/* Btn em breve com novas variáveis */
.cbp-calendario .cbp-em-breve {
    background: var(--cbp-btn-breve-bg, transparent) !important;
    color: var(--cbp-btn-breve-txt, #777) !important;
    border: 1px solid var(--cbp-btn-breve-b, #ccc) !important;
}

/* Mes titulo com tamanho configurável */
.cbp-calendario .cbp-mes-titulo,
.cbp-calendario h3.cbp-mes-titulo {
    font-size: var(--cbp-f-mes, 10px) !important;
}

/* Link discreto de detalhes na lista */
.cbp-calendario .cbp-lista-link-detalhes {
    display: var(--cbp-det-display, block) !important;
    font-size: var(--cbp-det-fonte, 12px) !important;
    color: var(--cbp-muted, #777) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    margin-top: var(--cbp-det-margem, 4px);
    margin-left: 0;
    font-family: inherit !important;
    transition: color .15s;
    vertical-align: middle;
}
.cbp-calendario .cbp-lista-link-detalhes:hover {
    color: var(--cbp-primary, #7a1f1f) !important;
}
/* Botão baixar PDF da lista */
.cbp-pdf-download-wrap { text-align:center; margin-top:24px; padding-top:16px; border-top:0.5px solid var(--cbp-border,#e4e0db); }
.cbp-btn-pdf-lista { display:inline-block; background:var(--cbp-primary,#7a1f1f); color:#fff !important; padding:10px 28px; border-radius:var(--cbp-btn-radius,6px); font-size:13px; font-weight:500; text-decoration:none !important; transition:opacity .15s; font-family:inherit !important; }
.cbp-btn-pdf-lista:hover { opacity:.85; text-decoration:none !important; }

/* Shortcode banner standalone */
.cbp-banner-standalone { max-width:var(--cbp-max-width,720px); margin:0 auto; }

/* ---- Estilo: Linha do tempo ---- */
.cbp-lista-timeline .cbp-evento-item { position:relative; padding-left:0; border-bottom:none; padding:0 0 14px; }
.cbp-lista-timeline .cbp-evento-item::before { content:''; position:absolute; left:27px; top:28px; bottom:0; width:1px; background:var(--cbp-border,#e4e0db); }
.cbp-lista-timeline .cbp-evento-item:last-child::before { display:none; }
.cbp-lista-timeline .cbp-evento-data { display:flex; flex-direction:column; align-items:center; min-width:54px; }
.cbp-lista-timeline .cbp-dia { font-size:var(--cbp-f-dia,17px) !important; }
.cbp-lista-timeline .cbp-evento-data::after { content:attr(data-mes); font-size:8px; font-weight:600; color:#aaa; text-transform:uppercase; letter-spacing:.06em; margin-top:1px; }
.cbp-lista-timeline .cbp-mes-titulo { margin-bottom:8px; }

/* ---- Estilo: Cards coloridos ---- */
.cbp-lista-cards .cbp-mes-grupo { margin-bottom:8px; }
.cbp-lista-cards .cbp-evento-item { background:var(--cbp-border,#f3f4f6); border-radius:var(--cbp-radius,6px); border-bottom:none; margin-bottom:6px; padding:0; overflow:hidden; gap:0; }
.cbp-lista-cards .cbp-evento-data { background:var(--cbp-primary,#7a1f1f); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:50px; padding:10px 8px; }
.cbp-lista-cards .cbp-dia { color:#fff !important; font-size:var(--cbp-f-dia,17px) !important; }
.cbp-lista-cards .cbp-evento-body { padding:10px 14px; flex:1; }
.cbp-lista-cards .cbp-passado .cbp-evento-data { background:#aaa; }
