.interrupcao-energia {
    padding-bottom: 70px;
}

.interrupcao-energia__header {
    align-items: flex-start;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 28px;
}

.interrupcao-energia__lead {
    color: var(--cz-dark);
    font-size: var(--body-lg);
    line-height: 1.55;
    margin-top: 12px;
    max-width: 780px;
}

.interrupcao-energia__status {
    background: var(--bg-block);
    border-left: 5px solid var(--verde-primario);
    border-radius: 8px;
    color: var(--tx-azul);
    display: grid;
    gap: 6px;
    padding: 18px 22px;
}

.interrupcao-energia__status-label,
.interrupcao-energia__status span:last-child {
    color: var(--cz-dark);
    font-size: var(--body-sm);
}

.interrupcao-energia__status strong {
    font-size: var(--body-xl);
}

.interrupcao-energia__alerta {
    background: #fff7e8;
    border: 1px solid #f6b64a;
    border-radius: 8px;
    color: #6b3d00;
    font-size: var(--body-md);
    line-height: 1.45;
    margin-bottom: 22px;
    padding: 16px 18px;
}

.interrupcao-energia__resumo {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-bottom: 28px;
}

.interrupcao-energia__card {
    background: var(--bg-card);
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    box-shadow: 0 3px 12px var(--bg-shadow);
    min-height: 118px;
    padding: 22px;
}

.interrupcao-energia__card span {
    color: var(--cz-dark);
    display: block;
    font-size: var(--body-sm);
    font-weight: 600;
    margin-bottom: 12px;
}

.interrupcao-energia__card strong {
    color: var(--tx-azul);
    display: block;
    font-size: 34px;
    line-height: 1;
}

.interrupcao-energia__card--programada {
    border-top: 5px solid #f5a623;
}

.interrupcao-energia__card--nao-programada {
    border-top: 5px solid #d93636;
}

.interrupcao-energia__card--total {
    border-top: 5px solid var(--azul-primario);
}

.interrupcao-energia__grid {
    align-items: flex-start;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 34px;
}

.interrupcao-energia__mapa-wrap,
.interrupcao-energia__painel,
.interrupcao-energia__tabela-wrap {
    background: var(--bg-card);
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    box-shadow: 0 3px 12px var(--bg-shadow);
}

.interrupcao-energia__mapa-wrap {
    align-self: flex-start;
    overflow: hidden;
}

.interrupcao-energia__mapa {
    height: 520px;
    min-height: 360px;
    width: 100%;
}

.interrupcao-energia__painel {
    align-self: flex-start;
    display: grid;
    gap: 20px;
    padding: 24px;
}

.interrupcao-energia__painel h2,
.interrupcao-energia__tabela-topo h2 {
    color: var(--tx-azul);
    font-size: var(--body-xl);
    font-weight: 700;
    margin: 0 0 14px;
}

.interrupcao-energia__painel p,
.interrupcao-energia__legenda,
.interrupcao-energia__telefones {
    color: var(--cz-dark);
    font-size: var(--body-md);
    line-height: 1.45;
}

.interrupcao-energia__legenda {
    display: grid;
    gap: 10px;
}

.interrupcao-energia__legenda li {
    align-items: center;
    display: flex;
    gap: 10px;
}

.interrupcao-energia__telefones {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
}

.interrupcao-energia__telefones a {
    color: var(--tx-azul);
    font-weight: 700;
}

.legenda {
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: 50%;
    display: inline-block;
    height: 15px;
    width: 15px;
}

.legenda--neutra {
    background: #e7edf2;
}

.legenda--programada {
    background: #f5a623;
}

.legenda--nao-programada {
    background: #d93636;
}

.legenda--ambas {
    background: #8f1d1d;
}

.interrupcao-energia__vazio {
    color: var(--cz-dark);
}

.interrupcao-energia__tabela-wrap {
    padding: 24px;
}

.interrupcao-energia__tabela-topo {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.interrupcao-energia__tabela {
    border-collapse: collapse;
    color: var(--cz-dark);
    font-size: var(--body-md);
    width: 100%;
}

.interrupcao-energia__tabela th,
.interrupcao-energia__tabela td {
    border-bottom: 1px solid #ececec;
    padding: 14px 12px;
    text-align: left;
    vertical-align: middle;
}

.interrupcao-energia__tabela th {
    color: var(--tx-azul);
    font-weight: 700;
}

.interrupcao-energia__tabela td:first-child {
    color: var(--tx-azul);
    font-weight: 700;
}

.interrupcao-energia .leaflet-popup-content {
    color: var(--cz-dark);
    font-family: 'Space Grotesk', sans-serif;
    font-size: 14px;
    line-height: 1.45;
}

.interrupcao-energia .leaflet-popup-content strong {
    color: var(--tx-azul);
}

@media screen and (min-width: 576px) {
    .interrupcao-energia__resumo {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (min-width: 992px) {
    .interrupcao-energia__header {
        grid-template-columns: minmax(0, 1fr) 320px;
    }

    .interrupcao-energia__resumo {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .interrupcao-energia__grid {
        grid-template-columns: minmax(0, 1fr) 330px;
    }
}

@media screen and (max-width: 767px) {
    .interrupcao-energia__mapa {
        height: 420px;
    }

    .interrupcao-energia__tabela,
    .interrupcao-energia__tabela thead,
    .interrupcao-energia__tabela tbody,
    .interrupcao-energia__tabela th,
    .interrupcao-energia__tabela td,
    .interrupcao-energia__tabela tr {
        display: block;
    }

    .interrupcao-energia__tabela thead {
        display: none;
    }

    .interrupcao-energia__tabela tr {
        border: 1px solid #ececec;
        border-radius: 8px;
        margin-bottom: 14px;
        padding: 10px 12px;
    }

    .interrupcao-energia__tabela td {
        border-bottom: 0;
        display: flex;
        justify-content: space-between;
        padding: 8px 0;
    }

    .interrupcao-energia__tabela td::before {
        color: var(--cz-dark);
        content: attr(data-label);
        font-weight: 600;
        margin-right: 18px;
    }
}
