/* Lateral: tudo empilhado. Capa: clima e enquete numa faixa e os esportes numa seção própria; nas duas, as caixas
   de cada linha têm a mesma altura (a fonte fica no pé da caixa). Futebol com tabela ocupa duas colunas. */
.pcore-widgets { --pcore-gap: 20px; display: grid; gap: var(--pcore-gap); }
.pcore-widgets--sidebar { margin-top: 20px; }
.pcore-widgets--home, .pcore-widgets--sports { grid-template-columns: repeat(var(--pcore-cols, 3), minmax(0, 1fr)); align-items: stretch; }
.pcore-widgets--home { margin: 32px 0; }
.pcore-widgets--c1 { --pcore-cols: 1; }
.pcore-widgets--c2 { --pcore-cols: 2; }
.pcore-widgets--c3, .pcore-widgets--c4 { --pcore-cols: 3; }
.pcore-widgets--home > *, .pcore-widgets--sports > * { min-width: 0; margin: 0; }
.pcore-widgets--home > .pcore-widget, .pcore-widgets--sports > .pcore-widget { display: flex; flex-direction: column; }
.pcore-widgets--home .pcore-widget__body, .pcore-widgets--sports .pcore-widget__body { flex: 1; display: flex; flex-direction: column; }
.pcore-widgets--home .pcore-widget__source, .pcore-widgets--sports .pcore-widget__source { margin-top: auto; padding-top: 8px; }
/* Larguras calculadas no servidor (Widgets::rowSpans): sd = computador, st = tablet. */
@media (min-width: 901px) {
  .pcore-sd-2 { grid-column: span 2; }
  .pcore-sd-3 { grid-column: span 3; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .pcore-st-2 { grid-column: span 2; }
}
.pcore-sports-section { margin: 32px 0; }
.pcore-sports-section .pn-section__head { margin-bottom: 16px; }
@media (max-width: 900px) {
  .pcore-widgets--c3, .pcore-widgets--c4 { --pcore-cols: 2; }
}
@media (max-width: 600px) {
  .pcore-widgets--home, .pcore-widgets--sports { --pcore-cols: 1; }
}
.pcore-sports__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.pcore-sports__cols .pcore-sports__table { margin-top: 0; }
.pcore-sports__cols .pcore-sports__table summary { margin-bottom: 6px; font-size: .78em; text-transform: uppercase; letter-spacing: .03em; color: var(--pn-muted, #666); list-style: none; cursor: default; pointer-events: none; }
.pcore-sports__cols .pcore-sports__table summary::-webkit-details-marker { display: none; }
.pcore-sports__cols .pcore-sports__table table { margin-top: 0; }
@media (max-width: 600px) {
  .pcore-sports__cols { grid-template-columns: minmax(0, 1fr); }
}
.pcore-widget__skeleton { height: 120px; border-radius: var(--pn-radius, 8px); background: linear-gradient(90deg, var(--pn-border, #eee) 25%, transparent 50%, var(--pn-border, #eee) 75%); background-size: 200% 100%; animation: pcore-shimmer 1.4s infinite; opacity: .6; }
@keyframes pcore-shimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .pcore-widget__skeleton { animation: none; } }
.pcore-widget__empty, .pcore-widget__source { margin: 8px 0 0; font-size: .8em; color: var(--pn-muted, #666); }
.pcore-widget__source { text-align: right; }
.pcore-weather__today { display: flex; align-items: center; gap: 12px; }
.pcore-weather__icon { font-size: 44px; line-height: 1; }
.pcore-weather__max { font-size: 28px; line-height: 1; }
.pcore-weather__min { color: var(--pn-muted, #666); }
.pcore-weather__desc { margin: 4px 0 0; font-size: .9em; }
.pcore-weather__next { list-style: none; margin: 12px 0 0; padding: 10px 0 0; border-top: 1px solid var(--pn-border, #ddd); display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; text-align: center; font-size: .85em; }
.pcore-weather__next li { display: grid; gap: 2px; }
.pcore-weather__day { text-transform: capitalize; color: var(--pn-muted, #666); }
.pcore-sports__block + .pcore-sports__block { margin-top: 12px; }
.pcore-sports__label { margin: 0 0 6px; font-size: .78em; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--pn-muted, #666); }
.pcore-matches { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pcore-match { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 6px; font-size: .88em; }
.pcore-match__team { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.pcore-match__team span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pcore-match__team.is-away { flex-direction: row-reverse; justify-self: end; text-align: right; }
.pcore-match__team img { flex: none; object-fit: contain; }
.pcore-match__score { font-weight: 700; padding: 2px 8px; border-radius: 6px; background: var(--pn-background, #fff); white-space: nowrap; }
.pcore-match__score.is-time { font-weight: 500; font-size: .85em; color: var(--pn-muted, #666); }
.pcore-match__score.is-live { color: #fff; background: #c62828; }
.pcore-sports__table { margin-top: 12px; }
.pcore-sports__table summary { cursor: pointer; font-weight: 700; font-size: .9em; }
.pcore-sports__table table { width: 100%; margin-top: 8px; border-collapse: collapse; font-size: .82em; }
.pcore-sports__table th, .pcore-sports__table td { padding: 4px; text-align: center; border-bottom: 1px solid var(--pn-border, #e5e5e5); }
.pcore-sports__table th:nth-child(2), .pcore-sports__table td:nth-child(2) { text-align: left; }
.pcore-sports__table td.is-strong { font-weight: 700; }
.pcore-pager { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 8px; font-size: .82em; }
.pcore-pager__btn { width: 30px; height: 30px; border: 1px solid var(--pn-border, #ddd); border-radius: 50%; background: var(--pn-background, #fff); color: inherit; font-size: 18px; line-height: 1; cursor: pointer; }
.pcore-pager__btn:hover:not([disabled]) { border-color: var(--pn-primary, #0f62fe); color: var(--pn-primary, #0f62fe); }
.pcore-pager__btn[disabled] { opacity: .35; cursor: default; }
.pcore-pager__label { min-width: 70px; text-align: center; color: var(--pn-muted, #666); }
.pcore-most-read__list { list-style: none; counter-reset: pcore-rank; margin: 0; padding: 0; display: grid; gap: 12px; }
.pcore-most-read__list li { counter-increment: pcore-rank; display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: start; font-weight: 600; line-height: 1.35; }
.pcore-most-read__list li::before { content: counter(pcore-rank); font-size: 24px; font-weight: 800; line-height: 1; color: var(--pn-primary, #0f62fe); }
.pcore-most-read__list a { color: inherit; }
.pcore-most-read__list a:hover { color: var(--pn-primary, #0f62fe); }
.pcore-sport__event { margin: 0 0 10px; font-weight: 700; line-height: 1.3; }
.pcore-sport__next { margin-bottom: 12px; padding: 10px 12px; border-radius: var(--pn-radius, 8px); background: var(--pn-background, #f6f6f6); }
.pcore-sport__next strong { display: block; line-height: 1.3; }
.pcore-sport__meta { margin: 4px 0 0; font-size: .82em; color: var(--pn-muted, #666); }
.pcore-duels { list-style: none; margin: 0; padding: 0; }
.pcore-duel { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 2px; padding: 7px 0; border-bottom: 1px solid var(--pn-border, #e5e5e5); font-size: .88em; }
.pcore-duel:last-child { border-bottom: 0; }
.pcore-duel__name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pcore-duel__name.is-winner { font-weight: 700; }
.pcore-duel__score { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pcore-duel__when { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: .85em; color: var(--pn-muted, #666); white-space: nowrap; }
.pcore-duel__live { grid-column: 1 / -1; justify-self: start; margin-top: 2px; padding: 1px 6px; border-radius: 4px; background: #c62828; color: #fff; font-size: .75em; font-weight: 700; text-transform: uppercase; }
.pcore-sport__detail { display: block; font-size: .85em; color: var(--pn-muted, #666); }
.pcore-sports__table td small { line-height: 1.2; }
