/* Editorial content: prose, block grid, figures, admin modal */

.prose{font-size:1.0625rem;line-height:1.72;max-width:68ch;--prose-strong:var(--as-text)}
.prose p{margin:0 0 1.1em}
.prose p:last-child{margin-bottom:0}
.prose.is-lead > p:first-child{font-size:clamp(1.2rem,2.5vw,1.5rem);line-height:1.5;font-weight:500;letter-spacing:-.01em}
.prose h2,.prose h3,.prose h4{font-family:var(--as-font-display);line-height:1.15;margin:1.75em 0 .6em;font-weight:var(--as-display-weight)}
.prose h2{font-size:clamp(1.5rem,3vw,2rem)}
.prose h3{font-size:clamp(1.2rem,2.5vw,1.45rem)}
.prose h4{font-size:1.1rem}
.prose strong{font-weight:700;color:var(--prose-strong)}
.prose a{color:var(--as-link);text-decoration-thickness:1.5px;text-underline-offset:3px}
.prose ul,.prose ol{margin:0 0 1em;padding-left:1.25em}
.prose li{margin:.25em 0}
.prose img{border-radius:var(--as-radius);margin:1.5rem 0}
.prose blockquote{
  margin:1.5em 0;padding:1em 1.25em;border-left:3px solid var(--as-accent);
  background:color-mix(in srgb,var(--as-accent) 8%,transparent);border-radius:0 var(--as-radius) var(--as-radius) 0;
}

.page-canvas{position:relative}

.editorial-grid{display:block}

.section-lead{font-size:1.05rem;line-height:1.6;color:var(--as-muted);max-width:40rem;margin:-.35rem 0 1.5rem}

/* Normal flow (not grid) so sidebar images can float beside the opening text. */
.editorial-main{display:block}
.blocks-stack{display:flow-root;max-width:64rem}
.blocks-stack .prose{max-width:none}
.blocks-stack > .block-editable:not(:last-child){margin-bottom:1.35rem}
.blocks-stack > .block-editable--sidebar{float:right;clear:right;width:clamp(9rem,32%,20rem);margin:0 0 1.25rem clamp(1rem,3vw,2.25rem)}
.blocks-stack > .block-editable--sidebar + .block-editable--sidebar{margin-top:0}
@media (max-width:520px){.blocks-stack > .block-editable--sidebar{width:40%}}
.block-editable{position:relative;border-radius:var(--as-radius);transition:box-shadow .2s}
.block-edit-btn{display:none}

/* Content images are never cropped or enlarged past their own pixels: whole image, centred, capped to the viewport. */
.block-figure{margin:0}
.block-figure img{
  display:block;width:auto;height:auto;max-width:100%;max-height:min(82vh,900px);margin-inline:auto;
  object-fit:contain;border-radius:var(--as-radius-lg);
}
.block-figure figcaption{font-size:.88rem;color:var(--as-muted);padding:.7rem .9rem;text-align:center}
.block-figure--sidebar img{box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.block-text.prose{padding:.15rem 0}

.admin-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:200;display:grid;place-items:center;padding:1rem}
.admin-modal{
  width:min(720px,100%);max-height:90vh;overflow:auto;background:var(--as-bg);color:var(--as-text);
  border:1px solid var(--as-line);border-radius:16px;padding:1.25rem;box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.admin-modal h2{margin:0 0 1rem;font-size:1.25rem}
.admin-modal .rich-editor{min-height:200px;border:1px solid var(--as-line);border-radius:10px;padding:.85rem;line-height:1.6}
.admin-modal .rich-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}
.admin-modal label{display:block;margin:.75rem 0 .35rem;font-size:.88rem}
.admin-modal input[type=text],.admin-modal select,.admin-modal textarea{
  width:100%;min-height:44px;padding:.55rem;border-radius:8px;border:1px solid var(--as-line);
  background:color-mix(in srgb,var(--as-text) 4%,transparent);color:inherit;font:inherit;
}
.admin-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}
