/* MONTSERRAT OVERRIDE — text elements only, icons untouched */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');

body,
p, span:not([class*="icon"]):not([class*="ti-"]):not([class*="fa-"]):not([class*="star"]),
div, li, a, td, th, label, blockquote,
.elementor-widget-text-editor,
.elementor-text-editor,
.elementor-text-editor p,
.elementor-widget-theme-post-content,
.entry-content, .entry-content p {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
    -webkit-font-smoothing: antialiased !important;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
.entry-title {
    font-family: 'Montserrat', sans-serif !important;
}

h1, .elementor-size-xxl, .elementor-size-xl {
    font-weight: 900 !important;
    letter-spacing: -0.03em !important;
}

h2 { font-weight: 700 !important; letter-spacing: -0.025em !important; }
h3 { font-weight: 600 !important; }
h4, h5, h6 { font-weight: 500 !important; }

/* Nav */
.navbar-nav > li > a,
.main-menu a,
nav li a,
.menu-item > a,
#header a:not([class*="icon"]),
.th-header-wrap a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

/* Buttons */
.btn, .elementor-button, a.elementor-button,
.button, input[type="submit"],
.elementor-button-text {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-radius: 6px !important;
}

/* Slider text */
.rev_slider .tp-caption,
.rs-layer,
.master-slider .ms-layer {
    font-family: 'Montserrat', sans-serif !important;
}

/* Card titles */
.elementor-image-box-title,
.elementor-icon-box-title,
.elementor-image-box-title a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
}

/* Card descriptions */
.elementor-image-box-description,
.elementor-icon-box-description {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
}

/* Footer text only */
footer p, footer a, footer span:not([class*="icon"]):not([class*="ti-"]):not([class*="fa-"]),
footer li, footer div:not([class*="icon"]),
.site-footer p, .site-footer a, .site-footer li,
footer h3, footer h4, footer h5 {
    font-family: 'Montserrat', sans-serif !important;
}

/* BLOG TITLES — Extra Bold Montserrat */
.entry-title,
.entry-title a,
article .entry-title,
article .entry-title a,
.blog .entry-title a,
.archive .entry-title a,
.single .entry-title,
h2.entry-title,
h2.entry-title a,
.post-title,
.post-title a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
    color: #0f172a !important;
    text-decoration: none !important;
}

.entry-title a:hover,
.blog .entry-title a:hover {
    color: #4f46e5 !important;
}

/* FOOTER COPYRIGHT — force one line */
.th-copyright,
.copyright-text,
#copyright,
.site-info,
footer .elementor-widget-wrap:last-child,
footer .copyright {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.3em !important;
}

.th-copyright > *,
.copyright-text > *,
.site-info > * {
    display: inline !important;
}

/* ===== Medium-Style Blog Layout ===== */
.single-post .entry-content {
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}
.single-post .entry-content p {
  font-family: "Montserrat", Georgia, serif !important;
  font-size: 20px !important;
  line-height: 1.85 !important;
  color: #292929 !important;
  margin-bottom: 28px !important;
  letter-spacing: -0.003em !important;
  font-weight: 400 !important;
}
.single-post .entry-content h2 {
  font-family: "Montserrat", sans-serif !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  margin-top: 56px !important;
  margin-bottom: 16px !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
}
.single-post .entry-content blockquote {
  border-left: 3px solid #0f172a !important;
  padding: 4px 0 4px 28px !important;
  margin: 44px 0 !important;
  background: transparent !important;
}
.single-post .entry-content blockquote p {
  font-style: italic !important;
  color: #555 !important;
  font-size: 22px !important;
}
.single-post .entry-content img {
  border-radius: 8px !important;
  margin: 32px 0 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
}
.single-post .entry-content figure {
  margin: 40px -60px !important;
  max-width: calc(100% + 120px) !important;
}
@media (max-width: 860px) {
  .single-post .entry-content figure {
    margin: 32px 0 !important;
    max-width: 100% !important;
  }
}
.single-post .entry-content hr {
  border: none !important;
  border-top: 1px solid #e0e0e0 !important;
  margin: 52px auto !important;
  max-width: 100px !important;
}
.single-post .entry-content ol,
.single-post .entry-content ul {
  font-family: "Montserrat", Georgia, serif !important;
  font-size: 20px !important;
  line-height: 1.85 !important;
  color: #292929 !important;
  margin-bottom: 28px !important;
}
.single-post .entry-content li {
  margin-bottom: 12px !important;
}
.single-post .entry-title {
  font-family: "Montserrat", sans-serif !important;
  font-size: 42px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
  letter-spacing: -0.03em !important;
  max-width: 720px !important;
  margin: 40px auto 16px !important;
}
.single-post .entry-meta {
  max-width: 720px !important;
  margin: 0 auto 40px !important;
  font-size: 15px !important;
  color: #757575 !important;
}
.single-post .wp-block-image.alignwide img {
  width: 100% !important;
  max-width: 100% !important;
}
