/* Deepskyastrophoto – flexible editorial layout, Version 0.19.0 */

/* Page-level controls. */
.dsa-site-main > .dsa-block-editable-page {
    box-sizing: border-box;
    padding-top: var(--dsa-page-space-top, 0);
    padding-bottom: var(--dsa-page-space-bottom, 0);
    background: var(--dsa-page-background, transparent);
}
.dsa-site-main > .dsa-page-width-narrow { width: min(calc(100% - 2rem), 760px); }
.dsa-site-main > .dsa-page-width-normal { width: min(calc(100% - 2rem), 960px); }
.dsa-site-main > .dsa-page-width-wide { width: min(calc(100% - 2rem), 1260px); }
.dsa-site-main > .dsa-page-width-full { width: 100%; max-width: none; padding-inline: clamp(1rem, 3vw, 3rem); }
.dsa-site-main > .dsa-page-width-custom {
    width: min(var(--dsa-page-custom-width, 90%), 100%);
    max-width: var(--dsa-page-max-width, none);
}
.dsa-block-editable-page .dsa-page-hero h1 { font-size: var(--dsa-page-title-size, clamp(2.15rem, 5vw, 4.2rem)); }
.dsa-block-editable-page .dsa-page-content {
    font-size: var(--dsa-page-font-size, inherit);
    line-height: var(--dsa-page-line-height, inherit);
}

/* Shared block sizing and visibility. */
.dsa-width-narrow { width: min(100%, 680px); }
.dsa-width-normal { width: min(100%, 860px); }
.dsa-width-wide { width: min(100%, 1180px); }
.dsa-width-full { width: 100%; max-width: none; }
.dsa-width-custom {
    width: min(var(--dsa-custom-width, 80%), 100%);
    max-width: var(--dsa-custom-max-width, none);
}
.dsa-block-align-left { margin-right: auto; margin-left: var(--dsa-space-left, 0); }
.dsa-block-align-center { margin-right: auto; margin-left: auto; }
.dsa-block-align-right { margin-right: var(--dsa-space-right, 0); margin-left: auto; }
.dsa-editable-text-block,
.dsa-editable-content-container,
.dsa-flex-layout,
.dsa-editable-card-grid,
.dsa-editable-image-row,
.dsa-editable-constellation-intro,
.dsa-dynamic-block {
    box-sizing: border-box;
    margin-top: var(--dsa-space-top, 24px);
    margin-bottom: var(--dsa-space-bottom, 24px);
    padding-top: var(--dsa-padding-top, 0);
    padding-right: var(--dsa-padding-right, 0);
    padding-bottom: var(--dsa-padding-bottom, 0);
    padding-left: var(--dsa-padding-left, 0);
    color: var(--dsa-text-color, inherit);
    font-size: var(--dsa-text-font-size, inherit);
    font-weight: var(--dsa-text-font-weight, inherit);
    line-height: var(--dsa-text-line-height, inherit);
    letter-spacing: var(--dsa-text-letter-spacing, normal);
    text-align: var(--dsa-text-align, left);
}
.dsa-shadow-soft { box-shadow: 0 8px 24px rgba(0,0,0,.13); }
.dsa-shadow-medium { box-shadow: 0 14px 38px rgba(0,0,0,.22); }
.dsa-shadow-strong { box-shadow: 0 20px 56px rgba(0,0,0,.32); }

/* Typography variables shared by custom blocks. */
.dsa-editable-text-block :where(p, li),
.dsa-editable-content-container :where(p, li),
.dsa-flex-column :where(p, li),
.dsa-editable-card-text,
.dsa-editable-constellation-copy,
.dsa-editable-constellation-continuation,
.dsa-dynamic-block .dsa-photo-card {
    color: var(--dsa-text-color, inherit);
    font-size: var(--dsa-text-font-size, inherit);
    font-weight: var(--dsa-text-font-weight, inherit);
    line-height: var(--dsa-text-line-height, inherit);
    letter-spacing: var(--dsa-text-letter-spacing, normal);
    text-align: var(--dsa-text-align, left);
}
.dsa-editable-content-container :where(h1,h2,h3,h4,h5,h6),
.dsa-editable-card-copy h2,
.dsa-dynamic-block .dsa-section-heading h2 {
    color: var(--dsa-heading-color, inherit);
    font-size: var(--dsa-heading-font-size, inherit);
    font-weight: var(--dsa-heading-font-weight, inherit);
    line-height: var(--dsa-heading-line-height, inherit);
    letter-spacing: var(--dsa-heading-letter-spacing, normal);
    text-align: var(--dsa-heading-align, left);
}
.dsa-editable-image-item figcaption,
.dsa-editable-constellation-intro figcaption {
    color: var(--dsa-caption-color, var(--dsa-muted));
    font-size: var(--dsa-caption-font-size, .88rem);
    font-weight: var(--dsa-caption-font-weight, inherit);
    line-height: var(--dsa-caption-line-height, 1.4);
    letter-spacing: var(--dsa-caption-letter-spacing, normal);
    text-align: var(--dsa-caption-align, left);
}
.dsa-editable-card .dsa-page-card-link,
.dsa-dynamic-block .dsa-card-meta-link {
    color: var(--dsa-button-color, var(--dsa-accent));
    font-size: var(--dsa-button-font-size, inherit);
    font-weight: var(--dsa-button-font-weight, 700);
    line-height: var(--dsa-button-line-height, inherit);
    letter-spacing: var(--dsa-button-letter-spacing, normal);
    text-align: var(--dsa-button-align, left);
}

/* Freely-sized text block. */
.dsa-editable-text-block {
    padding-top: var(--dsa-padding-top, 0);
    padding-right: var(--dsa-padding-right, 0);
    padding-bottom: var(--dsa-padding-bottom, 0);
    padding-left: var(--dsa-padding-left, 0);
    border: var(--dsa-block-border-width, 0) solid var(--dsa-block-border-color, transparent);
    border-radius: var(--dsa-block-border-radius, 0);
    background: var(--dsa-block-background, transparent);
}
.dsa-editable-text-block > :first-child { margin-top: 0; }
.dsa-editable-text-block > :last-child { margin-bottom: 0; }

/* General content container. */
.dsa-editable-content-container {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: var(--dsa-vertical-align, flex-start);
    gap: var(--dsa-gap, 24px);
    padding-top: var(--dsa-padding-top, var(--dsa-container-padding, 0));
    padding-right: var(--dsa-padding-right, var(--dsa-container-padding, 0));
    padding-bottom: var(--dsa-padding-bottom, var(--dsa-container-padding, 0));
    padding-left: var(--dsa-padding-left, var(--dsa-container-padding, 0));
}
.dsa-editable-content-container.is-panel {
    border: var(--dsa-block-border-width, 1px) solid var(--dsa-block-border-color, var(--dsa-border));
    border-radius: var(--dsa-block-border-radius, .8rem);
    background: var(--dsa-block-background, rgba(16,29,40,.82));
}
.dsa-editable-content-container > * { margin-block: 0; }

/* Flexible percentage-based columns. */
.dsa-flex-layout {
    display: flex;
    min-width: 0;
    gap: var(--dsa-gap, 24px);
    align-items: var(--dsa-flex-align, flex-start);
    border: var(--dsa-block-border-width, 0) solid var(--dsa-block-border-color, transparent);
    border-radius: var(--dsa-block-border-radius, 0);
    background: var(--dsa-block-background, transparent);
}
.dsa-flex-layout.dsa-flex-wrap { flex-wrap: wrap; }
.dsa-flex-column {
    box-sizing: border-box;
    min-width: 0;
    flex: 0 0 calc(var(--dsa-col-desktop, 50%) - var(--dsa-gap, 24px) / 2);
    max-width: var(--dsa-col-desktop, 50%);
    padding-top: var(--dsa-padding-top, 0);
    padding-right: var(--dsa-padding-right, 0);
    padding-bottom: var(--dsa-padding-bottom, 0);
    padding-left: var(--dsa-padding-left, 0);
    border: var(--dsa-block-border-width, 0) solid var(--dsa-block-border-color, transparent);
    border-radius: var(--dsa-block-border-radius, 0);
    background: var(--dsa-block-background, transparent);
    color: var(--dsa-text-color, inherit);
    font-size: var(--dsa-text-font-size, inherit);
    line-height: var(--dsa-text-line-height, inherit);
    text-align: var(--dsa-text-align, left);
}

/* Card grids. */
.dsa-editable-card-grid {
    display: grid;
    grid-template-columns: repeat(var(--dsa-grid-columns, 3), minmax(0,1fr));
    gap: var(--dsa-gap, clamp(1rem,2vw,1.5rem));
    align-items: stretch;
}
.dsa-editable-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: var(--dsa-block-border-width, 1px) solid var(--dsa-block-border-color, var(--dsa-border));
    border-radius: var(--dsa-block-border-radius, .75rem);
    background: var(--dsa-block-background, var(--dsa-panel));
}
.dsa-card-hover .dsa-editable-card { transition: transform .18s ease, box-shadow .18s ease; }
.dsa-card-hover .dsa-editable-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.25); }
.dsa-card-full-link { position: absolute; z-index: 1; inset: 0; }
.dsa-card-whole-clickable .dsa-editable-card-copy a,
.dsa-card-whole-clickable .dsa-editable-card-image { position: relative; z-index: 2; }
.dsa-editable-card-image { display: block; min-width: 0; background: transparent; }
.dsa-editable-card-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: var(--dsa-image-position, center);
    background: transparent;
}
.dsa-image-fit-contain:not(.dsa-image-aspect-auto) .dsa-editable-card-image img,
.dsa-image-fit-cover:not(.dsa-image-aspect-auto) .dsa-editable-card-image img,
.dsa-image-fit-contain:not(.dsa-image-aspect-auto) .dsa-editable-image-item img,
.dsa-image-fit-cover:not(.dsa-image-aspect-auto) .dsa-editable-image-item img { height: 100%; }
.dsa-image-fit-contain .dsa-editable-card-image img,
.dsa-image-fit-contain .dsa-editable-image-item img { object-fit: contain; }
.dsa-image-fit-cover .dsa-editable-card-image img,
.dsa-image-fit-cover .dsa-editable-image-item img { object-fit: cover; }
.dsa-image-aspect-1-1 .dsa-editable-card-image,
.dsa-image-aspect-1-1 .dsa-editable-image-item a { aspect-ratio: 1/1; }
.dsa-image-aspect-4-3 .dsa-editable-card-image,
.dsa-image-aspect-4-3 .dsa-editable-image-item a { aspect-ratio: 4/3; }
.dsa-image-aspect-3-2 .dsa-editable-card-image,
.dsa-image-aspect-3-2 .dsa-editable-image-item a { aspect-ratio: 3/2; }
.dsa-image-aspect-16-9 .dsa-editable-card-image,
.dsa-image-aspect-16-9 .dsa-editable-image-item a { aspect-ratio: 16/9; }
.dsa-image-aspect-3-4 .dsa-editable-card-image,
.dsa-image-aspect-3-4 .dsa-editable-image-item a { aspect-ratio: 3/4; }
.dsa-editable-card-copy { display:flex; flex:1; flex-direction:column; gap:.8rem; padding:1rem 1.1rem 1.15rem; }
.dsa-editable-card-copy h2 { margin:0; font-size:var(--dsa-heading-font-size, clamp(1.1rem,1.2vw,1.35rem)); }
.dsa-editable-card-copy h2 a { color:inherit; text-decoration:none; }
.dsa-editable-card-text, .dsa-editable-card-text p { margin:0; }
.dsa-editable-card-copy .dsa-page-card-link { margin-top:auto; }
.dsa-button-inline .dsa-editable-card-copy .dsa-page-card-link { margin-top:0; }
.dsa-card-layout-left .dsa-editable-card,
.dsa-card-layout-right .dsa-editable-card { display:grid; grid-template-columns:minmax(35%,.8fr) minmax(0,1.2fr); }
.dsa-card-layout-right .dsa-editable-card-image { order:2; }
.dsa-card-layout-right .dsa-editable-card-copy { order:1; }
.dsa-card-layout-left .dsa-editable-card-image img,
.dsa-card-layout-right .dsa-editable-card-image img { width:100%; height:100%; object-fit:var(--dsa-card-side-fit, contain); }

/* Image rows: natural aspect ratio by default, no artificial black bars. */
.dsa-editable-image-row {
    display:grid;
    grid-template-columns:repeat(var(--dsa-grid-columns,2),minmax(0,1fr));
    gap:var(--dsa-gap, clamp(1rem,2vw,1.5rem));
    align-items:start;
}
.dsa-editable-image-item { min-width:0; margin:0; justify-self:var(--dsa-image-align,center); }
.dsa-editable-image-item a { display:block; overflow:hidden; }
.dsa-editable-image-item img {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:var(--dsa-image-position,center);
    border:var(--dsa-image-border-width,1px) solid var(--dsa-image-border-color,var(--dsa-border));
    border-radius:var(--dsa-image-radius,.65rem);
    background:transparent;
}
.dsa-editable-image-item figcaption { margin-top:.55rem; }

/* Constellation introduction layouts. */
.dsa-editable-constellation-intro {
    border:var(--dsa-block-border-width,0) solid var(--dsa-block-border-color,transparent);
    border-radius:var(--dsa-block-border-radius,0);
    background:var(--dsa-block-background,transparent);
}
.dsa-constellation-intro-main { display:flex; gap:var(--dsa-gap,32px); align-items:var(--dsa-flex-align,flex-start); }
.dsa-constellation-intro-main figure { flex:0 0 var(--dsa-intro-image-width,42%); max-width:var(--dsa-intro-image-width,42%); margin:0; }
.dsa-editable-constellation-copy { flex:1 1 auto; min-width:0; }
.dsa-editable-constellation-intro img { display:block; width:100%; height:auto; object-fit:contain; border:1px solid var(--dsa-border); border-radius:.7rem; }
.dsa-editable-constellation-intro figcaption { margin-top:.5rem; }
.dsa-editable-constellation-copy > :first-child,
.dsa-editable-constellation-continuation > :first-child { margin-top:0; }
.dsa-editable-constellation-copy > :last-child,
.dsa-editable-constellation-continuation > :last-child { margin-bottom:0; }
.dsa-intro-layout-below .dsa-constellation-intro-main { flex-direction:column; }
.dsa-intro-layout-below .dsa-constellation-intro-main figure { flex-basis:auto; width:100%; max-width:100%; }
.dsa-intro-layout-split .dsa-editable-constellation-continuation { margin-top:clamp(1rem,2.5vw,2rem); }

/* Dynamic areas. */
.dsa-dynamic-block { border:var(--dsa-block-border-width,0) solid var(--dsa-block-border-color,transparent); border-radius:var(--dsa-block-border-radius,0); background:var(--dsa-block-background,transparent); }
.dsa-dynamic-block .dsa-photo-grid { gap:var(--dsa-gap,inherit); }
.dsa-dynamic-block[style*="--dsa-dynamic-columns:"] .dsa-photo-grid { grid-template-columns:repeat(var(--dsa-dynamic-columns),minmax(0,1fr)) !important; }
.dsa-hide-card-date .dsa-card-meta-info time { display:none !important; }
.dsa-hide-card-type .dsa-card-taxonomy,
.dsa-hide-card-type .dsa-card-meta-info > span { display:none !important; }
.dsa-hide-card-details .dsa-card-details { display:none !important; }
.dsa-hide-card-wikipedia .dsa-card-wikipedia { display:none !important; }
.dsa-hide-card-excerpt .dsa-card-excerpt-link { display:none !important; }

/* Editor server-side previews must never show uncontrolled full-size images/icons. */
.editor-styles-wrapper .dsa-dynamic-block img,
.editor-styles-wrapper .dsa-editor-dynamic-section img { max-width:100% !important; height:auto !important; }
.editor-styles-wrapper .dsa-wikipedia-icon { width:1em !important; height:1em !important; }

@media (min-width: 981px) {
    .dsa-hide-desktop { display:none !important; }
}
@media (max-width: 980px) {
    .dsa-site-main > .dsa-block-editable-page { width:min(calc(100% - 1.5rem),100%); }
    .dsa-editable-card-grid { grid-template-columns:repeat(var(--dsa-grid-columns-tablet,2),minmax(0,1fr)); }
    .dsa-editable-image-row { grid-template-columns:repeat(var(--dsa-grid-columns-tablet,2),minmax(0,1fr)); }
    .dsa-flex-layout { gap:var(--dsa-tablet-gap,var(--dsa-gap,20px)); }
    .dsa-flex-column { flex-basis:calc(var(--dsa-col-tablet,50%) - var(--dsa-tablet-gap,var(--dsa-gap,20px))/2); max-width:var(--dsa-col-tablet,50%); }
    .dsa-constellation-intro-main figure { flex-basis:var(--dsa-intro-image-width-tablet,45%); max-width:var(--dsa-intro-image-width-tablet,45%); }
    .dsa-dynamic-block[style*="--dsa-dynamic-columns-tablet:"] .dsa-photo-grid { grid-template-columns:repeat(var(--dsa-dynamic-columns-tablet),minmax(0,1fr)) !important; }
    .dsa-hide-tablet { display:none !important; }
}
@media (max-width: 620px) {
    .dsa-block-editable-page .dsa-page-hero h1 { font-size:var(--dsa-page-title-mobile-size,var(--dsa-page-title-size,clamp(1.9rem,10vw,3rem))); }
    .dsa-block-editable-page .dsa-page-content { font-size:var(--dsa-page-mobile-font-size,var(--dsa-page-font-size,inherit)); }
    .dsa-editable-text-block,
    .dsa-editable-content-container,
    .dsa-flex-column,
    .dsa-editable-card-text,
    .dsa-editable-constellation-copy,
    .dsa-editable-constellation-continuation,
    .dsa-dynamic-block .dsa-photo-card { font-size:var(--dsa-text-mobile-font-size,var(--dsa-text-font-size,inherit)); }
    .dsa-editable-content-container :where(h1,h2,h3,h4,h5,h6),
    .dsa-editable-card-copy h2,
    .dsa-dynamic-block .dsa-section-heading h2 { font-size:var(--dsa-heading-mobile-font-size,var(--dsa-heading-font-size,inherit)); }
    .dsa-editable-image-item figcaption,
    .dsa-editable-constellation-intro figcaption { font-size:var(--dsa-caption-mobile-font-size,var(--dsa-caption-font-size,.88rem)); }
    .dsa-editable-card .dsa-page-card-link,
    .dsa-dynamic-block .dsa-card-meta-link { font-size:var(--dsa-button-mobile-font-size,var(--dsa-button-font-size,inherit)); }
    .dsa-editable-card-grid { grid-template-columns:repeat(var(--dsa-grid-columns-mobile,1),minmax(0,1fr)); }
    .dsa-editable-image-row { grid-template-columns:repeat(var(--dsa-grid-columns-mobile,1),minmax(0,1fr)); }
    .dsa-flex-layout { gap:var(--dsa-mobile-gap,16px); }
    .dsa-flex-column { flex-basis:var(--dsa-col-mobile,100%); max-width:var(--dsa-col-mobile,100%); order:var(--dsa-mobile-order,0); }
    .dsa-constellation-intro-main { flex-direction:column; }
    .dsa-constellation-intro-main figure { flex-basis:auto; width:100%; max-width:100%; }
    .dsa-card-layout-left .dsa-editable-card,
    .dsa-card-layout-right .dsa-editable-card { display:flex; }
    .dsa-card-layout-right .dsa-editable-card-image,
    .dsa-card-layout-right .dsa-editable-card-copy { order:initial; }
    .dsa-dynamic-block[style*="--dsa-dynamic-columns-mobile:"] .dsa-photo-grid { grid-template-columns:repeat(var(--dsa-dynamic-columns-mobile),minmax(0,1fr)) !important; }
    .dsa-hide-mobile { display:none !important; }
}

/* Width presets are centred by default; explicit alignment settings override this. */
.dsa-width-narrow,
.dsa-width-normal,
.dsa-width-wide,
.dsa-width-custom {
    margin-right: auto;
    margin-left: auto;
}
.dsa-width-full { margin-right: 0; margin-left: 0; }
.dsa-block-align-left { margin-right: auto; margin-left: var(--dsa-space-left, 0); }
.dsa-block-align-center { margin-right: auto; margin-left: auto; }
.dsa-block-align-right { margin-right: var(--dsa-space-right, 0); margin-left: auto; }

/* Version 0.18 deliberately forced natural ratios with !important. 0.19 keeps
   that default, but allows a conscious aspect-ratio/crop choice to override it. */
.dsa-editable-image-row.dsa-image-aspect-auto figure,
.dsa-editable-image-row.dsa-image-aspect-auto a,
.dsa-editable-image-row.dsa-image-aspect-auto img {
    height: auto !important;
    aspect-ratio: auto !important;
}
.dsa-editable-image-row.dsa-image-aspect-1-1 .dsa-editable-image-item a { aspect-ratio: 1 / 1 !important; }
.dsa-editable-image-row.dsa-image-aspect-4-3 .dsa-editable-image-item a { aspect-ratio: 4 / 3 !important; }
.dsa-editable-image-row.dsa-image-aspect-3-2 .dsa-editable-image-item a { aspect-ratio: 3 / 2 !important; }
.dsa-editable-image-row.dsa-image-aspect-16-9 .dsa-editable-image-item a { aspect-ratio: 16 / 9 !important; }
.dsa-editable-image-row.dsa-image-aspect-3-4 .dsa-editable-image-item a { aspect-ratio: 3 / 4 !important; }
.dsa-editable-image-row:not(.dsa-image-aspect-auto) .dsa-editable-image-item img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
}

/* 0.19.1: reset the obsolete 0.18 grid on the rewritten constellation block.
 * frontend-0180.css remains loaded for legacy pages, therefore the modern
 * block must explicitly opt out of its former outer grid. */
.dsa-editable-constellation-intro {
    display: block;
    grid-template-columns: none;
    gap: 0;
    align-items: initial;
}
.dsa-editable-constellation-intro > .dsa-constellation-intro-main {
    width: 100%;
    max-width: 100%;
}

/* User-selected typography must win over legacy plugin and theme rules. */
.dsa-editable-text-block,
.dsa-editable-text-block :where(p, li),
.dsa-editable-content-container :where(p, li),
.dsa-flex-column :where(p, li),
.dsa-editable-card-text,
.dsa-editable-constellation-copy,
.dsa-editable-constellation-copy :where(p, li),
.dsa-editable-constellation-continuation,
.dsa-editable-constellation-continuation :where(p, li),
.dsa-dynamic-block .dsa-photo-card {
    color: var(--dsa-text-color, inherit) !important;
    font-size: var(--dsa-text-font-size, inherit) !important;
    font-weight: var(--dsa-text-font-weight, inherit) !important;
    line-height: var(--dsa-text-line-height, inherit) !important;
    letter-spacing: var(--dsa-text-letter-spacing, normal) !important;
    text-align: var(--dsa-text-align, left) !important;
}


/* 0.20.0 – normal Gutenberg inner blocks for redactional text. */
.dsa-block-editable-page .dsa-page-hero h1 {
    line-height: var(--dsa-page-title-line-height, 1.08);
    font-weight: var(--dsa-page-title-weight, inherit);
    letter-spacing: var(--dsa-page-title-letter-spacing, normal);
    color: var(--dsa-page-title-color, inherit);
    text-align: var(--dsa-page-title-align, left);
}

.dsa-editable-constellation-intro .dsa-constellation-intro-inner {
    display: grid;
    grid-template-columns: minmax(0, var(--dsa-intro-image-width, 42%)) minmax(0, 1fr);
    gap: var(--dsa-gap, 32px);
    align-items: var(--dsa-flex-align, start);
    width: 100%;
}
.dsa-editable-constellation-intro .dsa-constellation-media {
    grid-column: 1;
    min-width: 0;
}
.dsa-editable-constellation-intro .dsa-constellation-copy {
    grid-column: 2;
    min-width: 0;
}
.dsa-editable-constellation-intro .dsa-constellation-continuation {
    grid-column: 1 / -1;
    min-width: 0;
}
.dsa-editable-constellation-intro .dsa-constellation-media figure,
.dsa-editable-constellation-intro .dsa-constellation-media .wp-block-image {
    margin: 0;
    width: 100%;
    max-width: 100%;
}
.dsa-editable-constellation-intro .dsa-constellation-media img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
}
.dsa-editable-constellation-intro .dsa-constellation-copy,
.dsa-editable-constellation-intro .dsa-constellation-copy :where(p,li),
.dsa-editable-constellation-intro .dsa-constellation-continuation,
.dsa-editable-constellation-intro .dsa-constellation-continuation :where(p,li),
.dsa-editable-text-block,
.dsa-editable-text-block :where(p,li) {
    color: var(--dsa-text-color, inherit);
    font-size: var(--dsa-text-font-size, inherit);
    line-height: var(--dsa-text-line-height, inherit);
    font-weight: var(--dsa-text-font-weight, inherit);
    letter-spacing: var(--dsa-text-letter-spacing, normal);
    text-align: var(--dsa-text-align, inherit);
}
.dsa-intro-layout-below .dsa-constellation-intro-inner {
    grid-template-columns: 1fr;
}
.dsa-intro-layout-below .dsa-constellation-media,
.dsa-intro-layout-below .dsa-constellation-copy,
.dsa-intro-layout-below .dsa-constellation-continuation {
    grid-column: 1;
}
.dsa-dynamic-editorial {
    margin-bottom: clamp(1rem, 2.5vw, 2rem);
}
.dsa-dynamic-editorial > :first-child { margin-top: 0; }
.dsa-dynamic-editorial > :last-child { margin-bottom: 0; }

@media (max-width: 980px) {
    .dsa-editable-constellation-intro .dsa-constellation-intro-inner {
        grid-template-columns: minmax(0, var(--dsa-intro-image-width-tablet, 45%)) minmax(0, 1fr);
    }
    .dsa-intro-layout-below .dsa-constellation-intro-inner {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 620px) {
    .dsa-editable-constellation-intro .dsa-constellation-intro-inner {
        grid-template-columns: 1fr;
    }
    .dsa-editable-constellation-intro .dsa-constellation-media,
    .dsa-editable-constellation-intro .dsa-constellation-copy,
    .dsa-editable-constellation-intro .dsa-constellation-continuation {
        grid-column: 1;
    }
}

/* 0.22.0 – the repaired constellation areas are WordPress core groups. */
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-media { grid-column: 1; min-width: 0; }
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-copy { grid-column: 2; min-width: 0; }
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-continuation { grid-column: 1 / -1; min-width: 0; }
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-media,
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-copy,
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-continuation { margin: 0; padding: 0; background: transparent; }
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-media figure { margin: 0; width: 100%; max-width: 100%; }
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-media img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-copy :where(p,li),
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-continuation :where(p,li) {
    color: var(--dsa-text-color, inherit) !important;
    font-size: var(--dsa-text-font-size, inherit) !important;
    font-weight: var(--dsa-text-font-weight, inherit) !important;
    line-height: var(--dsa-text-line-height, inherit) !important;
    letter-spacing: var(--dsa-text-letter-spacing, normal) !important;
    text-align: var(--dsa-text-align, inherit) !important;
}
.dsa-intro-layout-below .wp-block-group.dsa-constellation-media,
.dsa-intro-layout-below .wp-block-group.dsa-constellation-copy,
.dsa-intro-layout-below .wp-block-group.dsa-constellation-continuation { grid-column: 1; }
@media (max-width: 620px) {
    .dsa-editable-constellation-intro .wp-block-group.dsa-constellation-media,
    .dsa-editable-constellation-intro .wp-block-group.dsa-constellation-copy,
    .dsa-editable-constellation-intro .wp-block-group.dsa-constellation-continuation { grid-column: 1; }
}

/* 0.23.0 – ratio-based constellation layout shared with the editor. */
.dsa-editable-constellation-intro .dsa-constellation-intro-inner {
    display:grid !important;
    grid-template-columns:minmax(0,var(--dsa-intro-image-share,42fr)) minmax(0,var(--dsa-intro-text-share,58fr)) !important;
    gap:var(--dsa-gap,32px) !important;
    align-items:var(--dsa-flex-align,start) !important;
}
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-media,
.dsa-editable-constellation-intro .dsa-constellation-media { grid-column:1 !important; grid-row:1 !important; }
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-copy,
.dsa-editable-constellation-intro .dsa-constellation-copy { grid-column:2 !important; grid-row:1 !important; }
.dsa-editable-constellation-intro .wp-block-group.dsa-constellation-continuation,
.dsa-editable-constellation-intro .dsa-constellation-continuation { grid-column:1 / -1 !important; grid-row:2 !important; }
.dsa-intro-layout-reverse .wp-block-group.dsa-constellation-media,
.dsa-intro-layout-reverse .dsa-constellation-media { grid-column:2 !important; }
.dsa-intro-layout-reverse .wp-block-group.dsa-constellation-copy,
.dsa-intro-layout-reverse .dsa-constellation-copy { grid-column:1 !important; }
.dsa-intro-layout-below .dsa-constellation-intro-inner { grid-template-columns:1fr !important; }
.dsa-intro-layout-below .wp-block-group.dsa-constellation-media,
.dsa-intro-layout-below .wp-block-group.dsa-constellation-copy,
.dsa-intro-layout-below .wp-block-group.dsa-constellation-continuation,
.dsa-intro-layout-below .dsa-constellation-media,
.dsa-intro-layout-below .dsa-constellation-copy,
.dsa-intro-layout-below .dsa-constellation-continuation { grid-column:1 !important; grid-row:auto !important; }
@media (max-width:980px) {
    .dsa-editable-constellation-intro .dsa-constellation-intro-inner {
        grid-template-columns:minmax(0,var(--dsa-intro-image-share-tablet,45fr)) minmax(0,var(--dsa-intro-text-share-tablet,55fr)) !important;
    }
}
@media (max-width:620px) {
    .dsa-editable-constellation-intro .dsa-constellation-intro-inner { grid-template-columns:1fr !important; }
    .dsa-editable-constellation-intro .wp-block-group.dsa-constellation-media,
    .dsa-editable-constellation-intro .wp-block-group.dsa-constellation-copy,
    .dsa-editable-constellation-intro .wp-block-group.dsa-constellation-continuation,
    .dsa-editable-constellation-intro .dsa-constellation-media,
    .dsa-editable-constellation-intro .dsa-constellation-copy,
    .dsa-editable-constellation-intro .dsa-constellation-continuation {
        grid-column:1 !important;
        grid-row:auto !important;
    }
}
