.contentblocks-admin{max-width:1100px;margin:1.5rem auto;padding:0 1rem}.contentblocks-tabs,.contentblocks-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.contentblocks-tabs{margin:1rem 0}.contentblocks-list,.contentblocks-form{background:#fff;border:1px solid #d7dee7;border-radius:.65rem;padding:1.25rem;margin:1rem 0}.contentblocks-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #e6ebf0}.contentblocks-row form{margin:0}.contentblocks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.contentblocks-form label{display:block;margin:.9rem 0}.contentblocks-form input:not([type=checkbox]),.contentblocks-form select{box-sizing:border-box;width:100%;padding:.55rem}.contentblocks-check{display:flex!important;align-items:center;gap:.45rem}.contentblocks-notice{padding:.8rem;background:#eaf6ee;border-left:4px solid #2f7d4a}.contentblocks-error{padding:.8rem;background:#fff0f0;border-left:4px solid #a32626}.content-block{box-sizing:border-box;overflow:hidden;border-radius:.75rem}.content-block__inner{padding:clamp(1.25rem,3vw,3rem)}.content-block__title{margin-top:0}.content-block__image{display:block;width:100%;max-height:26rem;object-fit:cover}.content-block--hero{background:linear-gradient(135deg,var(--chisimba-primary-dark,#285b57),var(--chisimba-primary,#5fbd6b));color:var(--chisimba-text-inverse,#fff)}.content-block--information{background:#fff;border:1px solid #d7dee7}.content-block__action{display:inline-block;margin-top:1rem;padding:.65rem 1rem;border-radius:.35rem;background:var(--chisimba-surface,#fff);color:var(--chisimba-primary-dark,#204f4b);text-decoration:none;font-weight:700}

.contentblocks-image-field{margin:1rem 0;padding:1rem;border:1px solid #d7dee7;border-radius:.5rem}.contentblocks-image-field input{box-sizing:border-box;width:100%;padding:.55rem;background:#f5f7f9}.contentblocks-image-preview{display:block;width:min(100%,34rem);max-height:18rem;margin-top:1rem;border-radius:.5rem;object-fit:cover}.contentblocks-image-preview[hidden],.contentblocks-hero-only[hidden]{display:none}.contentblocks-type-help{padding:.75rem;border-left:4px solid #5f7f9f;background:#f4f7fa}

/**
 * Keep semantic Content blocks independent of legacy skin card rules.
 *
 * Both current skins include a broad `.content-block` compatibility selector
 * after module stylesheets. These compound selectors deliberately have higher
 * specificity. The important padding reset is required because the legacy
 * compatibility selector also marks its padding important.
 *
 * @author Derek Keats
 */
.content-block.content-block--hero {
    padding: 0 !important;
    background: linear-gradient(
        135deg,
        var(--chisimba-primary-dark, #285b57),
        var(--chisimba-primary, #5fbd6b)
    );
    border: 0;
    color: var(--chisimba-text-inverse, #fff);
}

.content-block.content-block--information {
    padding: 0 !important;
    background: #fff;
    border: 1px solid #d7dee7;
    color: inherit;
}

.content-block.content-block--hero .content-block__title,
.content-block.content-block--hero .content-block__body {
    color: inherit;
}

/**
 * Preserve a small rhythm between adjacent semantic Content blocks.
 *
 * Canvas placement rules remove legacy block margins. This important logical
 * margin restores spacing only when one Content block immediately follows
 * another, without changing either component's width or internal layout.
 *
 * @author Derek Keats
 */
.content-block.content-block--hero + .content-block,
.content-block.content-block--information + .content-block {
    margin-block-start: 0.75rem !important;
}
