/* =========================================================
   The Disruptive Guys — blog + WordPress integration layer
   Loads after styles.css. Handles Elementor container escape,
   blog listing/cards, and editorial prose styling.
   ========================================================= */

/* ---- Let the ported full-bleed design escape Elementor's boxed wrappers ---- */
body.tdg #tdg-main-content { display:block; }
body.tdg .elementor-section.elementor-section-boxed > .elementor-container { max-width:none; }
body.tdg .elementor-widget-html > .elementor-widget-container { padding:0; }
body.tdg .elementor,
body.tdg .elementor-section,
body.tdg .elementor-container,
body.tdg .elementor-column,
body.tdg .elementor-widget-wrap,
body.tdg .elementor-widget-html { margin:0; }
/* kill Hello's default content max-width for our pages */
body.tdg .site-main,
body.tdg .page-content { max-width:none; padding:0; }
/* hide any theme-output page title (design provides its own) */
body.tdg .entry-header,
body.tdg .page-header,
body.tdg h1.entry-title { display:none !important; }

/* ---- Article width helper ---- */
.wrap--article { max-width:760px; }

/* ---- BLOG LISTING ---- */
.blog-list { padding:clamp(30px,4vw,50px) 0 clamp(90px,12vw,140px); }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.blog-card { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius-lg);
  overflow:hidden; background:var(--surface-2); transition:transform .4s var(--ease-out),border-color .4s,box-shadow .4s; }
.blog-card:hover { transform:translateY(-6px); border-color:var(--line-strong); box-shadow:0 30px 70px -34px rgba(0,0,0,.8); }
.blog-card__media { aspect-ratio:16/9; overflow:hidden; background:var(--surface); }
.blog-card__media img { width:100%; height:100%; object-fit:cover; }
.blog-card__media--tile { display:grid; place-items:center; background:linear-gradient(135deg,#0a1b3a,#06284a); }
.blog-card__media--tile span { font-family:var(--font-display); font-weight:800; font-size:22px; color:rgba(255,255,255,.85); letter-spacing:-.02em; }
.blog-card__body { padding:24px; display:flex; flex-direction:column; flex:1; }
.blog-card__meta { font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--brand-bright); }
.blog-card__title { font-family:var(--font-display); font-weight:700; font-size:21px; letter-spacing:-.02em; line-height:1.15; margin:12px 0; color:var(--fg); }
.blog-card__excerpt { font-size:14.5px; color:var(--fg-2); line-height:1.6; flex:1; }
.blog-card__cta { margin-top:18px; font-weight:600; font-size:14px; color:var(--brand-bright); }
.blog-empty { text-align:center; color:var(--fg-2); font-size:18px; padding:60px 0; }

.blog-pagination { margin-top:56px; display:flex; justify-content:center; }
.blog-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 14px;
  margin:0 4px; border:1px solid var(--line-strong); border-radius:100px; color:var(--fg-2); font-weight:600; font-size:14px; transition:.25s; }
.blog-pagination .page-numbers.current { background:var(--grad); color:#fff; border-color:transparent; }
.blog-pagination a.page-numbers:hover { border-color:var(--brand-bright); color:var(--fg); }

/* ---- SINGLE POST ---- */
.post-hero { padding-bottom:clamp(30px,4vw,44px); }
.post-hero__title { font-size:clamp(34px,5.4vw,68px); max-width:15ch; }
.post-hero__meta { margin-top:22px; font-size:14px; letter-spacing:.04em; color:var(--fg-3); text-transform:uppercase; }
.post-featured { padding:0 0 clamp(30px,4vw,50px); }
.post-featured img { width:100%; border-radius:var(--radius-lg); border:1px solid var(--line); }
.post-body { padding:0 0 clamp(70px,9vw,120px); }
.tdg-prose-section { padding:clamp(40px,6vw,80px) 0 clamp(80px,10vw,120px); }
.tdg-prose { max-width:760px; margin-inline:auto; padding-inline:var(--gutter); }

/* ---- EDITORIAL PROSE ---- */
.tdg-prose { font-size:18px; line-height:1.8; color:var(--fg-2); }
.tdg-prose > * + * { margin-top:1.4em; }
.tdg-prose h2 { font-family:var(--font-display); font-weight:800; font-size:clamp(26px,3vw,38px); letter-spacing:-.02em; line-height:1.15; color:var(--fg); margin-top:1.8em; }
.tdg-prose h3 { font-family:var(--font-display); font-weight:700; font-size:clamp(21px,2.2vw,27px); letter-spacing:-.01em; color:var(--fg); margin-top:1.6em; }
.tdg-prose h4 { font-family:var(--font-display); font-weight:700; font-size:19px; color:var(--fg); margin-top:1.4em; }
.tdg-prose p { color:var(--fg-2); }
.tdg-prose a { color:var(--brand-bright); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.tdg-prose a:hover { color:var(--accent); }
.tdg-prose strong { color:var(--fg); font-weight:600; }
.tdg-prose em { font-style:italic; }
.tdg-prose ul, .tdg-prose ol { padding-left:1.4em; color:var(--fg-2); }
.tdg-prose ul { list-style:disc; } .tdg-prose ol { list-style:decimal; }
.tdg-prose li { margin-top:.5em; }
.tdg-prose li::marker { color:var(--brand-bright); }
.tdg-prose blockquote { border-left:3px solid; border-image:var(--grad) 1; padding:6px 0 6px 24px; margin-left:0;
  font-family:var(--font-serif); font-style:italic; font-size:1.15em; color:var(--fg); }
.tdg-prose img { border-radius:var(--radius); border:1px solid var(--line); }
.tdg-prose figure { margin:0; } .tdg-prose figcaption { font-size:13px; color:var(--fg-3); text-align:center; margin-top:10px; }
.tdg-prose code { font-family:ui-monospace,monospace; font-size:.9em; background:var(--surface-3); padding:2px 7px; border-radius:6px; color:var(--accent); }
.tdg-prose pre { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:20px; overflow:auto; }
.tdg-prose pre code { background:none; padding:0; color:var(--fg-2); }
.tdg-prose hr { border:none; border-top:1px solid var(--line); }
.tdg-prose h2:first-child, .tdg-prose h3:first-child, .tdg-prose p:first-child { margin-top:0; }

.post-tags { margin-top:44px; padding-top:24px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:10px; }
.post-tags a { padding:7px 14px; border:1px solid var(--line); border-radius:100px; font-size:13px; color:var(--fg-2); }
.post-tags a:hover { border-color:var(--brand-bright); color:var(--fg); }

/* ---- Comments (kept minimal/dark if enabled) ---- */
.comments-area { max-width:760px; margin:0 auto; padding:40px var(--gutter) 0; color:var(--fg-2); }

/* ---- Responsive ---- */
@media (max-width:1080px){ .blog-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:680px){ .blog-grid { grid-template-columns:1fr; } .tdg-prose { font-size:17px; } }


/* ================= MERGER PAGE + ANNOUNCEMENT ================= */
.outcomes { padding:clamp(70px,9vw,120px) 0; }
.outcomes__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.outcome { padding:28px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface-2); transition:transform .4s,border-color .4s; }
.outcome:hover { transform:translateY(-5px); border-color:var(--brand-bright); }
.outcome__tag { display:inline-block; font-family:var(--font-display); font-weight:800; font-size:19px; letter-spacing:-.01em; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; margin-bottom:12px; }
.outcome__plain { font-size:15.5px; color:var(--fg); line-height:1.55; }
.outcome__tech { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); font-size:13px; color:var(--fg-3); line-height:1.5; }

.split-section { padding:clamp(70px,9vw,120px) 0; background:var(--bg-2); border-block:1px solid var(--line); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.split__card { padding:clamp(30px,4vw,44px); border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface-2); }
.split__label { display:inline-block; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--brand-bright); margin-bottom:16px; }
.split__text { font-size:16.5px; color:var(--fg-2); line-height:1.7; }
@media (max-width:1080px){ .outcomes__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:820px){ .outcomes__grid { grid-template-columns:1fr; } .split { grid-template-columns:1fr; } }

.merger-banner { border-bottom:1px solid var(--line); background:linear-gradient(120deg,var(--brand-soft),transparent); }
.merger-banner__inner { max-width:var(--container); margin-inline:auto; padding:15px var(--gutter); display:flex; align-items:center; justify-content:center; gap:10px 18px; flex-wrap:wrap; text-align:center; }
.merger-banner__badge { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:5px 11px; border-radius:100px; background:var(--grad); color:#fff; }
.merger-banner__text { font-size:15px; color:var(--fg); }
.merger-banner__text strong { font-weight:600; }
.merger-banner__link { font-weight:600; font-size:14.5px; color:var(--brand-bright); white-space:nowrap; }
.merger-banner__link:hover { color:var(--accent); }
