/**
 * WordPress-specific overrides — normalize WordPress injected markup.
 */

/* ── Reset WP default margins on body/html ───────────────────────── */
html, body { margin: 0; padding: 0; overflow-x: hidden; }
body { font-family: 'Inter', 'Segoe UI', system-ui, sans-serif; }

/* ── Remove WP admin bar padding when logged in ──────────────────── */
body.admin-bar #topbar          { top: 32px; }
body.admin-bar .navbar,
body.admin-bar #navbar          { top: 70px; } /* 32px admin bar + 38px topbar */
body.admin-bar .navbar.scrolled,
body.admin-bar #navbar.scrolled { top: 32px; } /* topbar hides on scroll, nav slides up */

@media screen and (max-width: 782px) {
  body.admin-bar #topbar          { top: 0; }
  body.admin-bar .navbar,
  body.admin-bar #navbar          { top: 30px; } /* 46px + 38px */
  body.admin-bar .navbar.scrolled,
  body.admin-bar #navbar.scrolled { top: 0px; }
}

/* ── WordPress pagination ────────────────────────────────────────── */
.navigation.pagination { margin: 48px 0; }
.page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 12px;
  border: 1.5px solid #e5e7eb; border-radius: 8px;
  font-size: 0.9rem; font-weight: 600; color: #374151;
  text-decoration: none; margin: 0 4px; transition: all 0.2s;
}
.page-numbers.current,
.page-numbers:hover { background: #0098af; border-color: #0098af; color: #fff; }
.page-numbers.dots { border: none; background: transparent; }

/* ── WordPress content (the_content) ────────────────────────────── */
.page-content h1, .page-content h2, .page-content h3,
.page-content h4, .page-content h5, .page-content h6 {
  font-family: 'Urbanist', sans-serif; font-weight: 800;
  color: #0d2430; margin-bottom: 16px; line-height: 1.3;
}
.page-content h2 { font-size: 1.8rem; margin-top: 40px; }
.page-content h3 { font-size: 1.4rem; margin-top: 32px; }
.page-content p  { margin-bottom: 18px; }
.page-content ul, .page-content ol { padding-left: 24px; margin-bottom: 18px; }
.page-content li { margin-bottom: 8px; }
.page-content img { max-width: 100%; height: auto; border-radius: 12px; }
.page-content a { color: #0098af; text-decoration: underline; }
.page-content a:hover { text-decoration: none; }
.page-content blockquote {
  border-left: 4px solid #0098af; padding: 16px 24px;
  background: #f0fafb; border-radius: 0 12px 12px 0;
  margin: 24px 0; font-style: italic; color: #374151;
}
.page-content table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.page-content th, .page-content td {
  padding: 12px 16px; border: 1px solid #e5e7eb; text-align: left; font-size: 0.9rem;
}
.page-content th { background: #f8fafc; font-weight: 700; }
.page-content code {
  background: #f3f4f6; padding: 2px 6px; border-radius: 4px; font-size: 0.88em;
}
.page-content pre {
  background: #1e293b; color: #e2e8f0; padding: 24px; border-radius: 12px;
  overflow-x: auto; font-size: 0.88rem; line-height: 1.7; margin-bottom: 24px;
}

/* ── Responsive helpers ───────────────────────────────────────────── */
@media (max-width: 1024px) {
  .blog-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .about-stats-row { grid-template-columns: repeat(3, 1fr) !important; }
  .cert-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .cert-grid[data-cols="4"] { grid-template-columns: repeat(2, 1fr) !important; }
  .schw-grid-2col { grid-template-columns: 1fr !important; }
  .service-detail-layout { grid-template-columns: 1fr !important; }
  .blog-layout { grid-template-columns: 1fr !important; }
  .contact-layout { grid-template-columns: 1fr !important; }
  .schw-grid-hero { grid-template-columns: 1fr !important; }
  .hide-mobile { display: none !important; }
}
@media (max-width: 768px) {
  .team-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .offices-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .benefits-grid { grid-template-columns: 1fr !important; }
  .perks-grid { grid-template-columns: 1fr !important; }
  .about-stats-row { grid-template-columns: repeat(2, 1fr) !important; }
  .cert-grid { grid-template-columns: 1fr 1fr !important; }
  .portfolio-grid { grid-template-columns: 1fr !important; }
  .blog-grid { grid-template-columns: 1fr !important; }
  .blog-card[style*="grid-template-columns:280px"] { grid-template-columns: 1fr !important; }
  .about-stat { border-right: none; border-bottom: 1px solid #e5e7eb; }
  .about-stat:last-child { border-bottom: none; }
  .page-content h2 { font-size: 1.4rem; }
  .page-content h3 { font-size: 1.2rem; }
}

/* ── FDC modal responsive ─────────────────────────────────────────── */
@media (max-width: 700px) {
  .fdc-modal { grid-template-columns: 1fr !important; }
  .fdc-left  { display: none !important; }
}

/* ── Search highlight ─────────────────────────────────────────────── */
mark { background: #fef9c3; color: inherit; padding: 0 2px; border-radius: 3px; }

/* ── Footer wp_nav_menu normalisation ────────────────────────────── */
.footer-links.menu,
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { list-style: none; padding: 0; margin: 0; }

/* ── Blog card archive grid responsive ───────────────────────────── */
@media (max-width: 900px) {
  .blog-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .blog-grid { grid-template-columns: 1fr !important; }
}
