/* =============================================================
   Burg — Elementor compatibility layer for the NATIVE Elementor
   home page. Loaded after burg.css, only on the front page.
   Re-asserts burg.* layout on Elementor's container/widget DOM
   (Elementor containers default to flex; burg dividers use
   element selectors that don't match Elementor's <div> markup).
   All rules are body-scoped so they win regardless of load order.
   ============================================================= */

/* --- neutralize Elementor container + widget spacing defaults --- */
body.burg-site .e-con,
body.burg-site .e-con > .e-con-inner {
  --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  --padding-block-start: 0px; --padding-block-end: 0px;
  --padding-inline-start: 0px; --padding-inline-end: 0px;
}
body.burg-site .elementor-widget { margin-block-end: 0; }
body.burg-site .elementor-widget:not(:last-child) { margin-bottom: 0; }

/* --- grid layouts (override Elementor's default flex on .e-con) --- */
body.burg-site .burg-split { display: grid; gap: clamp(3rem, 7vw, 7rem); }
body.burg-site .burg-editorial { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1.5rem, 2.5vw, 3rem); align-items: start; }
body.burg-site .burg-twocol { display: grid; column-gap: clamp(2rem, 5vw, 5rem); row-gap: clamp(2rem, 3vw, 3rem); }
body.burg-site .burg-pillars { display: grid; column-gap: clamp(2rem, 4vw, 4rem); row-gap: clamp(2rem, 3vw, 2.5rem); }
body.burg-site .burg-notes { display: grid; gap: 1px; }
body.burg-site .burg-practice__row { display: grid; gap: 1rem; }
body.burg-site .burg-step__row { display: grid; gap: 1rem; }

/* --- flex-column stacks --- */
body.burg-site .burg-split__aside,
body.burg-site .burg-split__body,
body.burg-site .burg-editorial__body,
body.burg-site .burg-prose-stack,
body.burg-site .burg-steps,
body.burg-site .burg-practice__body,
body.burg-site .burg-step__body,
body.burg-site .burg-pillar { display: flex; flex-direction: column; }
body.burg-site .burg-editorial__body { gap: clamp(2rem, 4vw, 3.5rem); }
body.burg-site .burg-prose-stack { gap: clamp(1.5rem, 2.5vw, 2.25rem); }
body.burg-site .burg-steps { gap: clamp(2rem, 4vw, 3.5rem); }
body.burg-site .burg-practice__body { gap: 1rem; }
body.burg-site .burg-step__body { gap: 0.75rem; }
body.burg-site .burg-pillar { gap: 1rem; }

/* --- responsive columns --- */
@media (min-width: 768px) {
  body.burg-site .burg-split { grid-template-columns: 1fr 2fr; }
  body.burg-site .burg-twocol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.burg-site .burg-pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.burg-site .burg-editorial__numeral { grid-column: span 3; position: sticky; top: 7rem; }
  body.burg-site .burg-editorial__body { grid-column: span 9; }
  body.burg-site .burg-split__aside { position: sticky; top: 8rem; align-self: start; }
}
@media (min-width: 640px) {
  body.burg-site .burg-notes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.burg-site .burg-practice__row { grid-template-columns: auto 1fr; gap: clamp(1.5rem, 3vw, 3rem); }
  body.burg-site .burg-step__row { grid-template-columns: auto 1fr; gap: clamp(2rem, 4vw, 4rem); }
}
/* mobile-default column span lives in burg.css; do not re-assert it here after the @media spans. */

/* --- dividers: burg uses > li / > article; Elementor children are .e-con --- */
body.burg-site .burg-list > .e-con { border-top: 1px solid rgba(245, 238, 225, 0.1); }
body.burg-site .burg-list > .e-con:first-child { border-top: 0; }
body.burg-site .burg-cases > .e-con { border-top: 1px solid rgba(245, 238, 225, 0.1); }
body.burg-site .burg-cases > .e-con:first-child { border-top: 0; padding-top: 0; }

/* --- heading + text-editor widgets inherit the burg type set on the wrapper class --- */
body.burg-site .elementor-widget-heading .elementor-heading-title {
  margin: 0; color: inherit; font-family: inherit; font-weight: inherit;
  font-size: inherit; line-height: inherit; letter-spacing: inherit; font-style: inherit;
}
body.burg-site .elementor-widget-text-editor { color: inherit; }
body.burg-site .elementor-widget-text-editor p { margin: 0; }
body.burg-site .elementor-widget-text-editor p + p { margin-top: 1em; }

/* --- drop-cap inside a text-editor widget --- */
body.burg-site .dropcap p:first-of-type::first-letter {
  font-family: var(--font-serif); font-style: italic; font-weight: 500; float: left;
  font-size: clamp(4.5rem, 8vw, 7.5rem); line-height: 0.82; padding: 0.35rem 0.65rem 0 0;
  color: var(--cream);
}
body.burg-site .section-invert .dropcap p:first-of-type::first-letter { color: var(--deep-navy); }

/* --- marquee + pillar gaps re-asserted --- */
body.burg-site .burg-marquee__group { gap: clamp(2rem, 5vw, 5rem); }
