/*
Theme Name: RapMais Foxiz Child
Theme URI: https://portalrapmais.com/
Description: Child theme do RapMais para Foxiz 2.7.9+, preservando datetime, Live Blog e otimizações de performance sem editar o tema pai.
Author: RapMais
Template: foxiz
Version: 1.1.0
Text Domain: rapmais-foxiz-child
*/

/* RapMais datetime */
.meta-datetime { gap: 0; }

/* RapMais Live Blogging enhancements — rm16. Loaded after the theme stylesheet to avoid stale/child-theme overrides. */
/* RapMais Live Blogging enhancements — rm16 */
.rapmais-live-module {
    --rm-live-red: var(--live-color, #e6442e);
    position: relative;
    margin-bottom: 35px;
}

.rapmais-live-module-head {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    margin-bottom: 20px;
}

.rapmais-live-topbar {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 11px 14px;
    border-radius: var(--round-7, 7px);
    color: #fff;
    background: var(--rm-live-red, var(--live-color, #e6442e));
    font-size: .92rem;
    line-height: 1.25;
    letter-spacing: .01em;
}

.rapmais-live-topbar.is-archive {
    background: #34383d;
}

.rapmais-live-topbar .live-datetime-dot {
    flex: 0 0 auto;
    width: .7em;
    height: .7em;
    margin: 0;
    background: #fff;
}

.rapmais-live-topbar .live-datetime-dot:after {
    border-color: #fff;
    animation: rapmais-live-pulse 1.7s ease-out infinite;
}

@keyframes rapmais-live-pulse {
    0% { transform: scale(.75); opacity: .75; }
    70%, 100% { transform: scale(1.55); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .rapmais-live-topbar .live-datetime-dot:after { animation: none; }
}

.rapmais-live-countline {
    padding: 0 2px;
    color: var(--meta-color, inherit);
}

.rapmais-live-summary,
.rapmais-live-key-events {
    margin: 0 0 25px;
    padding: 18px 20px;
    border: 1px solid var(--flex-gray-15);
    border-left: 4px solid var(--rm-live-red, var(--live-color, #e6442e));
    border-radius: var(--round-7, 7px);
    background: var(--body-bg, transparent);
}

.rapmais-live-summary h3,
.rapmais-live-key-events-head {
    margin: 0 0 12px;
    font-size: 1.05rem;
    font-weight: 800;
}

.rapmais-live-summary ul,
.rapmais-live-key-events ul {
    margin: 0;
    padding-left: 20px;
}

.rapmais-live-summary li + li {
    margin-top: 7px;
}

.rapmais-live-key-events ul {
    padding: 0;
    list-style: none;
}

.rapmais-live-key-events li + li {
    border-top: 1px solid var(--flex-gray-15);
}

.rapmais-live-key-events a {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 10px;
    padding: 9px 0;
    color: inherit;
    text-decoration: none;
}

.rapmais-live-key-events time {
    color: var(--rm-live-red, var(--live-color, #e6442e));
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.rapmais-live-pinned {
    margin-bottom: 30px;
}

.rapmais-live-pinned-label {
    display: inline-flex;
    margin: 0 0 10px 2px;
    padding: 4px 8px;
    border-radius: 999px;
    color: var(--rm-live-red, var(--live-color, #e6442e));
    background: color-mix(in srgb, var(--rm-live-red, #e6442e) 10%, transparent);
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.rapmais-classic-live-item.is-highlight .live-card {
    border-left: 4px solid var(--rm-live-red, var(--live-color, #e6442e));
}

.rapmais-classic-live-item.is-pinned .live-card {
    box-shadow: 0 7px 28px var(--shadow-7);
}

.rapmais-live-card-actions {
    display: flex;
    justify-content: flex-start;
    margin-top: 18px;
    padding-top: 12px;
    border-top: 1px solid var(--flex-gray-15);
}

.rapmais-live-share,
.rapmais-live-load-more {
    appearance: none;
    border: 0;
    padding: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    font-size: .88rem;
    font-weight: 700;
    cursor: pointer;
}

.rapmais-live-share:hover,
.rapmais-live-load-more:hover {
    color: var(--rm-live-red, var(--live-color, #e6442e));
}

.rapmais-live-load-more-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 8px 0 0;
    padding: 16px;
    border-top: 1px solid var(--flex-gray-15);
}

.rapmais-live-load-more {
    padding: 10px 15px;
    border: 1px solid var(--flex-gray-20, var(--flex-gray-15));
    border-radius: 999px;
}

.rapmais-live-load-more-status {
    font-size: .8rem;
    opacity: .7;
}

.rapmais-live-jump {
    position: fixed;
    z-index: 9990;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    min-height: 40px;
    padding: 9px 16px;
    border: 1px solid var(--flex-gray-20, #ddd);
    border-radius: 999px;
    box-shadow: 0 6px 24px rgba(0,0,0,.16);
    color: var(--body-color, #111);
    background: var(--body-bg, #fff);
    font-size: 13px;
    line-height: 1.2;
    font-weight: 800;
    cursor: pointer;
}

.rapmais-live-jump.has-new {
    border-color: var(--rm-live-red, var(--live-color, #e6442e));
    color: #fff;
    background: var(--rm-live-red, var(--live-color, #e6442e));
}

.rapmais-live-jump[hidden] {
    display: none !important;
}

.rapmais-classic-live-item.is-newly-loaded .live-card {
    animation: rapmais-live-new-card 4.5s ease-out;
}

@keyframes rapmais-live-new-card {
    0% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--rm-live-red, #e6442e) 35%, transparent), 0 4px 20px var(--shadow-7); }
    100% { box-shadow: 0 4px 20px var(--shadow-7); }
}

[data-theme='dark'] .rapmais-live-topbar.is-archive {
    background: #20242a;
}

@media (max-width: 767px) {
    .rapmais-live-topbar {
        padding: 10px 12px;
        font-size: .84rem;
    }

    .rapmais-live-summary,
    .rapmais-live-key-events {
        padding: 15px 16px;
    }

    .rapmais-live-jump {
        bottom: 16px;
        max-width: calc(100vw - 28px);
        white-space: nowrap;
    }
}


/* rm16 — verified Live card rhythm, responsive typography and loop pulse. */
/* Use margin-top on the NEXT update. It cannot collapse into the previous card
 * and therefore always creates visible space between Compartilhar and the next date. */
.rapmais-live-timeline > .rapmais-classic-live-item {
    margin-bottom: 0 !important;
}

.rapmais-live-timeline > .rapmais-classic-live-item + .rapmais-classic-live-item {
    margin-top: var(--rm-live-item-gap-d, 42px) !important;
}

/* Card padding is controlled here as well as in Foxiz's block variables. This
 * keeps the per-post control working even if the Core block-style helper is not loaded. */
.rapmais-live-module .rapmais-classic-live-item .live-card {
    padding: var(--rm-live-card-padding-d, 30px) !important;
}

.rapmais-live-module.rm-live-title-size-d .rapmais-classic-live-item .live-card > .wp-block-heading {
    font-size: var(--rm-live-title-size-d) !important;
}

.rapmais-live-module.rm-live-title-line-d .rapmais-classic-live-item .live-card > .wp-block-heading {
    line-height: var(--rm-live-title-line-d) !important;
}

.rapmais-live-module.rm-live-body-size-d .rapmais-classic-live-item .live-card,
.rapmais-live-module.rm-live-body-size-d .rapmais-classic-live-item .live-card > p,
.rapmais-live-module.rm-live-body-size-d .rapmais-classic-live-item .live-card li {
    font-size: var(--rm-live-body-size-d) !important;
}

.rapmais-live-module.rm-live-body-line-d .rapmais-classic-live-item .live-card,
.rapmais-live-module.rm-live-body-line-d .rapmais-classic-live-item .live-card > p,
.rapmais-live-module.rm-live-body-line-d .rapmais-classic-live-item .live-card li {
    line-height: var(--rm-live-body-line-d) !important;
}

.rapmais-live-module.rm-live-title-gap-d .rapmais-classic-live-item .live-card > .wp-block-heading {
    margin-bottom: var(--rm-live-title-gap-d) !important;
}

/* .live-tag itself is only emitted by Foxiz when ruby_live_blog=yes. Targeting
 * it directly covers every Foxiz loop: home, category, tag, search and blocks. */
.live-tag {
    transform-origin: left center;
    animation: rapmais-live-card-label-pulse 1.55s ease-in-out infinite !important;
    will-change: opacity, transform;
}

@keyframes rapmais-live-card-label-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .52; transform: scale(.975); }
}

@media (max-width: 767px) {
    .rapmais-live-timeline > .rapmais-classic-live-item + .rapmais-classic-live-item {
        margin-top: var(--rm-live-item-gap-m, 34px) !important;
    }

    .rapmais-live-module .rapmais-classic-live-item .live-card {
        padding: var(--rm-live-card-padding-m, 20px) !important;
    }

    .rapmais-live-module.rm-live-title-size-m .rapmais-classic-live-item .live-card > .wp-block-heading {
        font-size: var(--rm-live-title-size-m) !important;
    }

    .rapmais-live-module.rm-live-title-line-m .rapmais-classic-live-item .live-card > .wp-block-heading {
        line-height: var(--rm-live-title-line-m) !important;
    }

    .rapmais-live-module.rm-live-body-size-m .rapmais-classic-live-item .live-card,
    .rapmais-live-module.rm-live-body-size-m .rapmais-classic-live-item .live-card > p,
    .rapmais-live-module.rm-live-body-size-m .rapmais-classic-live-item .live-card li {
        font-size: var(--rm-live-body-size-m) !important;
    }

    .rapmais-live-module.rm-live-body-line-m .rapmais-classic-live-item .live-card,
    .rapmais-live-module.rm-live-body-line-m .rapmais-classic-live-item .live-card > p,
    .rapmais-live-module.rm-live-body-line-m .rapmais-classic-live-item .live-card li {
        line-height: var(--rm-live-body-line-m) !important;
    }

    .rapmais-live-module.rm-live-title-gap-m .rapmais-classic-live-item .live-card > .wp-block-heading {
        margin-bottom: var(--rm-live-title-gap-m) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .live-tag { animation: none !important; }
}
