
.m2inp-stream{margin-top:26px}
.m2inp-divider{display:flex;align-items:center;gap:12px;margin:34px 0 20px;color:#cf0614;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.m2inp-divider:before,.m2inp-divider:after{content:"";height:1px;background:#dfe4e9;flex:1}
.m2inp-post{background:#fff;border:1px solid #dfe4e9;border-radius:6px;box-shadow:0 1px 4px rgba(20,29,39,.07);overflow:hidden;margin-bottom:28px}
.m2inp-cover img{width:100%;max-height:440px;object-fit:cover;display:block}
.m2inp-header{padding:22px 26px 10px}
.m2inp-kicker{font-size:10px;color:#cf0614;font-weight:900;letter-spacing:.1em}
.m2inp-header h2{font-size:34px;line-height:1.18;margin:5px 0 8px;color:#171b22}
.m2inp-meta{font-size:11px;color:#7c8792;display:flex;gap:12px}
.m2inp-content{padding:10px 26px 28px;font-size:18px;line-height:1.9;color:#252d36}
.m2inp-content h2{font-size:30px;line-height:1.25;margin:1.5em 0 .55em}
.m2inp-content h3{font-size:24px;line-height:1.3}
.m2inp-content img{max-width:100%;height:auto;border-radius:5px}
.m2inp-loader{display:none;justify-content:center;gap:7px;padding:25px 0}.m2inp-loader.is-visible{display:flex}.m2inp-loader span{width:8px;height:8px;border-radius:50%;background:#cf0614;animation:m2inp-pulse 1s infinite ease-in-out}.m2inp-loader span:nth-child(2){animation-delay:.15s}.m2inp-loader span:nth-child(3){animation-delay:.3s}
@keyframes m2inp-pulse{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
@media(max-width:620px){.m2inp-header{padding:17px 16px 8px}.m2inp-header h2{font-size:27px}.m2inp-content{padding:8px 16px 22px;font-size:16px;line-height:1.75}.m2inp-content h2{font-size:25px}.m2inp-content h3{font-size:21px}}


/* v1.1 Elementor + transition compatibility */
.m2inp-post{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

.m2inp-post .m2inp-header{
  max-width:1180px;
  margin:0 auto;
  box-sizing:border-box;
}

.m2inp-content{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow:hidden;
}

/* Classic/Gutenberg content follows the current theme content width. */
.m2inp-engine-wordpress .m2inp-content{
  max-width:1180px;
  margin:0 auto;
}

/* Elementor owns its internal widths/sections. Do not force the classic article padding onto it. */
.m2inp-engine-elementor .m2inp-content{
  padding:0!important;
  max-width:none!important;
  overflow:visible;
}

.m2inp-engine-elementor .elementor,
.m2inp-engine-elementor .elementor-section,
.m2inp-engine-elementor .e-con,
.m2inp-engine-elementor .elementor-element{
  max-width:100%;
  box-sizing:border-box;
}

/* Prevent legacy content images from overflowing the stream. */
.m2inp-post img{
  max-width:100%!important;
  height:auto!important;
}

.m2inp-engine-wordpress .m2inp-content > p > img:only-child,
.m2inp-engine-wordpress .m2inp-content > figure img{
  display:block;
  margin-left:auto;
  margin-right:auto;
}

/* Very tall legacy images remain readable without taking several screens before text continues. */
.m2inp-engine-wordpress .m2inp-content img{
  object-fit:contain;
}

.m2inp-cover{
  max-width:1180px;
  margin:0 auto 20px;
  padding:0 26px;
  box-sizing:border-box;
}
.m2inp-cover img{
  display:block;
  width:100%;
  max-height:520px;
  object-fit:cover;
  border-radius:6px;
}

/* Divider should be subtle and belong to the stream, not look like another card. */
.m2inp-divider{
  max-width:1180px;
  margin:36px auto 20px;
}

@media(max-width:620px){
  .m2inp-engine-wordpress .m2inp-content{
    padding-left:16px;
    padding-right:16px;
  }
  .m2inp-cover{padding:0 16px}
}


/* ==========================================================
   v1.2 — stream stays inside article, before theme footer
   ========================================================== */
.m2inp-stream-host{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  clear:both;
}

.m2inp-stream{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
}

/* Only one transition label */
.m2inp-divider{
  display:flex;
  align-items:center;
  gap:12px;
  max-width:1180px;
  margin:30px auto 18px;
  padding:0 20px;
  box-sizing:border-box;
  color:#cf0614;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.m2inp-divider:before,
.m2inp-divider:after{
  content:"";
  height:1px;
  background:#dfe4e9;
  flex:1;
}

/* AJAX article should visually continue the current content, not look like a page after footer */
.m2inp-post{
  margin:0 auto 28px;
  border-radius:6px;
  overflow:hidden;
}

/* Kicker removed in PHP; keep hidden defensively for cached markup */
.m2inp-kicker{
  display:none!important;
}

.m2inp-loader{
  max-width:1180px;
  margin:0 auto;
}

/* Elementor sections inside the next article must not escape host width */
.m2inp-stream-host .elementor,
.m2inp-stream-host .elementor-section-wrap,
.m2inp-stream-host .elementor-section,
.m2inp-stream-host .e-con{
  max-width:100%;
}

/* Footer must always come after the infinite stream host */
.m2inp-stream-host + footer,
.m2inp-stream-host ~ footer{
  clear:both;
}

@media(max-width:620px){
  .m2inp-divider{
    margin:24px auto 14px;
    padding:0 12px;
    font-size:11px;
  }
}
