/*
Theme Name: Votendi Signal Child
Theme URI:      https://votendi.com/
Description:    Child theme for Foxiz, built for the Votendi election-tracking platform. Contains only Votendi-specific presentation overrides — all election/polling logic lives in the separate votendi-core / Election Pulse plugin, independent of this theme.
Author:         Awais
Template:       foxiz
Version:        1.0.0
Text Domain:    votendi-signal-child
*/

/* Votendi brand design tokens */
:root {
    --votendi-ink: #0B1220;
    --votendi-navy: #102A43;
    --votendi-teal: #0B8F7C;
    --votendi-gold: #F2B84B;
    --votendi-paper: #F7F9FC;
    --votendi-muted: #667085;
    --votendi-border: #D8E0EA;
    --votendi-white: #FFFFFF;
}


/* Market-aware /elections/ cards */
.votendi-election-directory .votendi-directory-stats strong,
.votendi-election-directory .votendi-directory-stats b {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    line-height: 1.2;
}

.votendi-election-directory .votendi-directory-stats strong {
    font-size: 10.5px;
}

.votendi-election-directory .votendi-directory-stats b {
    font-size: 12px;
}

.votendi-election-directory .votendi-directory-source {
    display: block;
    margin-top: 12px;
    color: var(--votendi-muted);
    font-size: 9.5px;
    font-style: italic;
    line-height: 1.35;
}

.votendi-election-directory .themespair-ep-card-description {
    min-height: 68px;
}

@media (max-width: 1100px) {
    .votendi-election-directory .themespair-ep-election-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .votendi-election-directory .themespair-ep-election-grid {
        grid-template-columns: 1fr;
    }

    .votendi-election-directory .themespair-ep-card-description {
        min-height: 0;
    }
}

/* Elections directory card rhythm and typography */
.votendi-election-directory .votendi-directory-card {
    height: 100%;
}

.votendi-election-directory .themespair-ep-election-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.votendi-election-directory .themespair-ep-card-description {
    min-height: 72px;
    line-height: 1.45;
}

.votendi-election-directory .votendi-directory-stats {
    grid-template-columns: 1.35fr .825fr .825fr;
    min-height: 92px;
    align-items: stretch;
    padding-top: 15px;
}

.votendi-election-directory .votendi-directory-stats > div {
    justify-content: flex-start;
    gap: 4px;
}

.votendi-election-directory .votendi-directory-stats > div > span {
    min-height: 24px;
    font-size: 9.5px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: .06em;
}

.votendi-election-directory .themespair-ep-election-card .votendi-directory-stats > div > strong,
.votendi-election-directory .themespair-ep-election-card .votendi-directory-stats > div > b {
    display: block !important;
    margin: 0 !important;
    overflow: visible !important;
    color: var(--votendi-ink) !important;
    font-family: inherit !important;
    font-size: 11.5px !important;
    font-weight: 750 !important;
    font-style: normal !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: normal !important;
    text-overflow: clip !important;
}

.votendi-election-directory .votendi-directory-source {
    min-height: 38px;
    margin-top: 13px;
    padding-top: 10px;
    border-top: 1px solid var(--votendi-border);
    color: var(--votendi-muted);
    font-size: 9.5px;
    font-style: italic;
    line-height: 1.35;
}

.votendi-election-directory .themespair-ep-election-card-footer {
    margin-top: auto;
}

.votendi-election-directory .themespair-ep-election-card-footer a {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
}

@media (max-width: 1100px) and (min-width: 701px) {
    .votendi-election-directory .themespair-ep-card-description {
        min-height: 58px;
    }

    .votendi-election-directory .votendi-directory-stats {
        min-height: 84px;
    }
}

@media (max-width: 700px) {
    .votendi-election-directory .votendi-directory-stats {
        grid-template-columns: 1.35fr .825fr .825fr;
        min-height: 0;
    }

    .votendi-election-directory .votendi-directory-source {
        min-height: 0;
    }
}

/* Votendi QA 2026-10-08: accessible social and mobile menu tap targets. */
.header-social-list a.social-link-facebook,
.header-social-list a.social-link-twitter,
.footer-social-list a.social-link-facebook,
.footer-social-list a.social-link-twitter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    box-sizing: border-box;
}
@media (max-width: 1024px) {
    .mobile-toggle-wrap > a.mobile-menu-trigger {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
        box-sizing: border-box;
    }
}
