@font-face {
  font-family: "Inter";
  font-display: swap !important;
}

.menu-hover a {
  font-weight: 300 !important;
}

.menu-hover a:hover {
  font-weight: 600 !important;
}

.menu-hover a.elementor-item-active,
.menu-hover a.current-menu-item,
.menu-hover .current-menu-item > a {
  font-weight: 600 !important;
}


/* Gutenberg typography (fonts only) in single posts
   Keeps existing compact spacing + line-height rules intact.
*/
body.single-post .entry-content,
body.single-post .wp-block-post-content,
body.single-post .elementor-widget-theme-post-content{
  font-family: Inter, sans-serif !important;
  font-style: normal !important;
  color: rgb(29, 29, 31);
}

/* Normal body text inside the post */
body.single-post .entry-content,
body.single-post .wp-block-post-content,
body.single-post .elementor-widget-theme-post-content,
body.single-post .entry-content p,
body.single-post .wp-block-post-content p,
body.single-post .elementor-widget-theme-post-content p{
  font-weight: 300 !important;
  font-size: 20px !important;
}

/* H2 in post content */
body.single-post .entry-content h2,
body.single-post .wp-block-post-content h2,
body.single-post .elementor-widget-theme-post-content h2{
  font-weight: 600 !important;
  font-size: 30px !important;
  color: rgb(29, 29, 31);
}

/* H3 in post content */
body.single-post .entry-content h3,
body.single-post .wp-block-post-content h3,
body.single-post .elementor-widget-theme-post-content h3{
  font-weight: 400 !important;
  font-size: 20px !important;
  color: rgb(29, 29, 31);
}

/* === FORCE H2/H3 TYPOGRAPHY INSIDE SINGLE POSTS (Gutenberg content) === */
/* Extra specificity to beat theme/Elementor rules that also use !important */
html body.single-post .wp-block-post-content h2,
html body.single-post .entry-content h2,
html body.single-post .elementor-widget-theme-post-content h2,
html body.single-post .wp-block-post-content .wp-block-heading,
html body.single-post .entry-content .wp-block-heading,
html body.single-post .elementor-widget-theme-post-content .wp-block-heading{
  font-family: Inter, sans-serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: 30px !important;

  /* Neutralize typical theme "heading decoration" */
  text-transform: none !important;
  letter-spacing: normal !important;
  font-variant: normal !important;

  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* Kill underline that is drawn via pseudo elements (very common) */
html body.single-post .wp-block-post-content h2::before,
html body.single-post .wp-block-post-content h2::after,
html body.single-post .entry-content h2::before,
html body.single-post .entry-content h2::after,
html body.single-post .elementor-widget-theme-post-content h2::before,
html body.single-post .elementor-widget-theme-post-content h2::after,
html body.single-post .wp-block-post-content .wp-block-heading::before,
html body.single-post .wp-block-post-content .wp-block-heading::after,
html body.single-post .entry-content .wp-block-heading::before,
html body.single-post .entry-content .wp-block-heading::after,
html body.single-post .elementor-widget-theme-post-content .wp-block-heading::before,
html body.single-post .elementor-widget-theme-post-content .wp-block-heading::after{
  content: none !important;
  display: none !important;
}

/* If the underline is coming from a link inside the heading */
html body.single-post .wp-block-post-content h2 a,
html body.single-post .entry-content h2 a,
html body.single-post .elementor-widget-theme-post-content h2 a{
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* H3 exact */
html body.single-post .wp-block-post-content h3,
html body.single-post .entry-content h3,
html body.single-post .elementor-widget-theme-post-content h3{
  font-family: Inter, sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 20px !important;

  text-transform: none !important;
  letter-spacing: normal !important;
  font-variant: normal !important;

  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}