/* AgroData — componentes de dados. Herda as variaveis de cor do tema. */

.agrodata-page {
    padding-top: 30px;
    padding-bottom: 64px;
}

.agrodata-page .crumb {
    font-size: 12.5px;
    color: var(--ink-3, #8c8e7c);
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.agrodata-page .crumb a {
    color: var(--ink-2, #585c4c);
}

.ad-head {
    max-width: 760px;
    margin: 24px 0 0;
}

.ad-head h1 {
    margin: 6px 0 0;
}

.ad-head .lede {
    margin-top: 14px;
}

.src-note {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 11.5px;
    color: var(--ink-3, #8c8e7c);
    margin: 8px 0 0;
}

/* indicadores */
.ind-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: var(--edge, #e4dbc6);
    border: 1px solid var(--edge, #e4dbc6);
    margin: 34px 0 0;
}

.ind {
    background: var(--card, #fff);
    padding: 20px;
}

.ind-lab {
    font-size: 11.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink-2, #585c4c);
}

.ind-num {
    font-family: "Newsreader", Georgia, serif;
    font-size: 28px;
    color: var(--green, #1e3a2c);
    font-variant-numeric: tabular-nums;
    margin: 7px 0 3px;
}

.delta {
    font-size: 12.5px;
    font-weight: 600;
}

.delta.is-up {
    color: var(--up, #2e6a48);
}

.delta.is-down {
    color: var(--down, #a5432f);
}

/* caixas */
.ad-box {
    background: var(--card, #fff);
    border: 1px solid var(--edge, #e4dbc6);
    padding: 26px;
    margin: 28px 0 0;
}

.ad-box-title {
    font-family: "Newsreader", Georgia, serif;
    font-size: 19px;
    color: var(--green, #1e3a2c);
    font-weight: 600;
    margin: 0 0 14px;
}

.ad-box--soon {
    background: var(--card-warm, #fcfaf2);
    color: var(--ink-2, #585c4c);
}

.ad-box--soon p {
    margin: 0;
    font-size: 14.5px;
}

.ad-section {
    margin: 44px 0 0;
}

.ad-section h2 {
    margin: 0 0 16px;
}

.ad-table {
    border-collapse: collapse;
    width: 100%;
    font-size: 14px;
}

.ad-table th {
    text-align: left;
    font-weight: 600;
    color: var(--ink-2, #585c4c);
    border-bottom: 2px solid var(--green, #1e3a2c);
    padding: 9px 10px;
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ad-table td {
    border-bottom: 1px solid var(--edge, #e4dbc6);
    padding: 10px;
    font-variant-numeric: tabular-nums;
}

/* fontes */
.srclist {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 13px;
}

.srclist-row {
    display: flex;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--edge, #e4dbc6);
}

.srclist-k {
    font-weight: 600;
    color: var(--ink, #20241d);
    min-width: 240px;
}

/* TL;DR — frase pronta para IA extrair */
.tldr {
    font-family: "Newsreader", Georgia, serif;
    font-size: 20px;
    line-height: 1.5;
    color: var(--green, #1e3a2c);
    border-left: 3px solid var(--amber, #a9631f);
    padding: 4px 0 4px 18px;
    margin: 16px 0 0;
}

/* Dados-chave — lista extraível: número + período + fonte */
.keyfacts {
    background: var(--card-warm, #fcfaf2);
    border: 1px solid var(--edge, #e4dbc6);
    padding: 20px 24px;
    margin: 28px 0 0;
}
.keyfacts h2 {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ink-2, #585c4c);
    font-family: "Libre Franklin", sans-serif;
    margin: 0 0 12px;
}
.keyfacts ul { list-style: none; margin: 0; padding: 0; }
.keyfacts li {
    padding: 8px 0;
    border-top: 1px solid var(--edge, #e4dbc6);
    font-size: 15px;
    line-height: 1.5;
}
.keyfacts li:first-child { border-top: 0; }
.keyfacts .kf-label { color: var(--ink-2, #585c4c); }
.keyfacts strong { color: var(--green, #1e3a2c); font-variant-numeric: tabular-nums; }
.keyfacts .kf-meta {
    display: block;
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 11px;
    color: var(--ink-3, #8c8e7c);
    margin-top: 2px;
}

/* Série completa (details/summary) */
details.ad-series {
    margin-top: 18px;
    border-top: 1px solid var(--edge, #e4dbc6);
    padding-top: 12px;
}
details.ad-series summary {
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--amber, #a9631f);
    list-style: none;
}
details.ad-series summary::-webkit-details-marker { display: none; }
details.ad-series summary::before { content: "▸ "; }
details.ad-series[open] summary::before { content: "▾ "; }
.ad-series-scroll { overflow-x: auto; margin-top: 12px; }
.ad-series .ad-table { font-size: 13px; }
.ad-series .ad-table td { font-variant-numeric: tabular-nums; }

/* FAQ */
.faq .faq-item {
    border-top: 1px solid var(--edge, #e4dbc6);
    padding: 16px 0;
}
.faq .faq-item h3 {
    font-family: "Newsreader", Georgia, serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--green, #1e3a2c);
    margin: 0 0 6px;
}
.faq .faq-item p { font-size: 14.5px; color: var(--ink-2, #585c4c); margin: 0; }

/* ZARC — calendário de plantio */
.zarc-cal { margin: 16px 0 4px; }
.zarc-months {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ink-3, #8c8e7c);
    text-align: center;
}
.zarc-track {
    position: relative;
    height: 20px;
    margin-top: 4px;
    background: repeating-linear-gradient(
        to right,
        var(--edge-2, #eee7d6) 0, var(--edge-2, #eee7d6) calc(100% / 7 - 1px),
        var(--edge, #e4dbc6) calc(100% / 7 - 1px), var(--edge, #e4dbc6) calc(100% / 7)
    );
    border: 1px solid var(--edge, #e4dbc6);
}
.zarc-bar {
    position: absolute;
    top: 3px;
    bottom: 3px;
    background: var(--amber, #a9631f);
}
.zarc-bar--safe {
    top: 0;
    bottom: 0;
    background: var(--amber-2, #c58a48);
    opacity: 0.45;
}

/* Calendário oficial (MAPA) — vazio sanitário + semeadura */
.cal-oficial {
    list-style: none;
    margin: 18px 0 6px;
    padding: 14px 16px;
    border-left: 3px solid var(--green, #1e3a2c);
    background: var(--card-warm, #fcfaf2);
    font-size: 14.5px;
}
.cal-oficial li { margin: 0; }
.cal-oficial li + li { margin-top: 8px; }
.cal-oficial strong { color: var(--green, #1e3a2c); }
.cal-oficial__nota { color: var(--ink-2, #585c4c); font-size: 13px; }

/* /dados/ — status das fontes */
.status-list { display: flex; flex-direction: column; gap: 20px; }
.status-item {
    border: 1px solid var(--edge, #e4dbc6);
    background: var(--card, #fff);
    padding: 20px 22px;
}
.status-item h3 { font-family: "Newsreader", Georgia, serif; font-size: 18px; margin: 0 0 6px; }
.status-item > p { font-size: 14px; color: var(--ink-2, #585c4c); margin: 0 0 12px; }
.status-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 0; }
.status-meta div { margin: 0; }
.status-meta dt {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink-3, #8c8e7c);
}
.status-meta dd { margin: 2px 0 0; font-size: 14px; color: var(--ink, #20241d); }
.status-pending { color: var(--down, #a5432f); }

@media (max-width: 640px) {
    .ind-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .srclist-row { flex-direction: column; gap: 3px; }
    .srclist-k { min-width: 0; }
    .status-meta { grid-template-columns: 1fr; }
}

/* Calculadora "simule a sua lavoura" */
.agro-calc-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}
.agro-calc-f { display: flex; flex-direction: column; gap: 5px; }
.agro-calc-f > span:first-child {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink-3, #8c8e7c);
}
.agro-calc-inp {
    display: flex;
    align-items: baseline;
    gap: 6px;
    border: 1px solid var(--edge, #e4dbc6);
    background: var(--card, #fff);
    padding: 8px 10px;
}
.agro-calc-inp input {
    border: 0;
    outline: 0;
    width: 100%;
    font: inherit;
    font-size: 18px;
    font-variant-numeric: tabular-nums;
    background: transparent;
    color: var(--ink, #20241d);
}
.agro-calc-inp em { font-style: normal; font-size: 12px; color: var(--ink-3, #8c8e7c); white-space: nowrap; }
.agro-calc-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.agro-calc-card {
    border: 1px solid var(--edge, #e4dbc6);
    background: var(--bg-2, #fcfaf2);
    padding: 12px 14px;
}
.agro-calc-card.is-pos { border-color: var(--green, #1e3a2c); }
.agro-calc-card.is-neg { border-color: var(--down, #a5432f); }
.agro-calc-lab {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--ink-3, #8c8e7c);
}
.agro-calc-big {
    font-family: "Newsreader", Georgia, serif;
    font-size: 22px;
    line-height: 1.15;
    margin: 4px 0 2px;
    color: var(--ink, #20241d);
    font-variant-numeric: tabular-nums;
}
.agro-calc-card.is-pos .agro-calc-big { color: var(--green, #1e3a2c); }
.agro-calc-card.is-neg .agro-calc-big { color: var(--down, #a5432f); }
.agro-calc-small { font-size: 12px; color: var(--ink-2, #585c4c); font-variant-numeric: tabular-nums; }
.agro-calc-be { font-size: 14px; color: var(--ink-2, #585c4c); margin: 14px 0 4px; }

@media (max-width: 640px) {
    .agro-calc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .agro-calc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- animação dos gráficos (serie histórica) ---------- */

.ag-chart .ag-line,
.ag-chart .ag-area,
.ag-chart .ag-dot,
.ag-chart .ag-lastlabel { transition: none; }

/* JS marca .can-anim -> estado inicial escondido; sem JS, nada muda */
.ag-chart.can-anim .ag-line {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}
.ag-chart.can-anim .ag-area { opacity: 0; }
.ag-chart.can-anim .ag-dot { r: 0; }
.ag-chart.can-anim .ag-lastlabel { opacity: 0; }

.ag-chart.is-in .ag-line {
    animation: ag-draw 1100ms cubic-bezier(0.65, 0, 0.35, 1) forwards;
}
.ag-chart.is-in .ag-area {
    animation: ag-fade 700ms 500ms ease-out forwards;
}
.ag-chart.is-in .ag-dot {
    animation: ag-pop 420ms 900ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.ag-chart.is-in .ag-lastlabel {
    animation: ag-fade 400ms 1000ms ease-out forwards;
}

@keyframes ag-draw { to { stroke-dashoffset: 0; } }
@keyframes ag-fade { to { opacity: 1; } }
@keyframes ag-pop  { to { r: 3.6px; } }

@media (prefers-reduced-motion: reduce) {
    .ag-chart.can-anim .ag-line { stroke-dasharray: none; stroke-dashoffset: 0; }
    .ag-chart.can-anim .ag-area,
    .ag-chart.can-anim .ag-lastlabel { opacity: 1; }
    .ag-chart.can-anim .ag-dot { r: 3.6px; }
    .ag-chart .ag-line, .ag-chart .ag-area, .ag-chart .ag-dot, .ag-chart .ag-lastlabel { animation: none !important; }
}
