.ut-container { width: min(100% - (var(--ut-gutter) * 2), var(--ut-container)); margin-inline: auto; }
/* A composition narrows content inside the canonical .ut-container; it never
   replaces the public site grid. */
.ut-layout-composition { min-width: 0; }
.ut-layout-composition--centered { margin-inline: auto; }
.ut-layout-composition--commerce { max-width: 64rem; }
.ut-layout-composition--checkout { max-width: 61.25rem; }
.ut-layout-composition--reading { max-width: var(--ut-container-reading); }
.ut-layout-composition--auth { max-width: 57.5rem; }
.ut-layout-composition--pdp { max-width: 80rem; }
.ut-layout-composition--catalog { width: 100%; }
.ut-main { min-height: 40vh; }
.ut-stack > * + * { margin-block-start: var(--ut-space-6); }
.ut-flashes { position: relative; z-index: var(--ut-z-header); width: min(100% - (var(--ut-gutter) * 2), var(--ut-container)); margin: var(--ut-space-4) auto 0; }
.ut-flash { display: flex; align-items: center; min-height: var(--ut-control-height); margin: 0; padding: var(--ut-space-3) var(--ut-space-4); border: var(--ut-border-subtle); border-radius: var(--ut-radius-md); background: var(--ut-color-surface); color: var(--ut-color-ink); font-size: var(--ut-text-sm); line-height: var(--ut-leading-normal); }
.ut-flash--success { border-color: color-mix(in srgb, var(--ut-color-sage) 42%, var(--ut-color-line)); background: color-mix(in srgb, var(--ut-color-sage) 7%, var(--ut-color-surface)); }
.ut-flash--error { border-color: color-mix(in srgb, var(--ut-color-danger) 40%, var(--ut-color-line)); background: color-mix(in srgb, var(--ut-color-danger) 6%, var(--ut-color-surface)); }
.ut-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ut-skip-link { position: fixed; left: var(--ut-space-4); top: var(--ut-space-4); z-index: var(--ut-z-modal); transform: translateY(-180%); padding: var(--ut-space-3) var(--ut-space-4); background: var(--ut-color-ink); color: var(--ut-color-surface); }
.ut-skip-link:focus { transform: translateY(0); }

.ut-flash__close { margin-left:auto; flex:none; min-width:44px; min-height:44px; border:0; background:transparent; color:inherit; font:inherit; font-size:24px; cursor:pointer; }
