/* Content-level spacing: 0.25, 0.5rem, then the --tt-space-card scale and the
   two smallest section steps (2, 3rem).

   Every breakpoint is one mode (data-mode-desktop / -tablet / -mobile; Tablet
   <= 991px, Mobile <= 767px): row, column or grid. Horizontal / Vertical align
   are turned into the matching flex / grid values once (--_h-* / --_v-*), and
   each mode picks the ones for its axes. Grid templates (--_tpl-*) and max
   widths (--_mw-*) come in inline. */
.CsUPqANjm9X2T7XK1riB {
  --_gap: var(--tt-space-card-rg, clamp(1rem, 0.48rem + 1.953vw, 1.5rem));
  --_mw: var(--_mw-desktop, none);
  --_tpl: var(--_tpl-desktop);
  /* Stretch (default): items fill across, start along the axis. */
  --_h-items: stretch;
  --_h-justify: normal;
  --_h-grid: stretch;
  --_v-items: stretch;
  --_v-justify: normal;
  --_row: row;
  --_column: column;
  --_grid-dir: ltr;

  box-sizing: border-box;
  display: flex;
  flex-direction: var(--_column);
  align-items: var(--_h-items);
  justify-content: var(--_v-justify);
  gap: var(--_row-gap, var(--_gap)) var(--_gap);
  max-width: var(--_mw);
}

/* An empty slot takes no space (and no gap); the extra attribute beats the
   mode rules, which also set display. */
.CsUPqANjm9X2T7XK1riB[data-empty][data-mode-desktop] {
  display: none;
}

/* The content part and Webflow's slot wrapper are no boxes: every child is an
   item of the layout. The wrapper resets direction, so a reversed grid (rtl)
   doesn't turn the text around. */
.CsUPqANjm9X2T7XK1riB .ewonjyL8YAmxkz6u6c_D[data-part="content"] {
  display: contents;
}

.CsUPqANjm9X2T7XK1riB .ewonjyL8YAmxkz6u6c_D[data-part="content"] ::slotted(*) {
  display: contents;
  direction: ltr;
}

/* Width only, so a parent's Vertical align still applies. */
.CsUPqANjm9X2T7XK1riB[data-width="full"] {
  width: 100%;
}

.CsUPqANjm9X2T7XK1riB[data-width="full"][data-position="center"] { margin-inline: auto; }
.CsUPqANjm9X2T7XK1riB[data-width="full"][data-position="left"] { margin-inline: 0 auto; }

.CsUPqANjm9X2T7XK1riB[data-wrap] { flex-wrap: wrap; }

/* ---------- Horizontal / Vertical align ---------- */
.CsUPqANjm9X2T7XK1riB[data-h="left"] { --_h-items: flex-start; --_h-justify: start; --_h-grid: left; }
.CsUPqANjm9X2T7XK1riB[data-h="center"] { --_h-items: center; --_h-justify: center; --_h-grid: center; }
.CsUPqANjm9X2T7XK1riB[data-h="right"] { --_h-items: flex-end; --_h-justify: end; --_h-grid: right; }
.CsUPqANjm9X2T7XK1riB[data-h="space-between"] { --_h-justify: space-between; }

.CsUPqANjm9X2T7XK1riB[data-v="top"] { --_v-items: flex-start; --_v-justify: start; }
.CsUPqANjm9X2T7XK1riB[data-v="center"] { --_v-items: center; --_v-justify: center; }
.CsUPqANjm9X2T7XK1riB[data-v="bottom"] { --_v-items: flex-end; --_v-justify: end; }
.CsUPqANjm9X2T7XK1riB[data-v="space-between"] { --_v-justify: space-between; }

/* ---------- Gap ---------- */
.CsUPqANjm9X2T7XK1riB[data-gap="none"] { --_gap: 0rem; }
.CsUPqANjm9X2T7XK1riB[data-gap="xx-small"] { --_gap: 0.25rem; }
.CsUPqANjm9X2T7XK1riB[data-gap="x-small"] { --_gap: var(--tt-space-card-xs, 0.5rem); }
.CsUPqANjm9X2T7XK1riB[data-gap="small"] { --_gap: var(--tt-space-card-sm, clamp(0.75rem, 0.49rem + 0.977vw, 1rem)); }
.CsUPqANjm9X2T7XK1riB[data-gap="medium"] { --_gap: var(--tt-space-card-md, clamp(1.5rem, 0.98rem + 1.953vw, 2rem)); }
.CsUPqANjm9X2T7XK1riB[data-gap="large"] { --_gap: var(--tt-space-section-xs, 2rem); }
.CsUPqANjm9X2T7XK1riB[data-gap="x-large"] { --_gap: var(--tt-space-section-sm, 3rem); }

/* Row gap: the space between items above each other; without it, Gap. */
.CsUPqANjm9X2T7XK1riB[data-row-gap="none"] { --_row-gap: 0rem; }
.CsUPqANjm9X2T7XK1riB[data-row-gap="xx-small"] { --_row-gap: 0.25rem; }
.CsUPqANjm9X2T7XK1riB[data-row-gap="x-small"] { --_row-gap: var(--tt-space-card-xs, 0.5rem); }
.CsUPqANjm9X2T7XK1riB[data-row-gap="small"] { --_row-gap: var(--tt-space-card-sm, clamp(0.75rem, 0.49rem + 0.977vw, 1rem)); }
.CsUPqANjm9X2T7XK1riB[data-row-gap="regular"] { --_row-gap: var(--tt-space-card-rg, clamp(1rem, 0.48rem + 1.953vw, 1.5rem)); }
.CsUPqANjm9X2T7XK1riB[data-row-gap="medium"] { --_row-gap: var(--tt-space-card-md, clamp(1.5rem, 0.98rem + 1.953vw, 2rem)); }
.CsUPqANjm9X2T7XK1riB[data-row-gap="large"] { --_row-gap: var(--tt-space-section-xs, 2rem); }
.CsUPqANjm9X2T7XK1riB[data-row-gap="x-large"] { --_row-gap: var(--tt-space-section-sm, 3rem); }

/* ---------- Reverse (Desktop = above 767px) ---------- */
.CsUPqANjm9X2T7XK1riB[data-reverse-desktop] { --_row: row-reverse; --_column: column-reverse; --_grid-dir: rtl; }

/* ---------- Modes ---------- */
.CsUPqANjm9X2T7XK1riB[data-mode-desktop="row"] {
  flex-direction: var(--_row);
  justify-content: var(--_h-justify);
  align-items: var(--_v-items);
}

.CsUPqANjm9X2T7XK1riB[data-mode-desktop="grid"] {
  display: grid;
  grid-template-columns: var(--_tpl);
  justify-items: var(--_h-grid);
  align-items: var(--_v-items);
  direction: var(--_grid-dir);
}

@media (max-width: 991px) {
  .CsUPqANjm9X2T7XK1riB {
    --_mw: var(--_mw-tablet, none);
    --_tpl: var(--_tpl-tablet);
  }

  .CsUPqANjm9X2T7XK1riB[data-mode-tablet="column"] {
    display: flex;
    flex-direction: var(--_column);
    align-items: var(--_h-items);
    justify-content: var(--_v-justify);
    direction: ltr;
  }

  .CsUPqANjm9X2T7XK1riB[data-mode-tablet="row"] {
    display: flex;
    flex-direction: var(--_row);
    justify-content: var(--_h-justify);
    align-items: var(--_v-items);
    direction: ltr;
  }

  .CsUPqANjm9X2T7XK1riB[data-mode-tablet="grid"] {
    display: grid;
    grid-template-columns: var(--_tpl);
    justify-items: var(--_h-grid);
    align-items: var(--_v-items);
    direction: var(--_grid-dir);
  }
}

@media (max-width: 767px) {
  .CsUPqANjm9X2T7XK1riB {
    --_mw: var(--_mw-mobile, none);
    --_tpl: var(--_tpl-mobile);
  }

  .CsUPqANjm9X2T7XK1riB:not([data-reverse-mobile]) { --_row: row; --_column: column; --_grid-dir: ltr; }

  .CsUPqANjm9X2T7XK1riB[data-reverse-mobile] { --_row: row-reverse; --_column: column-reverse; --_grid-dir: rtl; }

  .CsUPqANjm9X2T7XK1riB[data-mode-mobile="column"] {
    display: flex;
    flex-direction: var(--_column);
    align-items: var(--_h-items);
    justify-content: var(--_v-justify);
    direction: ltr;
  }

  .CsUPqANjm9X2T7XK1riB[data-mode-mobile="row"] {
    display: flex;
    flex-direction: var(--_row);
    justify-content: var(--_h-justify);
    align-items: var(--_v-items);
    direction: ltr;
  }

  .CsUPqANjm9X2T7XK1riB[data-mode-mobile="grid"] {
    display: grid;
    grid-template-columns: var(--_tpl);
    justify-items: var(--_h-grid);
    align-items: var(--_v-items);
    direction: var(--_grid-dir);
  }
}

