/* IllumiWeb Builder — Structural CSS ONLY
   Zero typography. Zero colors. Theme handles everything visual. */

/* ── Box sizing ───────────────────────────────────────────────────── */
.iwb-content,
.iwb-content * { box-sizing: border-box; }

/* Layout resets — no typography */
.entry-content .iwb-row,
.entry-content .iwb-row-inner,
.entry-content .iwb-col,
.entry-content .iwb-col-inner { max-width: none; float: none; clear: none; margin-left: 0; margin-right: 0; }

/* GP overrides scoped to builder pages */
body.iwb-active #page.site.grid-container { max-width: none !important; padding: 0 !important; }
body.iwb-active #content.site-content { max-width: none !important; padding: 0 !important; }
body.iwb-active #primary.content-area { width: 100% !important; max-width: none !important; float: none !important; }
body.iwb-active .inside-article { padding-left: 0 !important; padding-right: 0 !important; }
body.iwb-active .entry-content { max-width: none !important; }
body.iwb-active #right-sidebar,
body.iwb-active #left-sidebar { display: none !important; }

/* ── Row ──────────────────────────────────────────────────────────── */
.iwb-content { width: 100%; }
.iwb-row { width: 100%; position: relative; }
.iwb-row--full { width: 100%; }

/* ── Container ────────────────────────────────────────────────────── */
.iwb-row__container {
    width: 100%;
    max-width: var(--iw-container, 1200px);
    margin-left: auto; margin-right: auto;
    padding-left: var(--iw-container-pad, 20px); padding-right: var(--iw-container-pad, 20px);
    box-sizing: border-box;
    display: flex !important; flex-wrap: wrap !important;
    gap: var(--iwb-gap, 0);
    align-items: var(--iwb-valign, stretch);
    justify-content: var(--iwb-halign, flex-start);
}
body.iwb-active .entry-content .iwb-row__container {
    display: flex !important; flex-wrap: wrap !important;
}
.iwb-row--stretch > .iwb-row__container,
.iwb-row--full.iwb-row--stretch > .iwb-row__container {
    max-width: 100%; padding-left: 0; padding-right: 0;
}
.iwb-row--full:not(.iwb-row--stretch) > .iwb-row__container {
    max-width: var(--iw-container, 1200px);
}

.iwb-section { position: relative; width: 100%; }

/* ── Column ───────────────────────────────────────────────────────── */
.iwb-col { box-sizing: border-box; padding: 15px; min-width: 0; }
.iwb-row__container > .iwb-col { display: flex; flex-direction: column; }

/* ── Inner Row ────────────────────────────────────────────────────── */
.iwb-row-inner {
    display: flex !important; flex-wrap: wrap !important; width: 100%;
    gap: var(--iwb-gap, 0);
    align-items: var(--iwb-valign, stretch);
}
body.iwb-active .entry-content .iwb-row-inner {
    display: flex !important; flex-wrap: wrap !important;
}

/* ── Inner Column ─────────────────────────────────────────────────── */
.iwb-col-inner { box-sizing: border-box; padding: 15px; min-width: 0; }

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .iwb-row__container,
    body.iwb-active .entry-content .iwb-row__container { flex-direction: column !important; }
    .iwb-row--rev-mobile > .iwb-row__container { flex-direction: column-reverse !important; }
    .iwb-col, .entry-content .iwb-col { flex: 0 0 100% !important; }
    .iwb-col-inner, .entry-content .iwb-col-inner { flex: 0 0 100% !important; }
    .iwb-row-inner, .entry-content .iwb-row-inner { flex-direction: column !important; }
}
