.cms-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}
.cms-column{min-width:0;overflow-wrap:anywhere}
.cms-page-button{display:inline-block;background:var(--button-bg,var(--accent,#6545c4));padding:var(--button-padding,10px 20px);border-radius:var(--button-radius,8px);text-decoration:none}
.site-surface a.cms-page-button{color:var(--button-fg,#fff)}
.cms-page-button:hover{filter:brightness(.92)}
@media(max-width:650px){.cms-columns{grid-template-columns:1fr}}

/* v0.9 safe design tokens. Apply to rendered block wrappers only. */
.cms-block-align-center{text-align:center}
.cms-block-align-right{text-align:right}
.cms-block-tone-muted{color:#64748b}
.cms-block-tone-accent{color:var(--accent,#6552dc)}
.cms-block-spacing-compact{margin-block:4px 8px}
.cms-block-spacing-spacious{margin-block:30px 38px}

/* Validated Visual Designer v2 section/container tokens. */
.cms-designer-section{width:100%;min-width:0;margin-block:24px;padding:24px}
.cms-designer-container{min-width:0}
.cms-designer-width-contained{max-width:1120px;margin-inline:auto}
.cms-designer-width-full{max-width:none}
.cms-designer-layout-stack{display:flex;flex-direction:column;gap:16px}
.cms-designer-layout-row{display:flex;flex-direction:row;gap:20px;flex-wrap:wrap}
.cms-designer-layout-row>*{min-width:0;flex:1 1 220px}
.cms-designer-layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cms-designer-surface-muted{background:#f3f5fa}
.cms-designer-surface-accent{background:color-mix(in srgb,var(--accent,#6552dc) 12%,white)}
.cms-designer-spacing-compact{padding:10px;gap:8px}
.cms-designer-spacing-spacious{padding:48px;gap:32px}
@media(max-width:650px){.cms-designer-layout-grid{grid-template-columns:1fr}.cms-designer-layout-row{flex-direction:column}.cms-designer-section{padding:16px}}

.cms-designer-align-left{text-align:left}
.cms-designer-align-center{text-align:center}
.cms-designer-align-right{text-align:right}
.cms-designer-radius-none{border-radius:0}
.cms-designer-radius-small{border-radius:6px}
.cms-designer-radius-medium{border-radius:14px}
.cms-designer-radius-large{border-radius:28px}
@media(max-width:900px) and (min-width:651px){
.cms-designer-tablet_layout-stack{display:flex;flex-direction:column}
.cms-designer-tablet_layout-row{display:flex;flex-direction:row;flex-wrap:wrap}
.cms-designer-tablet_layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
.cms-designer-mobile_layout-stack{display:flex;flex-direction:column}
.cms-designer-mobile_layout-row{display:flex;flex-direction:row;flex-wrap:wrap}
.cms-designer-mobile_layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Shared, server-validated element typography and geometry. */
.cms-block-size-small{font-size:.875rem}
.cms-block-size-large{font-size:1.5rem}
.cms-block-size-display{font-size:clamp(2rem,4vw,4.25rem);line-height:1.1}
.cms-block-weight-medium{font-weight:500}
.cms-block-weight-bold{font-weight:700}
.cms-block-radius-small{border-radius:6px}
.cms-block-radius-medium{border-radius:14px}
.cms-block-radius-large{border-radius:28px}
.cms-block-width-full{width:100%;box-sizing:border-box}
.cms-block-width-half{width:50%;max-width:100%;box-sizing:border-box}
@media(max-width:650px){.cms-block-width-half{width:100%}}

/* Genuine nested grids. Children are editable containers, not text columns. */
.cms-designer-layout-grid.cms-designer-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cms-designer-layout-grid.cms-designer-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cms-designer-layout-grid.cms-designer-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cms-designer-layout-grid>.cms-designer-container{min-width:0}
@media(max-width:900px) and (min-width:651px){
.cms-designer-tablet_layout-stack{grid-template-columns:1fr!important}
.cms-designer-tablet_layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
.cms-designer-layout-grid{grid-template-columns:1fr!important}
.cms-designer-mobile_layout-row{display:flex!important;flex-wrap:wrap}
.cms-designer-mobile_layout-stack{display:flex!important;flex-direction:column}
.cms-designer-mobile_layout-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Explicit container overrides follow layout defaults on every rendering surface. */

.cms-designer-gap-none{gap:0}.cms-designer-gap-xs{gap:.25rem}.cms-designer-gap-small{gap:.5rem}.cms-designer-gap-medium{gap:1rem}.cms-designer-gap-large{gap:2rem}.cms-designer-gap-xl{gap:4rem}
.cms-designer-padding-none{padding:0}.cms-designer-padding-xs{padding:.25rem}.cms-designer-padding-small{padding:.5rem}.cms-designer-padding-medium{padding:1rem}.cms-designer-padding-large{padding:2rem}.cms-designer-padding-xl{padding:4rem}
.cms-designer-justify-start{justify-content:flex-start}.cms-designer-justify-center{justify-content:center}.cms-designer-justify-end{justify-content:flex-end}.cms-designer-justify-between{justify-content:space-between}.cms-designer-justify-around{justify-content:space-around}
.cms-designer-background-transparent{background:transparent}.cms-designer-background-primary{background:var(--page-bg,#fff)}.cms-designer-background-secondary{background:var(--page-surface,#f1f5f9)}.cms-designer-background-accent{background:var(--accent,#6366f1)}.cms-designer-background-contrast{background:#111827;color:#fff}
.cms-designer-border-none{border:0}.cms-designer-border-subtle{border:1px solid #cbd5e1}.cms-designer-border-strong{border:2px solid #475569}
.cms-designer-shadow-none{box-shadow:none}.cms-designer-shadow-small{box-shadow:0 2px 5px #0002}.cms-designer-shadow-medium{box-shadow:0 8px 20px #0003}.cms-designer-shadow-large{box-shadow:0 16px 36px #0004}
