/* Porcino content blocks (zones, regions, news, rules, calendar). Works with any theme; the Porcino theme sets the tokens. */
:root {
  --pc-ink: #17241b; --pc-muted: #5b675e; --pc-line: #d5d9cf; --pc-surface: #ffffff; --pc-paper: #f1f2ec;
  --pc-forest: #1f4a32; --pc-cap: #7a3a17; --pc-ochre: #c0862b; --pc-sand: #e3cf96;
}
.pc-wide { margin: 1.5em 0; }
.pc-lead { font-size: 1.15em; color: var(--pc-muted); }
.pc-small { font-size: .85em; color: var(--pc-muted); }
.pc-warn { color: var(--pc-cap); }
.pc-edible { margin-top: 2em; padding: .9em 1.1em; border: 1px solid var(--pc-line); border-radius: 10px; font-size: .92em; background: var(--pc-surface); }
.pc-pill { display: inline-block; font-size: .78em; font-weight: 600; padding: .2em .7em; border-radius: 999px; }
.pc-pill.s-picco, .pc-cal-m.s-picco { background: var(--pc-cap); color: #fff; }
.pc-pill.s-stagione, .pc-cal-m.s-stagione { background: var(--pc-ochre); color: #1b1408; }
.pc-pill.s-margine { background: var(--pc-sand); color: #3b2c08; }
.pc-pill.s-fuori, .pc-cal-m.s-fuori { background: var(--pc-line); color: var(--pc-muted); }
.pc-cal { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2px; margin: .8em 0; max-width: 560px; }
.pc-cal-m { font-size: .72em; text-align: center; padding: .35em 0; border-radius: 3px; font-weight: 600; min-width: 0; overflow: hidden; }
.pc-cal-m.is-now { outline: 2px solid var(--pc-ink); outline-offset: 1px; }
.pc-facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .45em 1.2em; margin: 1em 0; }
.pc-facts dt { color: var(--pc-muted); }
.pc-facts dd { margin: 0; }
.pc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin: 1em 0 1.5em; }
.pc-card { background: var(--pc-surface); border: 1px solid var(--pc-line); border-radius: 12px; padding: 14px 16px; min-width: 0; }
.pc-card h3 { margin: 0 0 .3em; font-size: 1.05em; }
.pc-card p { margin: .3em 0; }
.pc-card .pc-cal { margin: .6em 0; }
.pc-meta { font-size: .85em; color: var(--pc-muted); }
.pc-links { padding-left: 1.2em; }
.pc-links li { margin: .3em 0; }
.pc-links span { color: var(--pc-muted); font-size: .9em; }
.pc-news { display: grid; gap: 0; margin: 1em 0; }
.pc-ni { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); gap: 1em; padding: .9em 0; border-bottom: 1px solid var(--pc-line); }
.pc-ni time { font-size: .85em; color: var(--pc-muted); font-variant-numeric: tabular-nums; }
.pc-ni p { margin: .3em 0; }
.pc-ni a { font-size: .9em; font-weight: 600; }
.pc-tag { display: inline-block; font-size: .7em; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: .1em .5em; border-radius: 4px; vertical-align: .1em; }
.pc-tag.e-buona { background: var(--pc-forest); color: #fff; }
.pc-tag.e-scarsa { border: 1px solid var(--pc-cap); color: var(--pc-cap); }
.pc-tag.e-in-arrivo { background: var(--pc-sand); color: #3b2c08; }
.pc-table { overflow-x: auto; margin: 1em 0; }
.pc-table table { border-collapse: collapse; width: 100%; min-width: 680px; font-size: .9em; background: var(--pc-surface); }
.pc-table th, .pc-table td { text-align: left; vertical-align: top; padding: .6em .7em; border-bottom: 1px solid var(--pc-line); }
.pc-table thead th { font-size: .78em; text-transform: uppercase; letter-spacing: .05em; color: var(--pc-muted); font-weight: 500; }
table.pc-calt { border-collapse: separate; border-spacing: 3px; background: transparent; }
table.pc-calt td { border: 0; border-radius: 4px; text-align: center; font-size: .78em; height: 2.2em; padding: 0; color: var(--pc-muted);
  background: color-mix(in srgb, var(--pc-cap) var(--v), var(--pc-surface)); font-variant-numeric: tabular-nums; }
table.pc-calt td.is-high { color: #fff; }
table.pc-calt td.is-now, table.pc-calt th.is-now { outline: 2px solid var(--pc-ink); outline-offset: 1px; }
table.pc-calt th { border: 0; text-align: center; padding: .3em; }
table.pc-calt tbody th { text-align: left; white-space: nowrap; font-weight: 600; color: var(--pc-ink); font-size: .9em; padding-right: .8em; }
@media (max-width: 560px) { .pc-ni { grid-template-columns: minmax(0, 1fr); gap: .2em; } }
.pc-tag.e-notizia { border: 1px solid var(--pc-line); color: var(--pc-muted); }
.pc-headline { font-style: italic; }
.pc-cond { margin: 1em 0 1.4em; padding: 14px 16px; border: 1px solid var(--pc-line); border-radius: 12px; background: var(--pc-surface); max-width: 640px; }
.pc-cond-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pc-exp { font-size: .72em; text-transform: uppercase; letter-spacing: .08em; color: var(--pc-muted); border: 1px dashed var(--pc-line); border-radius: 4px; padding: .1em .45em; }
.pc-reasons { margin: .7em 0; padding-left: 1.1em; }
.pc-reasons li { margin: .2em 0; }
.pc-rain { display: flex; align-items: flex-end; gap: 2px; height: 46px; border-bottom: 1px solid var(--pc-line); margin-top: .6em; }
.pc-rain-b { flex: 1; background: #6f9fc0; border-radius: 2px 2px 0 0; min-width: 0; }
.pc-rain-b.is-today { background: var(--pc-ink); }
.pc-rain-b.is-fc { background: repeating-linear-gradient(45deg, #6f9fc0, #6f9fc0 2px, transparent 2px, transparent 4px); }
.pc-rain-l { display: flex; justify-content: space-between; position: relative; font-size: .72em; color: var(--pc-muted); margin: .2em 0 .4em; }
.pc-rain-today { position: absolute; top: 0; transform: translateX(-50%); color: var(--pc-ink); font-weight: 600; }
.pc-count { font-size: .6em; color: var(--pc-muted); font-weight: 400; vertical-align: .2em; }
.pc-card .pc-rain { height: 30px; }
.pc-pro { margin: .8em 0; padding: .7em .9em; border: 1px dashed var(--pc-cap); border-radius: 10px; font-size: .92em; }
.pc-pro-tag { display: inline-block; background: var(--pc-cap); color: #fff; font-size: .72em; font-weight: 700; letter-spacing: .06em; padding: .1em .5em; border-radius: 4px; vertical-align: .1em; }
.pc-trend { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 3px; margin: .6em 0 .2em; max-width: 520px; }
.pc-trend-d { text-align: center; font-size: .72em; padding: .4em 0; border-radius: 5px; }
.pc-trend-d b { font-weight: 600; }
.pc-trend-d.s-picco { background: var(--pc-cap); color: #fff; }
.pc-trend-d.s-stagione { background: var(--pc-ochre); color: #1b1408; }
.pc-trend-d.s-margine { background: var(--pc-sand); color: #3b2c08; }
.pc-trend-d.s-fuori { background: var(--pc-line); color: var(--pc-muted); }
