/* ═══════════════════════════════════════════════════════════════
   PIRANOT Hub Loterias — CSS Unificado v2
   Seções: Tokens | Hub | Bicho | Loteria Single | Sonhos | Dark Mode | Responsive
   =══════════════════════════════════════════════════════════════ */

:root {
    /* Namespace A: dark premium (Loteria single + Sonhos) */
    --pn-bg: #0f172a;
    --pn-text: #f8fafc;
    --pn-text-secondary: #94a3b8;
    --pn-text-tertiary: #64748b;
    --pn-bg-section: #1e293b;
    --pn-border: #334155;
    --pn-accent: #b91c1c;
    --pn-primary: #dc2626;
    --pn-radius: 8px;
    --pn-radius-lg: 12px;
    --pn-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);

    /* Namespace B: hub system (Hub + Bicho) */
    --pn-hub-brand: #0f3f4f;
    --pn-hub-accent: #b91c1c;
    --pn-hub-warm: #d97706;
    --pn-hub-ink: #0f172a;
    --pn-hub-muted: #64748b;
    --pn-hub-line: #e2e8f0;
    --pn-hub-radius: 8px;
    --pn-hub-max: 1100px;
}

/* ==========================================================================
   SECTION: HUB BASE (from pn-hub-loterias.css)
   ========================================================================== */

.hub-loterias-wrap {
    --pn-hub-brand: #0f3f4f;
    --pn-hub-accent: #b91c1c;
    --pn-hub-warm: #d97706;
}

.hub-loterias-status {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.hub-loterias-status span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    border: 1px solid #d7dee7;
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    padding: 5px 10px;
}

.hub-loterias-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.hub-loterias-primary,
.hub-loterias-secondary,
.hub-loterias-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    padding: 10px 14px;
}

.hub-loterias-primary {
    background: var(--pn-hub-brand);
    color: #fff;
}

.hub-loterias-primary:hover {
    background: #0b2d38;
    color: #fff;
}

.hub-loterias-secondary,
.hub-loterias-link {
    border: 1px solid var(--pn-hub-line);
    background: #fff;
    color: var(--pn-hub-brand);
}

.hub-loterias-secondary:hover,
.hub-loterias-link:hover {
    border-color: var(--pn-hub-brand);
    background: #f8fafc;
    color: var(--pn-hub-brand);
}

.hub-loterias-featured {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    border-left: 5px solid var(--pn-hub-accent);
}

.hub-loterias-label {
    color: var(--pn-hub-accent);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.hub-loterias-featured__title {
    font-size: 22px;
    line-height: 1.25;
    margin: 0;
}

.hub-loterias-featured__title a {
    color: var(--pn-hub-ink);
    text-decoration: none;
}

.hub-loterias-featured__title a:hover {
    color: var(--pn-hub-brand);
}

.hub-loterias-featured__meta {
    color: var(--pn-hub-muted);
    font-size: 13px;
    font-weight: 700;
    margin: 8px 0 0;
}

.hub-loterias-game-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.hub-loterias-game {
    display: flex;
    flex-direction: column;
    min-height: 126px;
    border: 1px solid var(--pn-hub-line);
    border-top: 4px solid var(--pn-hub-warm);
    border-radius: var(--pn-hub-radius);
    background: #fff;
    color: var(--pn-hub-ink);
    padding: 16px;
    text-decoration: none;
}

.hub-loterias-game:hover {
    border-color: #cbd5e1;
    border-top-color: var(--pn-hub-accent);
    background: #f8fafc;
    color: var(--pn-hub-ink);
}

.hub-loterias-game strong {
    color: var(--pn-hub-brand);
    font-size: 17px;
    line-height: 1.25;
    margin-bottom: 8px;
}

.hub-loterias-game span {
    color: #475569;
    font-size: 14px;
    line-height: 1.45;
}

.hub-loterias-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(260px, 0.85fr);
    gap: 24px;
    align-items: start;
}

.hub-loterias-news-list {
    display: grid;
    gap: 10px;
}

.hub-loterias-news {
    border-bottom: 1px solid var(--pn-hub-line);
    padding: 0 0 12px;
}

.hub-loterias-news:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.hub-loterias-news h3 {
    font-size: 18px;
    line-height: 1.35;
    margin: 0 0 6px;
}

.hub-loterias-news a {
    color: var(--pn-hub-ink);
    text-decoration: none;
}

.hub-loterias-news a:hover {
    color: var(--pn-hub-brand);
}

.hub-loterias-news time,
.hub-loterias-empty {
    color: var(--pn-hub-muted);
    font-size: 13px;
    font-weight: 700;
}

.hub-loterias-guide {
    position: sticky;
    top: 20px;
}

.hub-loterias-note,
.hub-loterias-editorial p {
    color: #475569;
    font-size: 15px;
    line-height: 1.65;
}

.hub-loterias-note {
    border-top: 1px solid var(--pn-hub-line);
    margin: 18px 0 0;
    padding-top: 16px;
}

.hub-loterias-editorial p {
    margin: 0 0 12px;
}

.hub-loterias-editorial p:last-child {
    margin-bottom: 0;
}

.hub-faq-wrapper {
    display: grid;
    gap: 10px;
}

.hub-faq-item {
    border: 1px solid var(--pn-hub-line);
    border-radius: var(--pn-hub-radius);
    background: #fff;
    overflow: hidden;
}

.hub-faq-item summary {
    cursor: pointer;
    color: var(--pn-hub-brand);
    font-size: 15px;
    font-weight: 900;
    list-style: none;
    padding: 15px 16px;
}

.hub-faq-item summary::-webkit-details-marker {
    display: none;
}

.hub-faq-item summary::after {
    content: "+";
    float: right;
    font-weight: 900;
}

.hub-faq-item details[open] summary::after {
    content: "-";
}

.hub-faq-answer {
    border-top: 1px solid var(--pn-hub-line);
    color: #475569;
    font-size: 15px;
    line-height: 1.6;
    padding: 14px 16px;
}

/* ==========================================================================
   SECTION: BICHO (from pn-bicho.css)
   ========================================================================== */

.pn-bicho-wrap {
    --pn-hub-brand: #123c4a;
    --pn-hub-accent: #b91c1c;
    --pn-hub-warm: #d97706;
}

.pn-bicho-container {
    max-width: var(--pn-hub-max);
}

.pn-bicho-hero {
    position: relative;
}

.pn-bicho-actions,
.pn-bicho-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.pn-bicho-result-actions {
    margin: 0 0 18px;
}

.pn-bicho-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border-radius: 6px;
    border: 1px solid transparent;
    font-family: inherit;
    font-size: 14px;
    font-weight: 900;
    padding: 10px 14px;
    text-decoration: none;
}

.pn-bicho-btn[type="button"] {
    cursor: pointer;
}

.pn-bicho-btn--primary {
    background: var(--pn-hub-brand);
    color: #fff;
}

.pn-bicho-btn--primary:hover {
    background: #0c2d37;
    color: #fff;
}

.pn-bicho-btn--ghost {
    border-color: var(--pn-hub-line);
    background: #fff;
    color: var(--pn-hub-brand);
}

.pn-bicho-btn--ghost:hover {
    border-color: var(--pn-hub-brand);
    background: #f8fafc;
    color: var(--pn-hub-brand);
}

.pn-bicho-btn--whatsapp {
    background: #15803d;
    color: #fff;
}

.pn-bicho-btn--blue {
    background: #0b55a0;
    color: #fff;
}

.pn-bicho-legal {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    border: 1px solid #fed7aa;
    border-left: 5px solid #f97316;
    border-radius: var(--pn-hub-radius);
    background: #fff7ed;
    color: #7c2d12;
    margin-bottom: 24px;
    padding: 16px 18px;
}

.pn-bicho-legal strong {
    display: block;
    color: #7c2d12;
    margin-bottom: 4px;
}

.pn-bicho-legal p {
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

.pn-bicho-ad {
    display: block;
    min-height: 280px;
    margin: 18px 0 28px;
    border: 1px dashed #cbd5e1;
    border-radius: var(--pn-hub-radius);
    background: #f8fafc;
    text-align: center;
}

.pn-bicho-ad--filled .pn-incontent-ads {
    margin: 0 !important;
}

.pn-bicho-ad ins,
.pn-bicho-ad iframe {
    max-width: 100%;
}

.pn-bicho-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-bottom: 26px;
}

.pn-bicho-nav a {
    display: block;
    min-height: 92px;
    border: 1px solid var(--pn-hub-line);
    border-left: 4px solid var(--pn-hub-warm);
    border-radius: var(--pn-hub-radius);
    background: #fff;
    color: var(--pn-hub-ink);
    padding: 15px 16px;
    text-decoration: none;
}

.pn-bicho-nav a:hover {
    border-left-color: var(--pn-hub-accent);
    background: #f8fafc;
}

.pn-bicho-nav strong {
    display: block;
    color: var(--pn-hub-brand);
    margin-bottom: 4px;
}

.pn-bicho-nav span {
    display: block;
    color: var(--pn-hub-muted);
    font-size: 13px;
    line-height: 1.45;
}

.pn-bicho-history-box,
.pn-bicho-list,
.pn-bicho-card-grid,
.pn-bicho-card,
.pn-bicho-info {
    border: 1px solid var(--pn-hub-line);
    border-radius: var(--pn-hub-radius);
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
}

.pn-bicho-history-box {
    margin-bottom: 28px;
    padding: 22px;
}

.pn-bicho-history-top,
.pn-bicho-live-top,
.pn-bicho-section-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
}

.pn-bicho-history-top,
.pn-bicho-live-top {
    align-items: flex-start;
    margin-bottom: 18px;
}

.pn-bicho-section-head {
    align-items: flex-end;
    margin: 8px 0 16px;
}

.pn-bicho-history-top h2,
.pn-bicho-live-top h2,
.pn-bicho-section-head h2,
.pn-bicho-info h2 {
    color: var(--pn-hub-brand);
    line-height: 1.2;
    margin: 0;
}

.pn-bicho-history-top h2,
.pn-bicho-section-head h2 {
    font-size: 24px;
}

.pn-bicho-live-top h2 {
    font-size: 26px;
}

.pn-bicho-info h2 {
    font-size: 22px;
    margin-bottom: 10px;
}

.pn-bicho-history-top p,
.pn-bicho-live-top p,
.pn-bicho-section-head p {
    color: var(--pn-hub-muted);
    font-size: 14px;
    line-height: 1.55;
    margin: 6px 0 0;
}

.pn-bicho-history-total {
    min-width: 135px;
    border-radius: var(--pn-hub-radius);
    background: var(--pn-hub-brand);
    color: #fff;
    padding: 12px;
    text-align: center;
}

.pn-bicho-history-total strong {
    display: block;
    font-size: 26px;
    line-height: 1;
}

.pn-bicho-history-total span {
    display: block;
    color: #dbeafe;
    font-size: 12px;
    margin-top: 5px;
}

.pn-bicho-months {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pn-bicho-months a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #dbe3ef;
    border-radius: 999px;
    background: #f8fafc;
    color: var(--pn-hub-ink);
    font-size: 13px;
    font-weight: 800;
    padding: 8px 11px;
    text-decoration: none;
}

.pn-bicho-months a:hover {
    border-color: var(--pn-hub-brand);
    color: var(--pn-hub-brand);
}

.pn-bicho-months small {
    color: var(--pn-hub-muted);
    font-weight: 700;
}

.pn-bicho-live-panel {
    margin-bottom: 28px;
}

.pn-bicho-live-date {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    border-radius: 999px;
    background: var(--pn-hub-brand);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    padding: 8px 12px;
}

.pn-bicho-result-note,
.pn-bicho-palpite-note {
    border: 1px solid #bfdbfe;
    border-radius: var(--pn-hub-radius);
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 13px;
    line-height: 1.55;
    padding: 12px 14px;
}

.pn-bicho-result-note {
    margin: 0 0 18px;
}

.pn-bicho-palpite-note {
    margin-top: 14px;
}

.pn-bicho-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.pn-bicho-card {
    overflow-x: auto;
}

.pn-bicho-card > h2 {
    display: block;
    margin: 0;
    padding: 16px 18px;
    background: var(--pn-hub-brand);
    color: #fff !important;
    font-size: 18px;
    line-height: 1.25;
}

.pn-bicho-table {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
}

.pn-bicho-table th,
.pn-bicho-table td {
    border-bottom: 1px solid #eef1f6;
    font-size: 14px;
    padding: 11px 12px;
    text-align: left;
}

.pn-bicho-table th {
    background: #f8fafc;
    color: #475569;
    font-weight: 700;
}

.pn-bicho-table tr:last-child td {
    border-bottom: 0;
}

.pn-bicho-milhar {
    color: var(--pn-hub-ink);
    font-weight: 900;
}

.pn-bicho-grupo {
    color: #0b55a0;
    font-weight: 800;
}

.pn-bicho-empty {
    color: var(--pn-hub-muted);
    padding: 22px;
}

.pn-bicho-info {
    margin-bottom: 24px;
    padding: 24px;
}

.pn-bicho-link {
    color: #0b55a0;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.pn-bicho-link:hover {
    color: var(--pn-hub-brand);
}

/* ==========================================================================
   SECTION: LOTERIA SINGLE (from pn-loteria.css)
   ========================================================================== */

.pn-loteria {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--pn-bg);
    color: var(--pn-text);
    -webkit-font-smoothing: antialiased;
    padding: 0 0 60px;
    overflow-x: hidden;
}
.pn-loteria__container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 15px;
}

/* Nav (sticky pills) - shared with .pn-sonhos__nav */
.pn-loteria__nav,
.pn-sonhos__nav {
    display: flex;
    overflow-x: auto;
    padding: 10px 15px;
    gap: 10px;
    border-bottom: 1px solid var(--pn-border);
    background: var(--pn-bg);
    white-space: nowrap;
    scrollbar-width: none;
    position: sticky;
    top: 0;
    z-index: 999;
    box-sizing: border-box;
    scroll-behavior: smooth;
}
.pn-loteria__nav::-webkit-scrollbar,
.pn-sonhos__nav::-webkit-scrollbar { display: none; }

.pn-loteria__nav a,
.pn-sonhos__nav a {
    text-decoration: none !important;
    color: var(--pn-text-tertiary);
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 8px 14px;
    min-height: 44px;
    display: flex;
    align-items: center;
    border-radius: 20px;
    border: 1px solid transparent;
    transition: color 0.2s, background 0.2s, border-color 0.2s;
    flex-shrink: 0;
}
.pn-loteria__nav a:hover,
.pn-loteria__nav a.active,
.pn-sonhos__nav a:hover,
.pn-sonhos__nav a.active {
    color: var(--pn-accent);
    border-color: var(--pn-accent);
    background: rgba(13, 71, 161, 0.06);
}
.pn-loteria__nav a.active,
.pn-sonhos__nav a.active {
    font-weight: 700;
}

/* Breadcrumb - shared with .pn-sonhos__breadcrumb */
.pn-loteria__breadcrumb,
.pn-sonhos__breadcrumb {
    padding: 12px 0 4px;
    font-size: 12px;
    color: var(--pn-text-tertiary);
    font-weight: 500;
}
.pn-loteria__breadcrumb a,
.pn-sonhos__breadcrumb a {
    color: var(--pn-primary);
    text-decoration: none;
}
.pn-loteria__breadcrumb a:hover,
.pn-sonhos__breadcrumb a:hover {
    text-decoration: underline;
}

.pn-loteria__hero {
    background: linear-gradient(135deg, #1a365d 0%, #0d47a1 100%);
    color: #fff;
    border-radius: var(--pn-radius-lg);
    padding: 32px 28px;
    margin-bottom: 24px;
}
.pn-loteria__hero h1 {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 8px;
    letter-spacing: -0.02em;
}
.pn-loteria__hero-sub {
    font-size: 15px;
    color: rgba(255,255,255,0.75);
    line-height: 1.55;
    margin: 0;
}
.pn-loteria__kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #ff6b6b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.pn-loteria__section-title {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 20px;
    font-weight: 900;
    color: var(--pn-text);
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--pn-accent);
    letter-spacing: -0.02em;
}
.pn-loteria__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
    margin-bottom: 28px;
}
.pn-loteria__card {
    background: var(--pn-bg-section);
    border: 1px solid var(--pn-border);
    border-radius: var(--pn-radius);
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
}
.pn-loteria__card:hover {
    transform: translateY(-3px);
    box-shadow: var(--pn-shadow-md);
}
.pn-loteria__card-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    background: var(--pn-border);
}
.pn-loteria__card-body {
    padding: 14px;
}
.pn-loteria__card-title {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 6px;
    letter-spacing: -0.02em;
}
.pn-loteria__card-title a {
    color: var(--pn-text-secondary);
    text-decoration: none !important;
}
.pn-loteria__card-date {
    font-size: 11px;
    color: var(--pn-text-tertiary);
    font-weight: 500;
}

.pn-loteria__more-title {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--pn-text-secondary);
    margin: 0 0 14px;
    letter-spacing: -0.02em;
}
.pn-loteria__list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 6px 16px;
}
.pn-loteria__list li {
    padding: 8px 0;
    border-bottom: 1px solid var(--pn-border);
}
.pn-loteria__list a {
    color: var(--pn-text-secondary);
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}
.pn-loteria__list a:hover {
    color: var(--pn-primary);
}
.pn-loteria__list-date {
    font-size: 11px;
    color: var(--pn-text-tertiary);
    display: block;
    margin-top: 2px;
}

.pn-loteria__cta {
    display: block;
    text-align: center;
    margin: 28px 0;
}
.pn-loteria__cta a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    background: var(--pn-accent);
    color: #fff;
    border-radius: 30px;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 14px;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 4px 14px rgba(13, 71, 161, 0.3);
}
.pn-loteria__cta a:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(13, 71, 161, 0.45);
}

.pn-loteria__info {
    background: var(--pn-bg-section);
    border: 1px solid var(--pn-border);
    border-radius: var(--pn-radius);
    padding: 24px;
    margin: 28px 0;
    font-size: 14px;
    color: var(--pn-text-tertiary);
    line-height: 1.7;
}
.pn-loteria__info h2,
.pn-loteria__info h3 {
    font-family: 'Merriweather', Georgia, serif;
    color: var(--pn-text-secondary);
    margin: 0 0 10px;
}
.pn-loteria__info h2 { font-size: 20px; }
.pn-loteria__info h3 { font-size: 16px; }

.pn-loteria__crosslinks {
    background: var(--pn-bg-section);
    border: 1px solid var(--pn-border);
    border-radius: var(--pn-radius);
    padding: 20px;
    margin: 32px 0 0;
    text-align: center;
}
.pn-loteria__crosslinks-title {
    font-weight: 700;
    font-size: 13px;
    color: var(--pn-text-secondary);
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.pn-loteria__crosslinks-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
.pn-loteria__crosslinks-grid a {
    padding: 8px 16px;
    background: var(--pn-bg);
    border: 1px solid var(--pn-border);
    border-radius: 20px;
    color: var(--pn-text-secondary);
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    transition: border-color 0.2s, color 0.2s;
}
.pn-loteria__crosslinks-grid a:hover {
    border-color: var(--pn-accent);
    color: var(--pn-accent);
}

.pn-loteria__ad {
    padding: 0;
    margin: 24px 0;
    min-height: 90px;
}

/* ==========================================================================
   SECTION: SONHOS (from pn-dicionario-sonhos.css + pn-sonhos.css)
   ========================================================================== */

.pn-sonhos {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--pn-bg);
    color: var(--pn-text);
    -webkit-font-smoothing: antialiased;
    padding: 0 0 60px;
    overflow-x: hidden;
}
.pn-sonhos__container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 15px;
}

.pn-sonhos__hero {
    background: linear-gradient(135deg, #2d1a4a 0%, #6b21a8 100%);
    color: #fff;
    border-radius: var(--pn-radius-lg);
    padding: 32px 28px;
    margin-bottom: 24px;
    text-align: center;
}
.pn-sonhos__hero h1 {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 10px;
    letter-spacing: -0.02em;
}
.pn-sonhos__hero p {
    margin: 0 auto 8px;
    color: rgba(255,255,255,0.75);
    font-size: 14px;
    line-height: 1.55;
    max-width: 650px;
}
.pn-sonhos__hero p:last-child {
    margin-bottom: 0;
}
.pn-sonhos__kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #c084fc;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.pn-sonhos__az {
    background: var(--pn-bg-section);
    border: 1px solid var(--pn-border);
    border-radius: var(--pn-radius);
    padding: 20px;
    margin-bottom: 32px;
    text-align: center;
}
.pn-sonhos__az h2 {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 16px;
    font-weight: 900;
    color: var(--pn-text);
    margin: 0 0 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.pn-sonhos__az-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
}
.pn-sonhos__az-grid a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--pn-bg);
    border: 1px solid var(--pn-border);
    border-radius: 50%;
    color: var(--pn-primary);
    font-weight: 700;
    font-size: 13px;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.pn-sonhos__az-grid a:hover {
    background: var(--pn-accent);
    color: #fff;
    border-color: var(--pn-accent);
}

.pn-sonhos__letter {
    margin-bottom: 28px;
}
.pn-sonhos__letter h2 {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 24px;
    font-weight: 900;
    color: var(--pn-accent);
    margin: 0 0 12px;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--pn-accent);
    letter-spacing: -0.02em;
}
.pn-sonhos__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.pn-sonhos__item {
    background: var(--pn-bg-section);
    border: 1px solid var(--pn-border);
    border-left: 3px solid var(--pn-accent);
    border-radius: var(--pn-radius);
    transition: transform 0.15s, box-shadow 0.15s;
}
.pn-sonhos__item:hover {
    transform: translateX(3px);
    box-shadow: var(--pn-shadow-md);
}
.pn-sonhos__item a {
    display: block;
    padding: 12px 14px;
    color: var(--pn-text-secondary);
    text-decoration: none !important;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.35;
}

.pn-sonhos__ad {
    padding: 0;
    margin: 24px 0;
    min-height: 90px;
}

/* From orphan pn-sonhos.css */
.pn-sonhos-wrap {
    --pn-hub-brand: #1a365d;
    --pn-hub-accent: #c41e3a;
    --pn-hub-warm: #f59e0b;
}
.pn-sonhos-hero {
    background: linear-gradient(135deg, rgba(26, 54, 93, 0.96), rgba(11, 59, 91, 0.92)), #1a365d;
    color: #fff;
    border: 0;
}
.pn-sonhos-hero .pn-hub-kicker,
.pn-sonhos-hero .pn-hub-title,
.pn-sonhos-hero .pn-hub-lead {
    color: #fff;
}
.sonhos-letra-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--pn-hub-brand);
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
    margin: 0 0 18px;
}
.sonhos-letra-title::after {
    content: "";
    height: 2px;
    flex: 1;
    background: var(--pn-hub-line);
}

/* ==========================================================================
   SECTION: DARK MODE OVERRIDES
   ========================================================================== */

.s-dark .pn-loteria,
.site-s-dark .pn-loteria,
.pn-dark .pn-loteria,
.s-dark .pn-sonhos,
.site-s-dark .pn-sonhos,
.pn-dark .pn-sonhos {
    background: #0f0f0f;
}

.s-dark .pn-loteria__card,
.site-s-dark .pn-loteria__card,
.pn-dark .pn-loteria__card,
.s-dark .pn-loteria__crosslinks,
.site-s-dark .pn-loteria__crosslinks,
.pn-dark .pn-loteria__crosslinks,
.s-dark .pn-loteria__info,
.site-s-dark .pn-loteria__info,
.pn-dark .pn-loteria__info,
.s-dark .pn-sonhos__az,
.site-s-dark .pn-sonhos__az,
.pn-dark .pn-sonhos__az,
.s-dark .pn-sonhos__item,
.site-s-dark .pn-sonhos__item,
.pn-dark .pn-sonhos__item {
    background: #1a1a1a;
    border-color: #2a2a2a;
}

.s-dark .pn-loteria__crosslinks-grid a,
.site-s-dark .pn-loteria__crosslinks-grid a,
.pn-dark .pn-loteria__crosslinks-grid a,
.s-dark .pn-sonhos__az-grid a,
.site-s-dark .pn-sonhos__az-grid a,
.pn-dark .pn-sonhos__az-grid a {
    background: #121212;
    border-color: #2a2a2a;
}

.s-dark .pn-loteria__list li,
.site-s-dark .pn-loteria__list li,
.pn-dark .pn-loteria__list li {
    border-color: #2a2a2a;
}

/* ==========================================================================
   SECTION: RESPONSIVE BREAKPOINTS
   ========================================================================== */

@media (max-width: 900px) {
    .hub-loterias-game-grid,
    .hub-loterias-layout {
        grid-template-columns: 1fr;
    }

    .hub-loterias-guide {
        position: static;
    }
}

@media (max-width: 720px) {
    .pn-bicho-history-top,
    .pn-bicho-live-top {
        display: block;
    }

    .pn-bicho-history-total,
    .pn-bicho-live-date {
        margin-top: 14px;
        text-align: left;
    }
}

@media (max-width: 640px) {
    .hub-loterias-featured {
        grid-template-columns: 1fr;
    }

    .hub-loterias-featured__title {
        font-size: 19px;
    }

    .hub-loterias-primary,
    .hub-loterias-secondary,
    .hub-loterias-link,
    .pn-bicho-btn {
        width: 100%;
    }

    .pn-loteria__hero,
    .pn-sonhos__hero {
        padding: 26px 20px;
    }

    .pn-loteria__hero h1,
    .pn-sonhos__hero h1 {
        font-size: 22px;
    }

    .pn-loteria__grid,
    .pn-loteria__list,
    .pn-sonhos__grid {
        grid-template-columns: 1fr;
    }

    .pn-bicho-table th,
    .pn-bicho-table td {
        font-size: 13px;
        padding: 10px 8px;
    }

    .pn-sonhos__letter h2 {
        font-size: 20px;
    }

    .sonhos-index {
        position: static;
    }
}

@media (min-width: 900px) {
    .pn-loteria__hero h1,
    .pn-sonhos__hero h1 {
        font-size: 36px;
    }

    .pn-sonhos__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ═══════════════════════════════════════════════════════════════
   APPEND — Componentes faltantes (Hub + Service Strip + Cards)
   ═══════════════════════════════════════════════════════════════ */

/* ── Service Strip (sticky) ────────────────────────────────── */
.pn-service-strip {
    display: flex;
    gap: 8px;
    padding: 10px 15px;
    border-bottom: 1px solid var(--pn-hub-line);
    background: #fff;
    white-space: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    position: sticky;
    top: 0;
    z-index: 100;
}
.pn-service-strip::-webkit-scrollbar { display: none; }
.pn-service-strip a {
    text-decoration: none !important;
    color: var(--pn-hub-ink);
    font-weight: 700;
    font-size: 13px;
    padding: 8px 14px;
    min-height: 40px;
    display: flex;
    align-items: center;
    border-radius: 6px;
    border: 1px solid var(--pn-hub-line);
    background: #f8fafc;
    transition: all .2s;
    flex-shrink: 0;
}
.pn-service-strip a:hover {
    border-color: var(--pn-hub-brand);
    color: var(--pn-hub-brand);
    background: #fff;
}

/* ── Service Cards ─────────────────────────────────────────── */
.pn-service-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin: 30px 0;
}
.pn-service-card {
    display: block;
    padding: 25px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--pn-hub-line);
    border-top: 5px solid var(--pn-hub-accent);
    text-decoration: none;
    transition: transform .2s, box-shadow .2s;
}
.pn-service-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(15,63,79,.12);
}
.pn-service-card strong {
    display: block;
    font-size: 20px;
    color: var(--pn-hub-brand);
    margin-bottom: 8px;
}
.pn-service-card span {
    font-size: 14px;
    color: var(--pn-hub-muted);
    line-height: 1.5;
}

/* ── Pagination ────────────────────────────────────────────── */
.pn-hub-pagination,
.pn-loteria__pagination {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}
.pn-hub-pagination a,
.pn-hub-pagination span,
.pn-loteria__pagination a,
.pn-loteria__pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    border: 1px solid var(--pn-hub-line);
    border-radius: 6px;
    background: #fff;
    color: var(--pn-hub-ink);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    padding: 0 12px;
    transition: all .15s;
}
.pn-hub-pagination a:hover,
.pn-loteria__pagination a:hover {
    border-color: var(--pn-hub-brand);
    color: var(--pn-hub-brand);
    background: #f8fafc;
}
.pn-hub-pagination .current,
.pn-loteria__pagination .current {
    background: var(--pn-hub-brand);
    color: #fff;
    border-color: var(--pn-hub-brand);
}

/* ── Breadcrumb (taxonomy) ─────────────────────────────────── */
.pn-breadcrumb-sep {
    color: var(--pn-hub-muted);
    margin: 0 6px;
}

/* ── Dark mode overrides (Service Strip/Cards) ─────────────── */
.s-dark .pn-service-strip,
.site-s-dark .pn-service-strip {
    background: #0f0f0f;
    border-color: #2a2a2a;
}
.s-dark .pn-service-strip a,
.site-s-dark .pn-service-strip a {
    background: #1a1a1a;
    border-color: #2a2a2a;
    color: #e2e8f0;
}
.s-dark .pn-service-strip a:hover,
.site-s-dark .pn-service-strip a:hover {
    border-color: var(--pn-hub-accent);
    color: var(--pn-hub-accent);
}
.s-dark .pn-service-card,
.site-s-dark .pn-service-card {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .pn-service-card strong,
.site-s-dark .pn-service-card strong {
    color: #e2e8f0;
}
.s-dark .pn-service-card span,
.site-s-dark .pn-service-card span {
    color: #94a3b8;
}
.s-dark .pn-hub-pagination a,
.site-s-dark .pn-hub-pagination a,
.s-dark .pn-loteria__pagination a,
.site-s-dark .pn-loteria__pagination a {
    background: #1a1a1a;
    border-color: #2a2a2a;
    color: #e2e8f0;
}
.s-dark .pn-hub-pagination .current,
.site-s-dark .pn-hub-pagination .current {
    background: var(--pn-hub-accent);
    border-color: var(--pn-hub-accent);
}

/* ═══════════════════════════════════════════════════════════════
   APPEND v3 — Componentes Premium (análise concorrente)
   Bola Número | Tabela Prêmio | Abas | Badge | Timestamp | Sumário
   Horário Card | Prêmio Estimado
   ═══════════════════════════════════════════════════════════════ */

/* ── Bola de Número (estilo Caixa) ──────────────────────────── */
.pn-bolas-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 20px 0;
}
.pn-bola {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a73e8 0%, #0d47a1 100%);
    color: #fff;
    font-size: 20px;
    font-weight: 900;
    font-family: 'Inter', -apple-system, sans-serif;
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.3);
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
.pn-bola--mega { background: linear-gradient(135deg, #209869 0%, #1b7a52 100%); }
.pn-bola--lotofacil { background: linear-gradient(135deg, #930089 0%, #6b0063 100%); }
.pn-bola--quina { background: linear-gradient(135deg, #260085 0%, #1a005c 100%); }
.pn-bola--federal { background: linear-gradient(135deg, #049dd9 0%, #037bb0 100%); }
.pn-bola--bicho { background: linear-gradient(135deg, #b91c1c 0%, #8b1515 100%); }

/* Bolas pequenas (para listas) */
.pn-bolas-grid--sm .pn-bola {
    width: 40px;
    height: 40px;
    font-size: 14px;
}

/* ── Tabela de Premiação ───────────────────────────────────── */
.pn-tabela-premio {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 20px 0;
    border-radius: var(--pn-radius-lg);
    overflow: hidden;
    border: 1px solid var(--pn-hub-line);
    background: #fff;
}
.pn-tabela-premio thead {
    background: linear-gradient(135deg, var(--pn-hub-brand) 0%, #0b2d38 100%);
    color: #fff;
}
.pn-tabela-premio th {
    padding: 14px 16px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-align: left;
}
.pn-tabela-premio td {
    padding: 14px 16px;
    font-size: 15px;
    border-bottom: 1px solid #f1f5f9;
    color: var(--pn-hub-ink);
}
.pn-tabela-premio tbody tr:hover {
    background: #f8fafc;
}
.pn-tabela-premio tbody tr:last-child td {
    border-bottom: 0;
}
.pn-tabela-premio .faixa {
    font-weight: 800;
    color: var(--pn-hub-brand);
}
.pn-tabela-premio .ganhadores {
    font-weight: 700;
    color: var(--pn-hub-accent);
}
.pn-tabela-premio .premio {
    font-weight: 900;
    color: #15803d;
    font-size: 16px;
}
.pn-tabela-premio .acumulou td {
    background: #fef3c7;
    color: #92400e;
    font-weight: 800;
}

/* ── Abas (Tabs) ──────────────────────────────────────────── */
.pn-abas {
    display: flex;
    gap: 0;
    border-bottom: 3px solid var(--pn-hub-line);
    margin: 0 0 24px;
    overflow-x: auto;
    scrollbar-width: none;
}
.pn-abas::-webkit-scrollbar { display: none; }
.pn-aba {
    padding: 14px 22px;
    font-size: 14px;
    font-weight: 800;
    color: var(--pn-hub-muted);
    text-decoration: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -3px;
    white-space: nowrap;
    transition: all .15s;
    cursor: pointer;
    background: none;
    border: 0;
    border-bottom: 3px solid transparent;
}
.pn-aba:hover {
    color: var(--pn-hub-brand);
    background: rgba(15, 63, 79, 0.04);
}
.pn-aba--ativa {
    color: var(--pn-hub-brand);
    border-bottom-color: var(--pn-hub-brand);
}

/* ── Badge ─────────────────────────────────────────────────── */
.pn-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.pn-badge--acumulou {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}
.pn-badge--ganhador {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #86efac;
}
.pn-badge--ao-vivo {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
    animation: pn-pulse 2s infinite;
}
.pn-badge--nova {
    background: #dbeafe;
    color: #1e40af;
    border: 1px solid #93c5fd;
}
@keyframes pn-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* ── Timestamp ─────────────────────────────────────────────── */
.pn-timestamp {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    font-family: 'Inter', monospace;
}
.pn-timestamp::before {
    content: "🕐";
}

/* ── Sumário da Página ─────────────────────────────────────── */
.pn-sumario {
    background: #f8fafc;
    border: 1px solid var(--pn-hub-line);
    border-radius: var(--pn-radius);
    padding: 20px;
    margin: 0 0 24px;
}
.pn-sumario h3 {
    font-size: 14px;
    font-weight: 900;
    color: var(--pn-hub-brand);
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.pn-sumario ol {
    margin: 0;
    padding-left: 20px;
}
.pn-sumario li {
    margin-bottom: 6px;
    font-size: 14px;
}
.pn-sumario a {
    color: var(--pn-hub-brand);
    text-decoration: none;
    font-weight: 600;
}
.pn-sumario a:hover {
    text-decoration: underline;
}

/* ── Card de Horário de Sorteio ────────────────────────────── */
.pn-horario-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    margin: 20px 0;
}
.pn-horario-card {
    border: 1px solid var(--pn-hub-line);
    border-radius: var(--pn-radius);
    background: #fff;
    padding: 16px;
    text-align: center;
    transition: all .2s;
}
.pn-horario-card:hover {
    border-color: var(--pn-hub-brand);
    box-shadow: var(--pn-hub-shadow);
}
.pn-horario-card__hora {
    font-size: 24px;
    font-weight: 900;
    color: var(--pn-hub-brand);
    margin: 0 0 4px;
}
.pn-horario-card__label {
    font-size: 12px;
    font-weight: 800;
    color: var(--pn-hub-accent);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 6px;
}
.pn-horario-card__desc {
    font-size: 13px;
    color: var(--pn-hub-muted);
    margin: 0;
}
.pn-horario-card--destaque {
    border-top: 4px solid var(--pn-hub-accent);
    background: linear-gradient(180deg, #fff 0%, #fef2f2 100%);
}

/* ── Card de Prêmio Estimado ──────────────────────────────── */
.pn-premio-card {
    border: 1px solid var(--pn-hub-line);
    border-radius: var(--pn-radius-lg);
    background: #fff;
    padding: 24px;
    text-align: center;
    transition: all .2s;
}
.pn-premio-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--pn-hub-shadow);
}
.pn-premio-card__valor {
    font-size: 32px;
    font-weight: 900;
    color: var(--pn-hub-brand);
    margin: 0 0 8px;
    line-height: 1;
}
.pn-premio-card__valor span {
    font-size: 16px;
    font-weight: 700;
    color: var(--pn-hub-muted);
}
.pn-premio-card__proximo {
    font-size: 13px;
    color: var(--pn-hub-muted);
    margin: 0 0 12px;
}
.pn-premio-card__acao {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    color: #fff;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    transition: all .2s;
}
.pn-premio-card__acao:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.3);
}

/* ── Dark mode overrides (Premium) ─────────────────────────── */
.s-dark .pn-tabela-premio,
.site-s-dark .pn-tabela-premio {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .pn-tabela-premio thead,
.site-s-dark .pn-tabela-premio thead {
    background: linear-gradient(135deg, #0f3f4f 0%, #0b2d38 100%);
}
.s-dark .pn-tabela-premio td,
.site-s-dark .pn-tabela-premio td {
    color: #e2e8f0;
    border-color: #2a2a2a;
}
.s-dark .pn-tabela-premio tbody tr:hover,
.site-s-dark .pn-tabela-premio tbody tr:hover {
    background: #222;
}
/* Taxonomy Sidebar Components */
.pn-sidebar-block {
    margin-bottom: 30px;
    padding: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
}
.pn-sidebar-block h3 {
    font-size: 18px;
    font-weight: 900;
    color: var(--pn-hub-brand);
    margin: 0 0 15px;
    border-bottom: 2px solid #b91c1c;
    padding-bottom: 5px;
}
.pn-sidebar-discover {
    padding: 20px;
    border-radius: 8px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-left: 4px solid #4285f4;
}
.pn-sidebar-discover p {
    margin: 0;
    font-size: 14px;
    color: #334155;
    line-height: 1.5;
}

/* Taxonomy Card Placeholder */
.pn-loteria__card-placeholder {
    aspect-ratio: 16/10;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

/* Taxonomy Hero Variants */
.pn-loteria__hero--sorteio {
    background: linear-gradient(135deg, #2d5a3f 0%, #1b3a2a 100%);
}

.s-dark .pn-sidebar-block,
.site-s-dark .pn-sidebar-block {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .pn-sidebar-block h3,
.site-s-dark .pn-sidebar-block h3 {
    color: #94a3b8;
    border-color: #b91c1c;
}
.s-dark .pn-sidebar-discover,
.site-s-dark .pn-sidebar-discover {
    background: linear-gradient(135deg, #1a1a1a 0%, #222 100%);
    border-color: #4285f4;
}
.s-dark .pn-sidebar-discover p,
.site-s-dark .pn-sidebar-discover p {
    color: #e2e8f0;
}

.s-dark .pn-abas,
.site-s-dark .pn-abas {
    border-color: #2a2a2a;
}
.s-dark .pn-aba,
.site-s-dark .pn-aba {
    color: #94a3b8;
}
.s-dark .pn-aba:hover,
.site-s-dark .pn-aba:hover {
    background: rgba(255,255,255,0.04);
    color: #e2e8f0;
}
.s-dark .pn-aba--ativa,
.site-s-dark .pn-aba--ativa {
    color: #60a5fa;
    border-color: #60a5fa;
}
.s-dark .pn-sumario,
.site-s-dark .pn-sumario {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .pn-horario-card,
.site-s-dark .pn-horario-card {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .pn-premio-card,
.site-s-dark .pn-premio-card {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .pn-premio-card__valor,
.site-s-dark .pn-premio-card__valor {
    color: #60a5fa;
}
.s-dark .pn-badge--acumulou,
.site-s-dark .pn-badge--acumulou {
    background: #451a03;
    color: #fcd34d;
    border-color: #92400e;
}
.s-dark .pn-badge--ganhador,
.site-s-dark .pn-badge--ganhador {
    background: #052e16;
    color: #86efac;
    border-color: #166534;
}
.s-dark .pn-timestamp,
.site-s-dark .pn-timestamp {
    background: #1a1a1a;
    color: #94a3b8;
}


/* ─── Dark Mode Overrides ─ Taxonomy Sidebar ──────────────────────────────── */
.s-dark .pn-sidebar-block,
.site-s-dark .pn-sidebar-block {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .pn-sidebar-discover,
.site-s-dark .pn-sidebar-discover {
    background: linear-gradient(135deg, #1a1a1a 0%, #222 100%);
    border-left-color: #4285f4;
}
.s-dark .pn-loteria__hero--sorteio,
.site-s-dark .pn-loteria__hero--sorteio {
    background: linear-gradient(135deg, #1a3a4a 0%, #0f2530 100%);
}
.s-dark .pn-loteria__card-placeholder,
.site-s-dark .pn-loteria__card-placeholder {
    background: #1e1e1e;
}

/* ── Dark mode: inline styles refatorados ─────────────────────── */
.pn-section-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--pn-hub-brand);
    margin-bottom: 16px;
    text-transform: uppercase;
}
.pn-section-title--sm {
    font-size: 16px;
}
.s-dark .pn-section-title,
.site-s-dark .pn-section-title {
    color: #60a5fa;
}

/* ═══ DARK MODE COMPLETO OVERRIDES ─ HUB + INTERNAIS ═══════════════════ */

/* Hero + Títulos */
.s-dark .hub-loterias-wrap .pn-hub-hero,
.site-s-dark .hub-loterias-wrap .pn-hub-hero {
    background: linear-gradient(135deg, #1a1a2e 0%, #0f172a 100%);
    color: #e2e8f0;
}
.s-dark .hub-loterias-wrap .pn-hub-hero .pn-hub-kicker,
.site-s-dark .hub-loterias-wrap .pn-hub-hero .pn-hub-kicker {
    color: #94a3b8;
}
.s-dark .hub-loterias-wrap .pn-hub-hero .pn-hub-title,
.site-s-dark .hub-loterias-wrap .pn-hub-hero .pn-hub-title {
    color: #f8fafc;
}
.s-dark .hub-loterias-wrap .pn-hub-hero .pn-hub-lead,
.site-s-dark .hub-loterias-wrap .pn-hub-hero .pn-hub-lead {
    color: #94a3b8;
}

/* Hubs títulos de seção (era color:#0f3f4f) */
.s-dark .hub-loterias-wrap h2.pn-hub-panel__title,
.site-s-dark .hub-loterias-wrap h2.pn-hub-panel__title,
.s-dark .hub-loterias-wrap .pn-section-title,
.site-s-dark .hub-loterias-wrap .pn-section-title {
    color: #60a5fa;
    border-color: #b91c1c;
}

/* Layout grid sidebar */
.s-dark .hub-loterias-wrap .hub-loterias-layout,
.site-s-dark .hub-loterias-wrap .hub-loterias-layout {
    background: transparent;
}

/* Service cards (eram background:#fff) */
.s-dark .hub-loterias-wrap .pn-service-card,
.site-s-dark .hub-loterias-wrap .pn-service-card {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .hub-loterias-wrap .pn-service-card strong,
.site-s-dark .hub-loterias-wrap .pn-service-card strong {
    color: #f8fafc;
}
.s-dark .hub-loterias-wrap .pn-service-card span,
.site-s-dark .hub-loterias-wrap .pn-service-card span {
    color: #94a3b8;
}

/* Notícias list (links estavam color:#0f172a) */
.s-dark .hub-loterias-wrap .hub-loterias-news h3 a,
.site-s-dark .hub-loterias-wrap .hub-loterias-news h3 a {
    color: #e2e8f0;
}
.s-dark .hub-loterias-wrap .hub-loterias-news,
.site-s-dark .hub-loterias-wrap .hub-loterias-news {
    border-color: #2a2a2a;
}

/* Featured section */
.s-dark .hub-loterias-wrap .hub-loterias-featured,
.site-s-dark .hub-loterias-wrap .hub-loterias-featured {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .hub-loterias-wrap .hub-loterias-featured__title a,
.site-s-dark .hub-loterias-wrap .hub-loterias-featured__title a {
    color: #f8fafc;
}
.s-dark .hub-loterias-wrap .hub-loterias-featured__meta,
.site-s-dark .hub-loterias-wrap .hub-loterias-featured__meta {
    color: #94a3b8;
}

/* Sidebar blocks */
.s-dark .hub-loterias-wrap .pn-sidebar-block,
.site-s-dark .hub-loterias-wrap .pn-sidebar-block {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .hub-loterias-wrap .pn-sidebar-block h3,
.site-s-dark .hub-loterias-wrap .pn-sidebar-block h3 {
    color: #60a5fa;
    border-color: #b91c1c;
}

/* Discover CTA */
.s-dark .hub-loterias-wrap .pn-sidebar-discover,
.site-s-dark .hub-loterias-wrap .pn-sidebar-discover {
    background: linear-gradient(135deg, #1a1a1a 0%, #222 100%);
    border-color: #4285f4;
}
.s-dark .hub-loterias-wrap .pn-sidebar-discover p,
.site-s-dark .hub-loterias-wrap .pn-sidebar-discover p,
.s-dark .hub-loterias-wrap .pn-sidebar-discover h4,
.site-s-dark .hub-loterias-wrap .pn-sidebar-discover h4 {
    color: #e2e8f0;
}

/* Editorial note sidebar */
.s-dark .hub-loterias-wrap .hub-loterias-editorial,
.site-s-dark .hub-loterias-wrap .hub-loterias-editorial {
    background: #1a1a1a;
    color: #94a3b8;
}

/* Botões hero */
.s-dark .hub-loterias-wrap .hub-loterias-primary,
.site-s-dark .hub-loterias-wrap .hub-loterias-primary {
    background: #dc2626;
    color: #fff;
}
.s-dark .hub-loterias-wrap .hub-loterias-secondary,
.site-s-dark .hub-loterias-wrap .hub-loterias-secondary {
    background: #1e293b;
    color: #e2e8f0;
    border-color: #334155;
}

/* Status badges */
.s-dark .hub-loterias-status span,
.site-s-dark .hub-loterias-status span {
    background: rgba(255,255,255,0.06);
    color: #94a3b8;
}

/* Service strip */
.s-dark .hub-loterias-wrap .pn-service-strip,
.site-s-dark .hub-loterias-wrap .pn-service-strip {
    background: #1a1a1a;
    border-color: #2a2a2a;
}

/* Sumário */
.s-dark .hub-loterias-wrap .pn-sumario,
.site-s-dark .hub-loterias-wrap .pn-sumario {
    background: #1a1a1a;
    border-color: #2a2a2a;
}

/* FAQ */
.s-dark .hub-loterias-wrap .hub-faq-item details,
.site-s-dark .hub-loterias-wrap .hub-faq-item details {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .hub-loterias-wrap .hub-faq-item summary,
.site-s-dark .hub-loterias-wrap .hub-faq-item summary {
    color: #e2e8f0;
}
.s-dark .hub-loterias-wrap .hub-faq-answer,
.site-s-dark .hub-loterias-wrap .hub-faq-answer {
    color: #94a3b8;
}

/* Horário cards */
.s-dark .hub-loterias-wrap .pn-horario-card,
.site-s-dark .hub-loterias-wrap .pn-horario-card {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .hub-loterias-wrap .pn-horario-card__label,
.site-s-dark .hub-loterias-wrap .pn-horario-card__label {
    color: #f8fafc;
}
.s-dark .hub-loterias-wrap .pn-horario-card__hora,
.site-s-dark .hub-loterias-wrap .pn-horario-card__hora {
    color: #60a5fa;
}
.s-dark .hub-loterias-wrap .pn-horario-card__desc,
.site-s-dark .hub-loterias-wrap .pn-horario-card__desc {
    color: #94a3b8;
}

/* Empty message */
.s-dark .hub-loterias-empty,
.site-s-dark .hub-loterias-empty {
    color: #94a3b8;
}

/* ═══════════════════════════════════════════════════════════════
   HUB LOTERIAS v2 — CSS Premium
   Seções: Hero | Cards Grid | Resultados | Bicho | Horários | Layout | Sidebar | Dark Mode
   ═══════════════════════════════════════════════════════════════ */

/* ─── HERO PREMIUM ───────────────────────────────────────────────────── */
.pn-loterias-v2 .pn-loterias-hero {
    background: linear-gradient(135deg, #0f172a 0%, #0c2a3a 50%, #0a1f2e 100%);
    color: #fff;
    padding: 50px 20px 40px;
    position: relative;
    overflow: hidden;
}
.pn-loterias-v2 .pn-loterias-hero::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(33,152,105,0.15) 0%, transparent 70%);
    pointer-events: none;
}
.pn-loterias-v2 .pn-loterias-hero::after {
    content: '';
    position: absolute;
    bottom: -80px;
    left: -80px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(185,28,28,0.1) 0%, transparent 70%);
    pointer-events: none;
}
.pn-loterias-v2 .pn-loterias-hero__inner {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.pn-loterias-v2 .pn-loterias-hero__badge {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.pn-loterias-v2 .pn-loterias-hero__badge-live {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(220,38,38,0.2);
    border: 1px solid rgba(220,38,38,0.3);
    color: #ef4444;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1px;
    padding: 4px 14px;
    border-radius: 20px;
    animation: pn-pulse-badge 2s infinite;
}
@keyframes pn-pulse-badge {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}
.pn-loterias-v2 .pn-loterias-hero__badge-date {
    display: inline-flex;
    align-items: center;
    background: rgba(255,255,255,0.08);
    color: #94a3b8;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 20px;
}
.pn-loterias-v2 .pn-loterias-hero__title {
    font-size: clamp(32px, 6vw, 52px);
    font-weight: 900;
    color: #fff;
    margin: 0 0 16px;
    line-height: 1.1;
    letter-spacing: -0.5px;
}
.pn-loterias-v2 .pn-loterias-hero__subtitle {
    font-size: clamp(16px, 2.5vw, 20px);
    color: #94a3b8;
    margin: 0 0 30px;
    max-width: 600px;
    line-height: 1.5;
}
.pn-loterias-v2 .pn-loterias-hero__destaque {
    background: linear-gradient(135deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    padding: 24px;
    max-width: 480px;
    margin-top: 24px;
    backdrop-filter: blur(10px);
}
.pn-loterias-v2 .pn-loterias-hero__destaque-loteria {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.pn-loterias-v2 .pn-loterias-hero__destaque-nome {
    font-size: 18px;
    font-weight: 900;
    display: flex;
    align-items: center;
    gap: 6px;
}
.pn-loterias-v2 .pn-loterias-hero__destaque-concurso {
    font-size: 13px;
    color: #94a3b8;
    font-weight: 700;
    background: rgba(255,255,255,0.08);
    padding: 3px 10px;
    border-radius: 12px;
}
.pn-loterias-v2 .pn-loterias-hero__destaque-valor {
    font-size: 36px;
    font-weight: 900;
    color: #fbbf24;
    margin: 12px 0;
    font-family: 'SF Mono', 'Courier New', monospace;
}
.pn-loterias-v2 .pn-loterias-hero__destaque-valor strong {
    font-size: clamp(28px, 4vw, 40px);
}
.pn-loterias-v2 .pn-loterias-hero__destaque-acumulou {
    font-size: 14px;
    color: #fcd34d;
    font-weight: 700;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.pn-loterias-v2 .pn-loterias-hero__destaque-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #dc2626;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s;
}
.pn-loterias-v2 .pn-loterias-hero__destaque-btn:hover {
    background: #b91c1c;
    transform: translateY(-2px);
}

/* ─── SECTION TITLES ───────────────────────────────────────────────── */
.pn-loterias-v2 .pn-loterias-section {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 20px;
}
.pn-loterias-v2 .pn-loterias-section__title {
    font-size: 24px;
    font-weight: 900;
    color: #0f172a;
    margin: 0 0 24px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.pn-loterias-v2 .pn-loterias-section__icon {
    font-size: 28px;
}

/* ─── CARDS GRID DE LOTERIAS ───────────────────────────────────────── */
.pn-loterias-v2 .pn-loterias-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}
.pn-loterias-v2 .pn-loterias-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 0;
    overflow: hidden;
    transition: transform 0.25s, box-shadow 0.25s;
    position: relative;
}
.pn-loterias-v2 .pn-loterias-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px -8px rgba(0,0,0,0.12);
}
.pn-loterias-v2 .pn-loterias-card__header {
    padding: 20px 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.pn-loterias-v2 .pn-loterias-card__bolinha {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.pn-loterias-v2 .pn-loterias-card__nome {
    font-size: 18px;
    font-weight: 900;
    color: #0f172a;
    margin: 0;
    flex: 1;
}
.pn-loterias-v2 .pn-loterias-card__acumulou {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #92400e;
    font-size: 11px;
    font-weight: 900;
    padding: 3px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.pn-loterias-v2 .pn-loterias-card__concurso {
    font-size: 13px;
    color: #64748b;
    font-weight: 700;
    padding: 0 20px;
    margin-bottom: 6px;
}
.pn-loterias-v2 .pn-loterias-card__valor {
    font-size: 22px;
    font-weight: 900;
    color: #dc2626;
    padding: 0 20px;
    margin-bottom: 14px;
    font-family: 'SF Mono', 'Courier New', monospace;
}
.pn-loterias-v2 .pn-loterias-card__meta {
    display: flex;
    gap: 12px;
    padding: 0 20px;
    margin-bottom: 16px;
    font-size: 12px;
    color: #64748b;
    font-weight: 700;
}
.pn-loterias-v2 .pn-loterias-card__btn {
    display: block;
    background: linear-gradient(135deg, var(--loteria-cor, #0f3f4f), var(--loteria-cor2, #0b2d38));
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    padding: 12px 20px;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.2s;
}
.pn-loterias-v2 .pn-loterias-card__btn:hover {
    opacity: 0.9;
}

/* ─── RESULTADOS PREMIUM ───────────────────────────────────────────── */
.pn-loterias-v2 .pn-loterias-resultados-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.pn-loterias-v2 .pn-loterias-resultado {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    border-left: 4px solid var(--loteria-cor, #0f3f4f);
}
.pn-loterias-v2 .pn-loterias-resultado__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 8px;
}
.pn-loterias-v2 .pn-loterias-resultado__loteria {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.pn-loterias-v2 .pn-loterias-resultado__bolinha {
    width: 18px;
    height: 18px;
    border-radius: 50%;
}
.pn-loterias-v2 .pn-loterias-resultado__loteria strong {
    font-size: 16px;
    font-weight: 900;
    color: #0f172a;
}
.pn-loterias-v2 .pn-loterias-resultado__concurso {
    font-size: 12px;
    color: #64748b;
    font-weight: 700;
    background: #f1f5f9;
    padding: 2px 8px;
    border-radius: 8px;
}
.pn-loterias-v2 .pn-loterias-resultado__acumulou {
    font-size: 11px;
    font-weight: 900;
    color: #92400e;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    padding: 2px 10px;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.pn-loterias-v2 .pn-loterias-resultado__link {
    font-size: 13px;
    color: var(--loteria-cor, #0f3f4f);
    font-weight: 700;
    text-decoration: none;
}
.pn-loterias-v2 .pn-loterias-resultado__link:hover {
    text-decoration: underline;
}
.pn-loterias-v2 .pn-loterias-resultado__numeros {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.pn-loterias-v2 .pn-loterias-resultado__bola {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* ─── BICHO CARD PREMIUM ───────────────────────────────────────────── */
.pn-loterias-v2 .pn-loterias-bicho-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    max-width: 600px;
    margin: 0 auto;
}
.pn-loterias-v2 .pn-loterias-bicho-card__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
}
.pn-loterias-v2 .pn-loterias-bicho-card__header h3 {
    font-size: 18px;
    font-weight: 900;
    color: #0f172a;
    margin: 0 0 4px;
}
.pn-loterias-v2 .pn-loterias-bicho-card__hora {
    font-size: 13px;
    color: #64748b;
    font-weight: 700;
}
.pn-loterias-v2 .pn-loterias-bicho-card__tag {
    background: #dc2626;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
    padding: 3px 10px;
    border-radius: 20px;
}
.pn-loterias-v2 .pn-loterias-bicho-card__resultado {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.pn-loterias-v2 .pn-loterias-bicho-card__milhar {
    width: 90px;
    height: 90px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    font-weight: 900;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    flex-shrink: 0;
}
.pn-loterias-v2 .pn-loterias-bicho-card__info {
    flex: 1;
    min-width: 200px;
}
.pn-loterias-v2 .pn-loterias-bicho-card__grupo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}
.pn-loterias-v2 .pn-loterias-bicho-card__grupo span {
    font-size: 13px;
    color: #64748b;
    font-weight: 700;
    background: #f1f5f9;
    padding: 2px 8px;
    border-radius: 8px;
}
.pn-loterias-v2 .pn-loterias-bicho-card__grupo strong {
    font-size: 22px;
    font-weight: 900;
    color: #0f172a;
}
.pn-loterias-v2 .pn-loterias-bicho-card__dezena {
    font-size: 14px;
    color: #64748b;
    font-weight: 700;
}
.pn-loterias-v2 .pn-loterias-bicho-card__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.pn-loterias-v2 .pn-loterias-bicho-card__btn--primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #dc2626;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    padding: 12px 22px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s;
}
.pn-loterias-v2 .pn-loterias-bicho-card__btn--primary:hover {
    background: #b91c1c;
    transform: translateY(-2px);
}
.pn-loterias-v2 .pn-loterias-bicho-card__btn--ghost {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    color: #334155;
    font-size: 15px;
    font-weight: 800;
    padding: 12px 22px;
    border-radius: 8px;
    border: 1px solid #d7dee7;
    text-decoration: none;
    transition: all 0.2s;
}
.pn-loterias-v2 .pn-loterias-bicho-card__btn--ghost:hover {
    background: #f1f5f9;
}

/* ─── HORÁRIOS TIMELINE ──────────────────────────────────────────────── */
.pn-loterias-v2 .pn-loterias-horarios {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
}
.pn-loterias-v2 .pn-loterias-horario__slot {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 16px 0;
    position: relative;
}
.pn-loterias-v2 .pn-loterias-horario__slot::before {
    content: '';
    position: absolute;
    left: 42px;
    top: 16px;
    bottom: -16px;
    width: 2px;
    background: #e2e8f0;
}
.pn-loterias-v2 .pn-loterias-horario__slot:last-child::before {
    display: none;
}
.pn-loterias-v2 .pn-loterias-horario__hora {
    background: #0f172a;
    color: #fbbf24;
    font-size: 14px;
    font-weight: 900;
    padding: 6px 14px;
    border-radius: 8px;
    min-width: 65px;
    text-align: center;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}
.pn-loterias-v2 .pn-loterias-horario__eventos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.pn-loterias-v2 .pn-loterias-horario__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 8px;
    white-space: nowrap;
}

/* ─── LAYOUT 2-COL ───────────────────────────────────────────────────── */
.pn-loterias-v2 .pn-loterias-layout {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 30px;
    padding: 0 20px;
    align-items: start;
}
.pn-loterias-v2 .pn-loterias-layout__sidebar {
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ─── NEWS CARDS ───────────────────────────────────────────────────── */
.pn-loterias-v2 .pn-loterias-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}
.pn-loterias-v2 .pn-loterias-news-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.pn-loterias-v2 .pn-loterias-news-card:hover {
    box-shadow: 0 8px 24px -4px rgba(0,0,0,0.1);
}
.pn-loterias-v2 .pn-loterias-news-card__link {
    text-decoration: none;
    display: block;
}
.pn-loterias-v2 .pn-loterias-news-card__img {
    height: 140px;
    background-size: cover;
    background-position: center;
    background-color: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
}
.pn-loterias-v2 .pn-loterias-news-card__img--placeholder {
    background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
}
.pn-loterias-v2 .pn-loterias-news-card__body {
    padding: 14px 16px;
}
.pn-loterias-v2 .pn-loterias-news-card__body time {
    font-size: 11px;
    color: #64748b;
    font-weight: 700;
    margin-bottom: 4px;
    display: block;
}
.pn-loterias-v2 .pn-loterias-news-card__body h3 {
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
    line-height: 1.35;
}

/* ─── SIDEBAR ──────────────────────────────────────────────────────── */
.pn-loterias-v2 .pn-loterias-sidebar-cta {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border: 1px solid #86efac;
    border-radius: 16px;
    padding: 20px;
    text-align: center;
}
.pn-loterias-v2 .pn-loterias-sidebar-cta h4 {
    font-size: 16px;
    font-weight: 900;
    color: #166534;
    margin: 0 0 8px;
}
.pn-loterias-v2 .pn-loterias-sidebar-cta p {
    font-size: 13px;
    color: #475569;
    line-height: 1.5;
    margin: 0 0 14px;
}
.pn-loterias-v2 .pn-loterias-sidebar-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #0f3f4f;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s;
}
.pn-loterias-v2 .pn-loterias-sidebar-cta__btn:hover {
    background: #0b2d38;
}
.pn-loterias-v2 .pn-loterias-sidebar-block {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
}
.pn-loterias-v2 .pn-loterias-sidebar-block h4 {
    font-size: 16px;
    font-weight: 900;
    color: #0f172a;
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid #b91c1c;
}
.pn-loterias-v2 .pn-loterias-sidebar-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pn-loterias-v2 .pn-loterias-sidebar-links li a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 8px;
    transition: background 0.2s;
}
.pn-loterias-v2 .pn-loterias-sidebar-links li a:hover {
    background: #f8fafc;
}
.pn-loterias-v2 .pn-loterias-sidebar-discover {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border: 1px solid #bfdbfe;
    border-radius: 16px;
    padding: 20px;
}
.pn-loterias-v2 .pn-loterias-sidebar-discover h4 {
    font-size: 15px;
    font-weight: 900;
    color: #1e40af;
    margin: 0 0 8px;
}
.pn-loterias-v2 .pn-loterias-sidebar-discover p {
    font-size: 13px;
    color: #475569;
    line-height: 1.5;
    margin: 0;
}

/* ─── FAQ ──────────────────────────────────────────────────────────── */
.pn-loterias-v2 .pn-loterias-faq-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pn-loterias-v2 .pn-loterias-faq {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}
.pn-loterias-v2 .pn-loterias-faq summary {
    padding: 16px 20px;
    font-weight: 800;
    color: #0f172a;
    font-size: 15px;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
}
.pn-loterias-v2 .pn-loterias-faq summary::after {
    content: '+';
    position: absolute;
    right: 20px;
    font-size: 20px;
    color: #0f3f4f;
}
.pn-loterias-v2 .pn-loterias-faq[open] summary::after {
    content: '−';
}
.pn-loterias-v2 .pn-loterias-faq p {
    padding: 0 20px 16px;
    color: #475569;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* ─── RESPONSIVE ─────────────────────────────────────────────────────── */
@media (max-width: 960px) {
    .pn-loterias-v2 .pn-loterias-layout {
        grid-template-columns: 1fr;
    }
    .pn-loterias-v2 .pn-loterias-layout__sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
        gap: 16px;
    }
    .pn-loterias-v2 .pn-loterias-hero__destaque {
        max-width: 100%;
    }
}
@media (max-width: 640px) {
    .pn-loterias-v2 .pn-loterias-cards-grid,
    .pn-loterias-v2 .pn-loterias-news-grid {
        grid-template-columns: 1fr;
    }
    .pn-loterias-v2 .pn-loterias-resultado__bola {
        width: 40px;
        height: 40px;
        font-size: 15px;
    }
    .pn-loterias-v2 .pn-loterias-hero__title {
        font-size: 28px;
    }
    .pn-loterias-v2 .pn-loterias-hero__destaque-valor {
        font-size: 24px;
    }
    .pn-loterias-v2 .pn-loterias-horario__slot {
        flex-direction: column;
        gap: 10px;
    }
    .pn-loterias-v2 .pn-loterias-horario__slot::before {
        display: none;
    }
}

/* ═══ DARK MODE — Hub Loterias v2 ═════════════════════════════════════ */
.s-dark .pn-loterias-v2,
.site-s-dark .pn-loterias-v2 {
    color: #e2e8f0;
}
.s-dark .pn-loterias-v2 .pn-loterias-hero,
.site-s-dark .pn-loterias-v2 .pn-loterias-hero {
    background: linear-gradient(135deg, #1a1a2e 0%, #0f172a 100%);
}
.s-dark .pn-loterias-v2 .pn-loterias-hero__title,
.site-s-dark .pn-loterias-v2 .pn-loterias-hero__title {
    color: #f8fafc;
}
.s-dark .pn-loterias-v2 .pn-loterias-hero__subtitle,
.site-s-dark .pn-loterias-v2 .pn-loterias-hero__subtitle {
    color: #94a3b8;
}
.s-dark .pn-loterias-v2 .pn-loterias-hero__destaque,
.site-s-dark .pn-loterias-v2 .pn-loterias-hero__destaque {
    background: linear-gradient(135deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
    border-color: rgba(255,255,255,0.06);
}
.s-dark .pn-loterias-v2 .pn-loterias-hero__destaque-valor,
.site-s-dark .pn-loterias-v2 .pn-loterias-hero__destaque-valor {
    color: #fbbf24;
}
.s-dark .pn-loterias-v2 .pn-loterias-hero__destaque-acumulou,
.site-s-dark .pn-loterias-v2 .pn-loterias-hero__destaque-acumulou {
    color: #fcd34d;
}

/* Section titles */
.s-dark .pn-loterias-v2 .pn-loterias-section__title,
.site-s-dark .pn-loterias-v2 .pn-loterias-section__title {
    color: #f8fafc;
}

/* Cards grid */
.s-dark .pn-loterias-v2 .pn-loterias-card,
.site-s-dark .pn-loterias-v2 .pn-loterias-card,
.s-dark .pn-loterias-v2 .pn-loterias-resultado,
.site-s-dark .pn-loterias-v2 .pn-loterias-resultado,
.s-dark .pn-loterias-v2 .pn-loterias-bicho-card,
.site-s-dark .pn-loterias-v2 .pn-loterias-bicho-card,
.s-dark .pn-loterias-v2 .pn-loterias-horarios,
.site-s-dark .pn-loterias-v2 .pn-loterias-horarios,
.s-dark .pn-loterias-v2 .pn-loterias-news-card,
.site-s-dark .pn-loterias-v2 .pn-loterias-news-card {
    background: #1a1a1a;
    border-color: #2a2a2a;
}

/* Card headers */
.s-dark .pn-loterias-v2 .pn-loterias-card__nome,
.site-s-dark .pn-loterias-v2 .pn-loterias-card__nome,
.s-dark .pn-loterias-v2 .pn-loterias-resultado__loteria strong,
.site-s-dark .pn-loterias-v2 .pn-loterias-resultado__loteria strong,
.s-dark .pn-loterias-v2 .pn-loterias-bicho-card__header h3,
.site-s-dark .pn-loterias-v2 .pn-loterias-bicho-card__header h3,
.s-dark .pn-loterias-v2 .pn-loterias-bicho-card__grupo strong,
.site-s-dark .pn-loterias-v2 .pn-loterias-bicho-card__grupo strong,
.s-dark .pn-loterias-v2 .pn-loterias-news-card__body h3,
.site-s-dark .pn-loterias-v2 .pn-loterias-news-card__body h3 {
    color: #f8fafc;
}

/* Muted text */
.s-dark .pn-loterias-v2 .pn-loterias-card__concurso,
.site-s-dark .pn-loterias-v2 .pn-loterias-card__concurso,
.s-dark .pn-loterias-v2 .pn-loterias-card__meta,
.site-s-dark .pn-loterias-v2 .pn-loterias-card__meta,
.s-dark .pn-loterias-v2 .pn-loterias-resultado__concurso,
.site-s-dark .pn-loterias-v2 .pn-loterias-resultado__concurso,
.s-dark .pn-loterias-v2 .pn-loterias-bicho-card__hora,
.site-s-dark .pn-loterias-v2 .pn-loterias-bicho-card__hora,
.s-dark .pn-loterias-v2 .pn-loterias-bicho-card__dezena,
.site-s-dark .pn-loterias-v2 .pn-loterias-bicho-card__dezena,
.s-dark .pn-loterias-v2 .pn-loterias-news-card__body time,
.site-s-dark .pn-loterias-v2 .pn-loterias-news-card__body time {
    color: #94a3b8;
}

/* Bicho card buttons */
.s-dark .pn-loterias-v2 .pn-loterias-bicho-card__btn--ghost,
.site-s-dark .pn-loterias-v2 .pn-loterias-bicho-card__btn--ghost {
    color: #94a3b8;
    border-color: #2a2a2a;
}
.s-dark .pn-loterias-v2 .pn-loterias-bicho-card__btn--ghost:hover,
.site-s-dark .pn-loterias-v2 .pn-loterias-bicho-card__btn--ghost:hover {
    background: #2a2a2a;
}

/* FAQ */
.s-dark .pn-loterias-v2 .pn-loterias-faq,
.site-s-dark .pn-loterias-v2 .pn-loterias-faq {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .pn-loterias-v2 .pn-loterias-faq summary,
.site-s-dark .pn-loterias-v2 .pn-loterias-faq summary {
    color: #e2e8f0;
}
.s-dark .pn-loterias-v2 .pn-loterias-faq summary::after,
.site-s-dark .pn-loterias-v2 .pn-loterias-faq summary::after {
    color: #60a5fa;
}
.s-dark .pn-loterias-v2 .pn-loterias-faq p,
.site-s-dark .pn-loterias-v2 .pn-loterias-faq p {
    color: #94a3b8;
}

/* Sidebar */
.s-dark .pn-loterias-v2 .pn-loterias-sidebar-block,
.site-s-dark .pn-loterias-v2 .pn-loterias-sidebar-block {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .pn-loterias-v2 .pn-loterias-sidebar-block h4,
.site-s-dark .pn-loterias-v2 .pn-loterias-sidebar-block h4 {
    color: #f8fafc;
    border-color: #b91c1c;
}
.s-dark .pn-loterias-v2 .pn-loterias-sidebar-links li a,
.site-s-dark .pn-loterias-v2 .pn-loterias-sidebar-links li a {
    color: #94a3b8;
}
.s-dark .pn-loterias-v2 .pn-loterias-sidebar-links li a:hover,
.site-s-dark .pn-loterias-v2 .pn-loterias-sidebar-links li a:hover {
    background: #2a2a2a;
}
.s-dark .pn-loterias-v2 .pn-loterias-sidebar-discover,
.site-s-dark .pn-loterias-v2 .pn-loterias-sidebar-discover {
    background: linear-gradient(135deg, #1a1a2e 0%, #0f172a 100%);
    border-color: #2563eb;
}
.s-dark .pn-loterias-v2 .pn-loterias-sidebar-discover h4,
.site-s-dark .pn-loterias-v2 .pn-loterias-sidebar-discover h4 {
    color: #60a5fa;
}
.s-dark .pn-loterias-v2 .pn-loterias-sidebar-discover p,
.site-s-dark .pn-loterias-v2 .pn-loterias-sidebar-discover p {
    color: #94a3b8;
}

/* CTA */
.s-dark .pn-loterias-v2 .pn-loterias-sidebar-cta,
.site-s-dark .pn-loterias-v2 .pn-loterias-sidebar-cta {
    background: #1a1a1a;
    border-color: #2a2a2a;
}
.s-dark .pn-loterias-v2 .pn-loterias-sidebar-cta h4,
.site-s-dark .pn-loterias-v2 .pn-loterias-sidebar-cta h4 {
    color: #86efac;
}
.s-dark .pn-loterias-v2 .pn-loterias-sidebar-cta p,
.site-s-dark .pn-loterias-v2 .pn-loterias-sidebar-cta p {
    color: #94a3b8;
}

/* Timeline */
.s-dark .pn-loterias-v2 .pn-loterias-horario__slot::before,
.site-s-dark .pn-loterias-v2 .pn-loterias-horario__slot::before {
    background: #2a2a2a;
}
.s-dark .pn-loterias-v2 .pn-loterias-horario__hora,
.site-s-dark .pn-loterias-v2 .pn-loterias-horario__hora {
    background: #1e293b;
    color: #fbbf24;
}

/* Placeholder images */
.s-dark .pn-loterias-v2 .pn-loterias-news-card__img--placeholder,
.site-s-dark .pn-loterias-v2 .pn-loterias-news-card__img--placeholder {
    background: linear-gradient(135deg, #1e1e1e, #2a2a2a);
}

/* ═══════════════════════════════════════════════════════════════════════════
 * HEADER GLOBAL do portal — identidade LOTERIAS (sub-site dentro do PIRANOT)
 *
 * Acionado por body.pn-loterias-context (adicionado por pn_is_loterias_context()
 * em functions.php). Cobre: hub /loterias/, sub-páginas (bicho, sonhos, mega-sena,
 * lotofácil, quina, etc.), single posts, archives — TUDO que vive dentro do
 * vertical de loterias herda automaticamente a identidade visual amarela-Caixa.
 *
 * Paleta: amarelo-Caixa #FFC72C → laranja #F08522 → vermelho-sorte #C8102E
 * Versão: 1.0 (2026-05-14)
 * ═══════════════════════════════════════════════════════════════════════ */

/* Gradient amarelo-Caixa → laranja → vermelho-sorte no header global */
body.pn-loterias-context #smart-head,
body.pn-loterias-context #smart-head-mobile {
    background: linear-gradient(135deg, #C8102E 0%, #E85D2A 30%, #F08522 60%, #FFC72C 100%) !important;
    border-bottom: 3px solid #FFC72C !important;
    box-shadow: 0 2px 12px rgba(248, 145, 30, .35) !important;
}

/* Linhas internas transparentes (deixa o gradient passar) */
body.pn-loterias-context #smart-head .smart-head-top,
body.pn-loterias-context #smart-head .smart-head-mid,
body.pn-loterias-context #smart-head .smart-head-bot,
body.pn-loterias-context #smart-head-mobile .smart-head-top,
body.pn-loterias-context #smart-head-mobile .smart-head-mid,
body.pn-loterias-context #smart-head-mobile .smart-head-bot {
    background: transparent !important;
    background-color: transparent !important;
    border-bottom-color: rgba(255, 255, 255, .12) !important;
}

/* Navegação branca em todo o header — especificidade (1,3,1) + !important */
body.pn-loterias-context #smart-head .navigation,
body.pn-loterias-context #smart-head .navigation .menu,
body.pn-loterias-context #smart-head .navigation .menu > li,
body.pn-loterias-context #smart-head .navigation .menu > li > a,
body.pn-loterias-context #smart-head .navigation-main .menu > li > a,
body.pn-loterias-context #smart-head .navigation-small .menu > li > a,
body.pn-loterias-context #smart-head .navigation-scroll .menu > li > a,
body.pn-loterias-context #smart-head-mobile .navigation,
body.pn-loterias-context #smart-head-mobile .navigation .menu > li > a {
    --c-nav: #ffffff !important;
    --c-nav-hov: #FFC72C !important;
    --c-term: #ffffff !important;
    --c-main: #ffffff !important;
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .15);
}

/* Sub-menus e mega-menu */
body.pn-loterias-context #smart-head .navigation .sub-menu > li > a,
body.pn-loterias-context #smart-head .navigation .menu .mega-menu li a {
    color: #ffffff !important;
}

/* Underline ativo/hover — amarelo brilhante (não o azul --c-main padrão) */
body.pn-loterias-context #smart-head .nav-hov-b .menu > li:hover > a:before,
body.pn-loterias-context #smart-head .nav-hov-b .menu > .current-menu-item > a:before,
body.pn-loterias-context #smart-head .nav-hov-b .menu > .current-menu-ancestor > a:before,
body.pn-loterias-context #smart-head .nav-hov-b .menu > .current-menu-parent > a:before {
    border-color: #FFC72C !important;
    border-bottom-width: 3px !important;
}

/* Todos os links — branco com hover amarelo */
body.pn-loterias-context #smart-head a,
body.pn-loterias-context #smart-head-mobile a {
    color: #ffffff !important;
    transition: color .18s ease;
}

body.pn-loterias-context #smart-head a:hover,
body.pn-loterias-context #smart-head-mobile a:hover {
    color: #FFC72C !important;
}

/* Ícones em branco */
body.pn-loterias-context #smart-head .icon,
body.pn-loterias-context #smart-head .icon-search,
body.pn-loterias-context #smart-head .tsi,
body.pn-loterias-context #smart-head-mobile .icon,
body.pn-loterias-context #smart-head-mobile .tsi {
    color: #ffffff !important;
}

/* Hambúrguer mobile — linhas brancas */
body.pn-loterias-context #smart-head .hamburger-icon .inner,
body.pn-loterias-context #smart-head .hamburger-icon .inner:before,
body.pn-loterias-context #smart-head .hamburger-icon .inner:after,
body.pn-loterias-context #smart-head-mobile .hamburger-icon .inner,
body.pn-loterias-context #smart-head-mobile .hamburger-icon .inner:before,
body.pn-loterias-context #smart-head-mobile .hamburger-icon .inner:after {
    background-color: #ffffff !important;
}

/* ═════ POLISH: Pill "LOTERIAS" sutil no topbar ═════ */
body.pn-loterias-context #smart-head .smart-head-top .inner.wrap::before {
    content: "LOTERIAS";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--ui-font, "Roboto", sans-serif);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.20em;
    color: #C8102E;
    background: linear-gradient(135deg, #FFC72C 0%, #F08522 100%);
    padding: 3px 12px;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .4);
    pointer-events: none;
    z-index: 5;
    text-shadow: none;
}
body.pn-loterias-context #smart-head .smart-head-top .inner.wrap {
    position: relative;
}
@media (max-width: 767px) {
    body.pn-loterias-context #smart-head .smart-head-top .inner.wrap::before {
        font-size: 9px;
        padding: 2px 10px;
    }
}

/* Logo: leve glow dourado para coesão visual */
body.pn-loterias-context #smart-head .site-logo img,
body.pn-loterias-context #smart-head .h-logo img,
body.pn-loterias-context #smart-head-mobile .site-logo img {
    filter: drop-shadow(0 0 8px rgba(255, 199, 44, .35));
    transition: filter .25s ease;
}
body.pn-loterias-context #smart-head .site-logo:hover img,
body.pn-loterias-context #smart-head .h-logo:hover img {
    filter: drop-shadow(0 0 12px rgba(255, 199, 44, .55));
}

/* ═══════════════════════════════════════════════════════════════════════════
 * COMPONENTE: pn-resultado-loteria (card de concurso)
 * Renderiza pn_render_resultado_loteria() — dados via update_resultados_loterias.py
 * ═══════════════════════════════════════════════════════════════════════ */

.pn-resultado-loteria {
    --cor-loteria: #209869;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    border-top: 4px solid var(--cor-loteria);
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
    font-family: var(--ui-font, "Roboto", sans-serif);
    max-width: 100%;
    overflow: hidden;
}

.pn-resultado-loteria--compacto {
    padding: 14px;
}

.pn-resultado-loteria__header {
    margin-bottom: 14px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 12px;
}

.pn-resultado-loteria__nome {
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 800;
    color: var(--cor-loteria);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pn-resultado-loteria__meta {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
}
.pn-resultado-loteria__concurso strong {
    color: #0f172a;
}

.pn-resultado-loteria__dezenas,
.pn-resultado-loteria__trevos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
}

.pn-resultado-loteria__dezena {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--cor-loteria);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
    font-variant-numeric: tabular-nums;
}

.pn-resultado-loteria__trevo {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #16a34a;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 13px;
}

.pn-resultado-loteria--compacto .pn-resultado-loteria__dezena {
    width: 32px;
    height: 32px;
    font-size: 12px;
}

.pn-resultado-loteria__time,
.pn-resultado-loteria__mes {
    margin: 8px 0;
    font-size: 13px;
    color: #475569;
}

.pn-resultado-loteria__status {
    margin: 10px 0;
}

.pn-resultado-loteria__badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 14px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.pn-resultado-loteria__badge--acumulou {
    background: linear-gradient(135deg, #FFC72C 0%, #F08522 100%);
    color: #7c2d12;
}
.pn-resultado-loteria__badge--ganhador {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    color: #ffffff;
}

.pn-resultado-loteria__proximo {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border-left: 4px solid var(--cor-loteria);
    padding: 12px 14px;
    border-radius: 8px;
    margin: 14px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.pn-resultado-loteria__proximo-label {
    font-size: 12px;
    color: #78350f;
    font-weight: 600;
    text-transform: uppercase;
}
.pn-resultado-loteria__proximo-valor {
    font-size: 18px;
    color: #7c2d12;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}
.pn-resultado-loteria__proximo-data {
    font-size: 12px;
    color: #92400e;
    margin-left: auto;
}

.pn-resultado-loteria__premiacoes {
    margin-top: 14px;
    border-top: 1px solid #f1f5f9;
    padding-top: 12px;
}
.pn-resultado-loteria__premiacoes summary {
    cursor: pointer;
    color: var(--cor-loteria);
    font-weight: 700;
    font-size: 13px;
    padding: 4px 0;
}
.pn-resultado-loteria__tabela {
    width: 100%;
    margin-top: 10px;
    border-collapse: collapse;
    font-size: 12px;
}
.pn-resultado-loteria__tabela th,
.pn-resultado-loteria__tabela td {
    padding: 6px 8px;
    text-align: left;
    border-bottom: 1px solid #f1f5f9;
}
.pn-resultado-loteria__tabela th {
    background: #f8fafc;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.04em;
}

.pn-resultado-loteria__local,
.pn-resultado-loteria__updated {
    margin: 4px 0 0;
    color: #94a3b8;
}

.pn-resultado-loteria--empty {
    background: #f8fafc;
    color: #64748b;
    text-align: center;
    padding: 24px;
    border: 1px dashed #cbd5e1;
}

/* Dark mode */
.s-dark .pn-resultado-loteria,
.site-s-dark .pn-resultado-loteria {
    background: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}
.s-dark .pn-resultado-loteria__nome { color: #fde68a; }
.s-dark .pn-resultado-loteria__concurso strong { color: #ffffff; }
.s-dark .pn-resultado-loteria__meta { color: #94a3b8; }
.s-dark .pn-resultado-loteria__time,
.s-dark .pn-resultado-loteria__mes { color: #cbd5e1; }
.s-dark .pn-resultado-loteria__proximo {
    background: linear-gradient(135deg, #422006 0%, #78350f 100%);
}
.s-dark .pn-resultado-loteria__proximo-label,
.s-dark .pn-resultado-loteria__proximo-valor,
.s-dark .pn-resultado-loteria__proximo-data { color: #fef3c7; }
.s-dark .pn-resultado-loteria__tabela th { background: #0f172a; color: #94a3b8; }
.s-dark .pn-resultado-loteria__tabela td,
.s-dark .pn-resultado-loteria__tabela th { border-color: #334155; }

/* ═══════════════════════════════════════════════════════════════════════════
 * COMPONENTE: pn-loterias-strip — strip horizontal de cards rápidos no hub
 * Cada card mostra: nome, concurso, dezenas (mini), valor estimado próximo
 * ═══════════════════════════════════════════════════════════════════════ */

.pn-loterias-strip {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
    margin: 20px 0;
}

.pn-loterias-strip__card {
    --cor-loteria: #209869;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-top: 4px solid var(--cor-loteria);
    border-radius: 10px;
    padding: 14px;
    transition: transform .18s, box-shadow .18s;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}
.pn-loterias-strip__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .1);
    text-decoration: none;
}

.pn-loterias-strip__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.pn-loterias-strip__nome {
    font-weight: 800;
    font-size: 13px;
    color: var(--cor-loteria);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
}
.pn-loterias-strip__concurso {
    font-size: 11px;
    color: #64748b;
    font-weight: 600;
}

.pn-loterias-strip__dezenas {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.pn-loterias-strip__dezena {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--cor-loteria);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}

.pn-loterias-strip__proximo {
    margin-top: auto;
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border-left: 3px solid var(--cor-loteria);
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 12px;
}
.pn-loterias-strip__proximo strong {
    color: #7c2d12;
    font-weight: 800;
    font-size: 13px;
    display: block;
}

.pn-loterias-strip__badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.pn-loterias-strip__badge--acumulou {
    background: linear-gradient(135deg, #FFC72C 0%, #F08522 100%);
    color: #7c2d12;
}
.pn-loterias-strip__badge--ganhador {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    color: #ffffff;
}

@media (max-width: 480px) {
    .pn-loterias-strip {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .pn-loterias-strip__card {
        padding: 10px;
    }
    .pn-loterias-strip__dezena {
        width: 22px;
        height: 22px;
        font-size: 10px;
    }
}

.s-dark .pn-loterias-strip__card,
.site-s-dark .pn-loterias-strip__card {
    background: #1e293b;
    border-color: #334155;
}
.s-dark .pn-loterias-strip__concurso { color: #94a3b8; }
.s-dark .pn-loterias-strip__proximo {
    background: linear-gradient(135deg, #422006 0%, #78350f 100%);
}
.s-dark .pn-loterias-strip__proximo strong { color: #fef3c7; }
