/* Public section styles live with the integration, independently of the editor. */
:root { --nx-section-gap: clamp(1rem, 3vw, 3rem); --nx-section-space: clamp(1.5rem, 4vw, 4rem); }
.nx-section:not(.nx-section--captured) { margin-block: var(--nx-section-space); padding-block: var(--nx-section-space); }
.nx-section--media-text { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--nx-section-gap); align-items: center; }
.nx-section--media-text:not(:has(.nx-section__image)) { grid-template-columns: 1fr; }
.nx-section__image { display: block; width: 100%; height: auto; object-fit: cover; }
.nx-section__content { min-width: 0; }
.nx-section__content > :first-child { margin-top: 0; }
.nx-section--hero { text-align: center; }
.nx-section--hero .nx-section__content { max-width: 50rem; margin-inline: auto; }
.nx-section--hero .nx-section__image { max-height: 32rem; margin-bottom: var(--nx-section-gap); }
.nx-section--cta { padding: var(--nx-section-space); border-block: 1px solid currentColor; }
.nx-section__link { display: inline-block; padding: .65em 1.1em; border: 1px solid currentColor; text-decoration: none; }
@media (max-width: 650px) { .nx-section--media-text { grid-template-columns: 1fr; } }

.nx-section--captured { padding: 0; }

.nx-slot { grid-column: 1 / -1; margin-block: 1rem; }
.nx-slot:empty { display: none; margin: 0; }
.nx-section--flow:has(> .nx-slot):not(:has([data-nx-block], .nx-slot:not(:empty))) { display: none; }
