
.pk-hidden { visibility: hidden; } /* hide during tests/init to prevent december flash */
.pk-sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0 }
.pk-container { font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; max-width:1100px; margin:0 auto; padding:1rem }
.pk-header h2 { font-size:1.75rem; margin:0 0 .25rem }
.pk-header p { color:#444; margin:0 0 1rem }
.pk-tabs { display:inline-flex; gap:.25rem; padding:.25rem; border:1px solid #e5e7eb; border-radius:16px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.05); margin:.75rem 0 1rem }
.pk-tab { border:0; background:transparent; padding:.5rem .9rem; border-radius:12px; font-weight:600; cursor:pointer; color:#374151 }
.pk-tab:hover { background:#f3f4f6 }
.pk-tab--active { background:#111827; color:#fff }
.pk-months { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; margin:.75rem 0 1rem }
@media (max-width:640px) { .pk-months { grid-template-columns:repeat(2,minmax(0,1fr)) } }
.pk-months button { text-transform:capitalize; border:1px solid #e5e7eb; padding:.6rem .75rem; border-radius:10px; background:#fff; cursor:pointer }
.pk-months button[aria-pressed="true"], .pk-months button:focus { outline:none; background:#111827; color:#fff }
.pk-legend { color:#6b7280; font-size:.95rem; margin-bottom:.5rem }
.pk-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem }
@media (max-width:1024px) { .pk-grid { grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media (max-width:640px) { .pk-grid { grid-template-columns:1fr } }
.pk-card { border:1px solid #e5e7eb; border-radius:14px; padding:1rem; background:#fff; transition:box-shadow .2s ease }
.pk-card:hover { box-shadow:0 6px 16px rgba(0,0,0,.06) }
.pk-card h4 { margin:0; font-size:1.05rem }
.pk-card a { font-size:.9rem; text-decoration:underline }
.pk-card p { color:#374151; font-size:.95rem; margin:.5rem 0 .5rem }
.pk-badges { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.5rem }
.pk-badge { display:inline-flex; align-items:center; padding:.15rem .5rem; font-size:.75rem; border:1px solid #e5e7eb; border-radius:9999px; text-transform:lowercase }
.pk-label { display:block; font-weight:600; margin:.25rem 0 .35rem }
.pk-input { width:100%; border:1px solid #e5e7eb; border-radius:10px; padding:.6rem .75rem }
.pk-seo { margin-top:1.25rem; border-top:1px solid #e5e7eb; padding-top:1rem }
