/* ==========================================================================
   WordPress / Elementor adjustments only.
   The design itself lives in style.css, which is identical to the HTML build.
   ========================================================================== */

/* WordPress admin bar (logged-in users) */
.admin-bar .site-header { top: 32px; }
@media (max-width: 1060px) { .admin-bar .main-nav { top: calc(var(--header-h) + 32px); } }
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
  .admin-bar .main-nav { top: calc(var(--header-h) + 46px); }
}
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* Elementor: SMC widgets are full-width sections; keep Elementor's wrappers out of the way */
.elementor .e-con:has(> [class*="elementor-widget-smc-"]),
.elementor .e-con > .e-con-inner:has(> [class*="elementor-widget-smc-"]) { padding: 0; gap: 0; max-width: none; }
.elementor [class*="elementor-widget-smc-"] { width: 100%; margin: 0; }
.elementor-widget-smc-hero .hero--photo, .elementor-widget-smc-cta .cta-full { width: 100%; }

/* Editor only: keep the sticky header from covering the first section */
.elementor-editor-active .site-header { position: relative; }

/* WordPress content */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.prose .wp-block-image, .prose figure { margin: 1.5em 0; }
.prose .wp-block-image img { border-radius: var(--radius); }
.prose figcaption { font-size: .9rem; color: var(--muted); margin-top: 8px; }
.prose .wp-block-list { padding-left: 0; }
.pagination .page-numbers.dots { border: 0; }
.site-main { display: block; }
