/* ===============================
   EBC Page Builder — Frontend
================================ */

.ebc-row,
.ebc-column,
.ebc-image {
    box-sizing: border-box;
}

.ebc-row {
    width: 100%;
}

.ebc-column > * + * {
    margin-top: 0.75em;
}

/* …but a nested ROW manages its own spacing (its gap, padding and margin),
   so it does NOT take the column's content-rhythm margin. Without this, a
   row stacked beneath another element — or a second row in the same column —
   picks up an unwanted 0.75em gap above it, which is most obvious once its
   columns stack. Add deliberate space between stacked rows via the row's
   own Margin field. (Specificity 0,2,0 beats the rule above; no !important
   needed.) */
.ebc-column > .ebc-row {
    margin-top: 0;
}

.ebc-image__img {
    height: auto;
}

/* ===============================
   ROW WIDTH MODES
   (stretch: default | full | full_bg)
================================ */

/* Full-width background wrapper: the band that breaks out to the screen
   edges. The per-row scoped <style> sets the 100vw breakout and any
   background; this base rule just guards against horizontal overflow and
   ensures predictable box sizing. */
.ebc-row--full-bg {
    box-sizing: border-box;
}

/* The inner container that holds the columns for a full-bg row. Width/max-width
   and centring are emitted per-row in the scoped style; this keeps the flex
   children behaving like any other row. */
.ebc-row__container {
    box-sizing: border-box;
    width: 100%;
}

/* Full-width (row + content) rows: nothing extra needed here — the scoped
   style applies the breakout — but we keep the box model predictable. */
.ebc-row--full {
    box-sizing: border-box;
}
