/* CEMI Front UX · F1 · Layout primitives */
.cemi-ux-container { width: min(100% - (2 * var(--cemi-gutter)), var(--cemi-container-xl)); margin-inline: auto; }
.cemi-ux-container--sm { max-width: var(--cemi-container-sm); }
.cemi-ux-container--md { max-width: var(--cemi-container-md); }
.cemi-ux-container--lg { max-width: var(--cemi-container-lg); }
.cemi-ux-stack { display: flex; flex-direction: column; gap: var(--cemi-stack-gap, var(--cemi-space-6)); }
.cemi-ux-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cemi-cluster-gap, var(--cemi-space-3)); }
.cemi-ux-grid { display: grid; gap: var(--cemi-grid-gap, var(--cemi-space-6)); grid-template-columns: repeat(var(--cemi-grid-cols, 1), minmax(0,1fr)); }
.cemi-ux-split { display: grid; gap: var(--cemi-space-8); grid-template-columns: minmax(0,1fr); }
.cemi-ux-center { display: grid; place-items: center; }
.cemi-ux-section { padding-block: clamp(var(--cemi-space-10), 6vw, var(--cemi-space-20)); }
.cemi-ux-flow > * + * { margin-top: var(--cemi-flow-space, var(--cemi-space-4)); }
.cemi-ux-density--compact { --cemi-stack-gap: var(--cemi-density-compact-gap); --cemi-grid-gap: var(--cemi-density-compact-gap); --cemi-cluster-gap: var(--cemi-density-compact-gap); }
.cemi-ux-density--standard { --cemi-stack-gap: var(--cemi-density-standard-gap); --cemi-grid-gap: var(--cemi-density-standard-gap); --cemi-cluster-gap: var(--cemi-density-standard-gap); }
.cemi-ux-density--comfortable { --cemi-stack-gap: var(--cemi-density-comfortable-gap); --cemi-grid-gap: var(--cemi-density-comfortable-gap); --cemi-cluster-gap: var(--cemi-density-comfortable-gap); }


/* F2.7A · Canonical width primitives */
.cfx-container,
.cemi-ux-container{
  width:min(calc(100% - 2rem), 1180px);
  margin-inline:auto;
}
.cfx-container--site{width:min(calc(100% - 2rem), 1440px);margin-inline:auto}
.cfx-container--content{width:min(calc(100% - 2rem), 1180px);margin-inline:auto}
.cfx-container--editorial{width:min(calc(100% - 2rem), 760px);margin-inline:auto}
.cfx-full-bleed{width:100%;max-width:none}
@media(min-width:900px){
 .cfx-container,.cemi-ux-container{width:min(calc(100% - 4rem),1180px)}
 .cfx-container--site{width:min(calc(100% - 4rem),1440px)}
 .cfx-container--content{width:min(calc(100% - 4rem),1180px)}
}
@media(min-width:1600px){
 .cfx-container--site{width:min(calc(100% - 6rem),1520px)}
 .cfx-container--content,.cfx-container,.cemi-ux-container{width:min(calc(100% - 6rem),1280px)}
}
