body .text-wrapper {
    margin-left: auto !important;
    margin-right: auto !important;
}

.two-columns .text-wrapper {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
}

/* Text alignment options - only affect content, not wrapper positioning */
body .text-wrapper.text-align-left [data-sdc-field="text"],
body .text-wrapper.text-align-left [data-sdc-field="text"] * {
    text-align: left;
}

body .text-wrapper.text-align-center [data-sdc-field="text"],
body .text-wrapper.text-align-center [data-sdc-field="text"] * {
    text-align: center;
}

body .text-wrapper.text-align-right [data-sdc-field="text"],
body .text-wrapper.text-align-right [data-sdc-field="text"] * {
    text-align: right;
}


/* @media (min-width: 576px) {
    body .text-wrapper {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    body .text-wrapper {
        max-width: 720px;
    }
}

@media (min-width: 1010px) {
    body .text-wrapper {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    body .text-wrapper {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {
    body .text-wrapper {
        max-width: 1320px;
    }
} */

body .text-wrapper.animated {
    opacity: 0;
    translate: 0 30px;
    transition: opacity 0.6s ease, translate 0.6s ease;
}

/* Animated state when text block enters viewport */
body .text-wrapper.animate-in {
    opacity: 1;
    translate: 0 0;
}

/* Disable animations when wrapped in block-wrapper */
.block-wrapper .text-wrapper {
    opacity: 1 !important;
    translate: 0 0 !important;
    transition: none !important;
}

/* Inline editor fields: transparent wrapper — theme h1–p supply typography and spacing */
.text-wrapper [data-sdc-field="text"].ck.ck-editor__editable_inline,
.text-wrapper [data-sdc-field="text"].ck.ck-editor__editable_inline:is(.ck-focused, .ck-blurred, .ck-rounded-corners) {
    padding: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Ordered lists: number uses first-line typography (not the whole list item) */
.text-wrapper ol,
.text-wrapper [data-sdc-editable="true"] ol {
	list-style: none !important;
	counter-reset: sdc-ol;
	padding-left: 0;
	margin-left: 0;
}

.text-wrapper ol > li,
.text-wrapper [data-sdc-editable="true"] ol > li {
	counter-increment: sdc-ol;
	list-style: none !important;
	list-style-type: none !important;
}

/* Hide native markers so they never stack with the custom counter in edit mode */
.text-wrapper ol > li::marker,
.text-wrapper [data-sdc-editable="true"] ol > li::marker {
	content: none !important;
}

.text-wrapper ol > li > :is(h1, h2, h3, h4, h5, h6, p):first-child {
	display: inline;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.text-wrapper ol > li > :is(h1, h2, h3, h4, h5, h6, p):first-child::before {
	content: counter(sdc-ol) ". ";
}

.text-wrapper ol > li > :is(h1, h2, h3, h4, h5, h6, p):first-child + * {
	display: block;
	margin-top: 0.75em;
}

/* Items without a heading/paragraph first child: custom counter on the li itself */
.text-wrapper ol > li:not(:has(> :is(h1, h2, h3, h4, h5, h6, p):first-child))::before {
	content: counter(sdc-ol) ". ";
}

.text-wrapper ol ol {
	counter-reset: sdc-ol;
	margin-top: 0.75em;
	padding-left: 1.5em;
}
