/* Small theme-specific additions */
html, body { overflow-x: hidden; }
body { margin: 0; padding: 0; }

/* Make WordPress admin bar not overlap sticky header */
body.admin-bar header.sticky { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar header.sticky { top: 46px; }
}

/* Markdown styling (SEO content) */
.markdown-body { color: #111827; }
.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4 {
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  font-weight: 700;
  line-height: 1.15;
  margin: 2rem 0 1rem;
  letter-spacing: -0.02em;
}
.markdown-body h2 { font-size: 2rem; }
.markdown-body h3 { font-size: 1.5rem; }
.markdown-body p { margin: 0 0 1rem; line-height: 1.8; color: #374151; }
.markdown-body ul, .markdown-body ol { margin: 0 0 1.25rem 1.25rem; color: #374151; line-height: 1.8; }
.markdown-body li { margin: 0.25rem 0; }
.markdown-body blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid #e5e7eb;
  background: #f9fafb;
  color: #374151;
}
.markdown-body code { background: #f3f4f6; padding: 0.15rem 0.35rem; border-radius: 0.375rem; font-size: 0.9em; }
.markdown-body pre { background: #111827; color: #f9fafb; padding: 1rem; border-radius: 0.75rem; overflow: auto; }
.markdown-body pre code { background: transparent; padding: 0; }
.markdown-body a { color: #2563eb; text-decoration: underline; }
.markdown-body table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
.markdown-body th, .markdown-body td { border: 1px solid #e5e7eb; padding: 0.75rem; text-align: left; }
.markdown-body th { background: #f3f4f6; font-weight: 700; }

/* Pacman canvas pixel alignment */
#ppo-pacman-canvas { image-rendering: pixelated; }

/* Mobile D-pad buttons */
.ppo-dpad button:active { transform: scale(0.97); }

/* Custom logo sizing inside header */
.custom-logo-link img { max-width: 100%; height: 100%; object-fit: contain; display:block; }
.custom-logo-link { display:block; }

/* Footer menu styling */
footer .menu, footer .menu ul { list-style:none; margin:0; padding:0; display:flex; gap:2rem; }
footer .menu a { color: inherit; text-decoration:none; }
footer .menu a:hover { color:#ffffff; }

/* Header menu styling (when using WP menus) */
header .menu, header .menu ul { list-style:none; margin:0; padding:0; display:flex; gap:2rem; align-items:center; }
header .menu a { font-size:0.875rem; font-weight:700; color:#6b7280; text-decoration:none; }
header .menu a:hover { color:#2563eb; }
header .menu .current-menu-item > a { color:#111827; }



/* Pacman canvas responsiveness */
.ppo-canvas-wrap{
  width: 100%;
  max-width: 456px;
  margin-inline: auto;
  overflow: hidden;
  border-radius: 16px;
}
#ppo-pacman-canvas{
  display:block;
  width: 100%;
  height: auto; /* keep aspect via CSS scaling */
  touch-action: none; /* enable custom swipe controls */
}

/* Prevent any horizontal overflow caused by dropdowns/menus */
.ppo-root, .ppo-layout, .ppo-main, .ppo-sidebar { min-width: 0; }
