/* Miscellaneous utilities — display, border-radius, shadow, border. */

/* Display */
.hs-d-block        { display: block; }
.hs-d-inline       { display: inline; }
.hs-d-inline-block { display: inline-block; }
.hs-d-flex         { display: flex; }
.hs-d-inline-flex  { display: inline-flex; }
.hs-d-grid         { display: grid; }
.hs-d-inline-grid  { display: inline-grid; }
.hs-d-none         { display: none; }

/* Flex direction / wrap */
.hs-flex-row         { flex-direction: row; }
.hs-flex-row-reverse { flex-direction: row-reverse; }
.hs-flex-col         { flex-direction: column; }
.hs-flex-col-reverse { flex-direction: column-reverse; }
.hs-flex-wrap        { flex-wrap: wrap; }
.hs-flex-nowrap      { flex-wrap: nowrap; }

/* Justify / align (flex + grid) */
.hs-justify-start    { justify-content: flex-start; }
.hs-justify-center   { justify-content: center; }
.hs-justify-end      { justify-content: flex-end; }
.hs-justify-between  { justify-content: space-between; }
.hs-justify-around   { justify-content: space-around; }
.hs-justify-evenly   { justify-content: space-evenly; }

.hs-items-start    { align-items: flex-start; }
.hs-items-center   { align-items: center; }
.hs-items-end      { align-items: flex-end; }
.hs-items-stretch  { align-items: stretch; }
.hs-items-baseline { align-items: baseline; }

/* Border radius — --at-radius--* */
.hs-radius-2xs  { border-radius: var(--at-radius--2xs); }
.hs-radius-xs   { border-radius: var(--at-radius--xs); }
.hs-radius-s    { border-radius: var(--at-radius--s); }
.hs-radius-m    { border-radius: var(--at-radius--m); }
.hs-radius-l    { border-radius: var(--at-radius--l); }
.hs-radius-xl   { border-radius: var(--at-radius--xl); }
.hs-radius-full { border-radius: var(--at-radius-full); }
.hs-radius-0    { border-radius: 0; }

/* Border */
.hs-border      { border: var(--at-border--standard); }
.hs-border-none { border: none; }

/* Overflow */
.hs-overflow-hidden  { overflow: hidden; }
.hs-overflow-visible { overflow: visible; }
.hs-overflow-auto    { overflow: auto; }
.hs-overflow-scroll  { overflow: scroll; }

/* Position */
.hs-relative { position: relative; }
.hs-absolute { position: absolute; }
.hs-fixed    { position: fixed; }
.hs-sticky   { position: sticky; }
.hs-static   { position: static; }

/* CSS multi-columns */
.hs-columns-1 { column-count: 1; }
.hs-columns-2 { column-count: 2; }
.hs-columns-3 { column-count: 3; }
.hs-columns-4 { column-count: 4; }
.hs-columns-5 { column-count: 5; }
.hs-columns-6 { column-count: 6; }
.hs-columns-auto { column-count: auto; }

/* Column gap — uses spacing tokens */
.hs-col-gap-3xs { column-gap: var(--at-space--3xs); }
.hs-col-gap-2xs { column-gap: var(--at-space--2xs); }
.hs-col-gap-xs  { column-gap: var(--at-space--xs); }
.hs-col-gap-s   { column-gap: var(--at-space--s); }
.hs-col-gap-m   { column-gap: var(--at-space--m); }
.hs-col-gap-l   { column-gap: var(--at-space--l); }
.hs-col-gap-xl  { column-gap: var(--at-space--xl); }
.hs-col-gap-2xl { column-gap: var(--at-space--2xl); }

/* Column rule (divider line between columns) */
.hs-col-rule      { column-rule: var(--at-border--standard); }
.hs-col-rule-none { column-rule: none; }

/* Span all columns (useful for headings inside a columnar block) */
.hs-col-span-all  { column-span: all; }
.hs-col-span-none { column-span: none; }

/* Prevent items from being split across columns */
.hs-break-inside-avoid  { break-inside: avoid; }
.hs-break-inside-auto   { break-inside: auto; }
.hs-break-before-column { break-before: column; }
.hs-break-after-column  { break-after: column; }

/* Column width — sets min width per column, browser auto-fits how many fit */
.hs-col-w-xs   { column-width: 180px; }
.hs-col-w-s    { column-width: 220px; }
.hs-col-w-m    { column-width: var(--at-grid-auto-col-min-width); } /* 270px */
.hs-col-w-l    { column-width: 320px; }
.hs-col-w-xl   { column-width: 400px; }
.hs-col-w-auto { column-width: auto; }

/* Column fill */
.hs-col-fill-auto    { column-fill: auto; }
.hs-col-fill-balance { column-fill: balance; }
