/* Faixa de caixas: clima e enquete empilhados; futebol ao lado (duas colunas na home). */
.pcore-widgets { display: grid; gap: 20px; }
.pcore-widgets__stack { display: grid; gap: 20px; align-content: start; }
.pcore-widgets--home { margin: 32px 0; }
.pcore-widgets--home.has-sports.has-stack { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: start; }
.pcore-widgets--home:not(.has-sports) .pcore-widgets__stack { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.pcore-widgets--sidebar { margin-top: 20px; }
.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: 900px) {
  .pcore-widgets--home.has-sports.has-stack { grid-template-columns: minmax(0, 1fr); }
}
@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); }
