/* Daily egg / broiler rate pages (generated by tools/rates). Builds on site.css. */
:root { --up: #0f8a5f; --down: #c2410c; }
@media (prefers-color-scheme: dark) { :root { --up: #3fd0a0; --down: #ff8a5c; } }

.rates-hero { padding: 56px 0 8px; }
.rates-hero h1 { font-size: clamp(32px, 5.4vw, 56px); margin-bottom: 16px; }
.rates-hero .lead { max-width: 760px; margin-bottom: 0; }
.rates-hero .lead b { color: var(--ink); }
.h1-sub { display: block; margin-top: 10px; font-family: 'Inter', sans-serif; font-size: clamp(16px, 2.2vw, 20px); font-weight: 600; letter-spacing: -.01em; color: var(--ink-2); }
.rates-hero + section.block { padding-top: 40px; }

.rate-stats { margin: 0 0 28px; }
.rate-stats .stat b { font-size: 24px; }
.rate-stats .stat b small { font-size: 14px; font-weight: 600; color: var(--muted); }
.rate-stats .stat b .chg { font-size: 22px; }

.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; background: var(--card); }
table.rates { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
table.rates caption { text-align: left; padding: 14px 18px 4px; font-size: 13px; color: var(--muted); }
table.rates th, table.rates td { padding: 11px 18px; text-align: left; border-top: 1px solid var(--line); white-space: nowrap; }
table.rates thead th { border-top: 0; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; }
table.rates tbody th { font-weight: 600; white-space: normal; }
table.rates tbody th a { color: var(--ink); text-decoration: none; }
table.rates tbody th a:hover { color: var(--brand); text-decoration: underline; }
table.rates tbody th small { display: block; font-weight: 500; font-size: 12px; color: var(--muted); }
table.rates tr.state th { background: var(--bg-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-2); padding: 8px 18px; }
table.rates .num { text-align: right; }
@media (max-width: 560px) { table.rates th, table.rates td { padding: 10px 12px; } }

.chg { font-weight: 600; font-size: 14px; }
.chg.up { color: var(--up); }
.chg.down { color: var(--down); }
.chg.flat { color: var(--muted); font-weight: 500; }

.callout + .more, .table-wrap + .more, .daylinks + .more { margin-top: 18px; }
section.block .callout { margin-top: 0; }
.rate-stats + .callout { margin-top: 4px; }

.spark { margin: 0 0 24px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); padding: 16px 16px 10px; }
.spark svg { width: 100%; height: 140px; display: block; }
.spark .line { fill: none; stroke: var(--c-egg); stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.spark .area { fill: var(--c-egg); opacity: .1; stroke: none; }
.spark figcaption { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--muted); margin-top: 6px; }

.daylinks { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.daylinks a { display: block; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); text-decoration: none; }
.daylinks a:hover { border-color: var(--brand); }
.daylinks b { display: block; font-size: 15px; }
.daylinks span { font-size: 12px; color: var(--muted); }
h2.month { font-size: 22px; margin: 32px 0 12px; }
h2.month:first-child { margin-top: 0; }

.daynav { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; font-weight: 600; }
.daynav a { color: var(--brand); text-decoration: none; }
.daynav a:hover { text-decoration: underline; }

/* Snapshot block on /egg-chicken-rates/ */
.snap-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 820px) { .snap-grid { grid-template-columns: 1fr; } }
.snap-grid > div { border: 1px solid var(--line); border-radius: 18px; background: var(--card); padding: 20px; }
.snap-grid h3 { font-size: 19px; margin-bottom: 12px; }
.snap-grid h3 small { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500; color: var(--muted); margin-left: 6px; }
.snap { list-style: none; margin-bottom: 14px; }
.snap a { display: grid; grid-template-columns: 1fr auto 96px; gap: 12px; align-items: baseline; padding: 9px 0; border-top: 1px solid var(--line); text-decoration: none; font-variant-numeric: tabular-nums; }
.snap li:first-child a { border-top: 0; }
.snap a:hover span { color: var(--brand); }
.snap b { font-size: 16px; }
.snap .chg { text-align: right; }

/* Home page */
.snap-h { font-size: 19px; margin-bottom: 12px; }
.snap-h small { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 500; color: var(--muted); margin-left: 6px; }
.cities a { text-decoration: none; color: inherit; }
.cities li:hover { border-color: var(--brand); }
.rates-hero .lead a { color: var(--brand); }

/* Ads: height reserved up front so the page does not shift when the ad arrives */
.ad-slot { padding: 8px 0 24px; }
.ad-slot .wrap { min-height: 120px; }
.ad-label { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
@media (min-width: 760px) { .ad-slot .wrap { min-height: 110px; } }
