/* abcTheme containers. Colors come from the skin's options.css variables (with fallbacks). */
.abc-c { margin-bottom: var(--abc-module-gap, 1.5rem); }
/* No gap after the last module of a pane, and none at all in full-width panes (modules stack edge to edge) */
.DnnModule:last-child > .abc-c, .abc-pane--full .abc-c, .abc-row--flush .abc-c, .abc-header__build .abc-c { margin-bottom: 0; }
.abc-c-head:empty, .abc-c-title:empty { display: none; }
.abc-c-title { margin: 0 0 1.2rem; font-family: var(--abc-font-heading, inherit); color: var(--abc-heading, #161b26); }
.abc-c-title__text { color: inherit; font: inherit; }

/* H1: large display title, centered, with accent bar */
.abc-c--h1 .abc-c-head { text-align: center; margin-bottom: 2.5rem; }
.abc-c--h1 .abc-c-title { font-size: clamp(2rem, 4vw, 3rem); }
.abc-c--h1 .abc-c-title::after { content: ""; display: block; width: 60px; height: 3px; margin: 1rem auto 0; background: var(--abc-primary, #da2e29); border-radius: 3px; }

/* H2: section title, left, with short underline */
.abc-c--h2 .abc-c-title { font-size: clamp(1.7rem, 3vw, 2.3rem); position: relative; padding-bottom: .8rem; }
.abc-c--h2 .abc-c-title::after { content: ""; position: absolute; inset-inline-start: 0; bottom: 0; width: 46px; height: 3px; background: var(--abc-primary, #da2e29); }

/* H3: title with leading accent bar */
.abc-c--h3 .abc-c-title { font-size: 1.6rem; padding-inline-start: 1rem; border-inline-start: 4px solid var(--abc-primary, #da2e29); }

/* H4: title with line extending to the right */
.abc-c--h4 .abc-c-title { display: flex; align-items: center; gap: 1rem; font-size: 1.35rem; }
.abc-c--h4 .abc-c-title::after { content: ""; flex: 1; height: 1px; background: var(--abc-border, #e6e8ee); }

/* H5: small uppercase eyebrow */
.abc-c--h5 .abc-c-title { font-family: var(--abc-font-body, inherit); font-size: .82rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--abc-primary, #da2e29); }

/* H6: muted small title with bottom border */
.abc-c--h6 .abc-c-title { font-size: 1.05rem; padding-bottom: .7rem; border-bottom: 1px solid var(--abc-border, #e6e8ee); }

/* Boxed card */
.abc-c--boxed { background: #fff; border: 1px solid var(--abc-border, #e6e8ee); border-radius: calc(var(--abc-radius, 6px) * 2); padding: 2rem; box-shadow: 0 10px 40px rgba(17,21,30,.06); }
.abc-c--boxed .abc-c-title { font-size: 1.3rem; }

/* Highlight: primary color block */
.abc-c--highlight { background: var(--abc-primary, #da2e29); color: rgba(255,255,255,.88); border-radius: calc(var(--abc-radius, 6px) * 2); padding: 2rem; }
.abc-c--highlight .abc-c-title, .abc-c--highlight h1, .abc-c--highlight h2, .abc-c--highlight h3, .abc-c--highlight h4 { color: #fff; }
.abc-c--highlight a { color: #fff; text-decoration: underline; }

/* Sidebar widget */
.abc-c--sidebar { background: var(--abc-bg-alt, #f5f6f9); border-radius: var(--abc-radius, 6px); padding: 1.6rem; }
.abc-c--sidebar .abc-c-title { font-size: 1.15rem; padding-bottom: .7rem; margin-bottom: 1rem; border-bottom: 2px solid var(--abc-primary, #da2e29); display: inline-block; }
.abc-c--sidebar ul { list-style: none; padding: 0; margin: 0; }
.abc-c--sidebar li { padding: .45rem 0; border-bottom: 1px dashed var(--abc-border, #e6e8ee); }

/* No-title and full-bleed */
.abc-c--plain { }
.abc-c--bleed { margin: 0; }

/* Footer context: lighter titles */
.abc-footer .abc-c-title { color: var(--abc-footer-heading, #fff); font-size: 1.2rem; }
.abc-footer .abc-c--h2 .abc-c-title, .abc-footer .abc-c--h1 .abc-c-title { font-size: 1.3rem; }
.abc-footer .abc-c--boxed, .abc-footer .abc-c--sidebar { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }
