/* --- Utility: spacing ---------------------------------------
   p/m + t(op) b(ottom) s(tart) e(nd) x(inline) y(block) + 0-5
   podle škály --space-0..--space-5 ze style.css. Např. .pt-3 .mx-4 .p-0
   Tento soubor se linkuje AŽ ZA style.css, aby utility třídy vždy
   přebily styly komponent bez nutnosti !important.
   ------------------------------------------------------------- */
.p-0  { padding: var(--space-0); }
.p-1  { padding: var(--space-1); }
.p-2  { padding: var(--space-2); }
.p-3  { padding: var(--space-3); }
.p-4  { padding: var(--space-4); }
.p-5  { padding: var(--space-5); }

.pt-0 { padding-block-start: var(--space-0); }
.pt-1 { padding-block-start: var(--space-1); }
.pt-2 { padding-block-start: var(--space-2); }
.pt-3 { padding-block-start: var(--space-3); }
.pt-4 { padding-block-start: var(--space-4); }
.pt-5 { padding-block-start: var(--space-5); }

.pb-0 { padding-block-end: var(--space-0); }
.pb-1 { padding-block-end: var(--space-1); }
.pb-2 { padding-block-end: var(--space-2); }
.pb-3 { padding-block-end: var(--space-3); }
.pb-4 { padding-block-end: var(--space-4); }
.pb-5 { padding-block-end: var(--space-5); }

.ps-0 { padding-inline-start: var(--space-0); }
.ps-1 { padding-inline-start: var(--space-1); }
.ps-2 { padding-inline-start: var(--space-2); }
.ps-3 { padding-inline-start: var(--space-3); }
.ps-4 { padding-inline-start: var(--space-4); }
.ps-5 { padding-inline-start: var(--space-5); }

.pe-0 { padding-inline-end: var(--space-0); }
.pe-1 { padding-inline-end: var(--space-1); }
.pe-2 { padding-inline-end: var(--space-2); }
.pe-3 { padding-inline-end: var(--space-3); }
.pe-4 { padding-inline-end: var(--space-4); }
.pe-5 { padding-inline-end: var(--space-5); }

.px-0 { padding-inline: var(--space-0); }
.px-1 { padding-inline: var(--space-1); }
.px-2 { padding-inline: var(--space-2); }
.px-3 { padding-inline: var(--space-3); }
.px-4 { padding-inline: var(--space-4); }
.px-5 { padding-inline: var(--space-5); }

.py-0 { padding-block: var(--space-0); }
.py-1 { padding-block: var(--space-1); }
.py-2 { padding-block: var(--space-2); }
.py-3 { padding-block: var(--space-3); }
.py-4 { padding-block: var(--space-4); }
.py-5 { padding-block: var(--space-5); }

.m-0  { margin: var(--space-0); }
.m-1  { margin: var(--space-1); }
.m-2  { margin: var(--space-2); }
.m-3  { margin: var(--space-3); }
.m-4  { margin: var(--space-4); }
.m-5  { margin: var(--space-5); }

.mt-0 { margin-block-start: var(--space-0); }
.mt-1 { margin-block-start: var(--space-1); }
.mt-2 { margin-block-start: var(--space-2); }
.mt-3 { margin-block-start: var(--space-3); }
.mt-4 { margin-block-start: var(--space-4); }
.mt-5 { margin-block-start: var(--space-5); }

.mb-0 { margin-block-end: var(--space-0); }
.mb-1 { margin-block-end: var(--space-1); }
.mb-2 { margin-block-end: var(--space-2); }
.mb-3 { margin-block-end: var(--space-3); }
.mb-4 { margin-block-end: var(--space-4); }
.mb-5 { margin-block-end: var(--space-5); }

.ms-0 { margin-inline-start: var(--space-0); }
.ms-1 { margin-inline-start: var(--space-1); }
.ms-2 { margin-inline-start: var(--space-2); }
.ms-3 { margin-inline-start: var(--space-3); }
.ms-4 { margin-inline-start: var(--space-4); }
.ms-5 { margin-inline-start: var(--space-5); }

.me-0 { margin-inline-end: var(--space-0); }
.me-1 { margin-inline-end: var(--space-1); }
.me-2 { margin-inline-end: var(--space-2); }
.me-3 { margin-inline-end: var(--space-3); }
.me-4 { margin-inline-end: var(--space-4); }
.me-5 { margin-inline-end: var(--space-5); }

.mx-0 { margin-inline: var(--space-0); }
.mx-1 { margin-inline: var(--space-1); }
.mx-2 { margin-inline: var(--space-2); }
.mx-3 { margin-inline: var(--space-3); }
.mx-4 { margin-inline: var(--space-4); }
.mx-5 { margin-inline: var(--space-5); }

.my-0 { margin-block: var(--space-0); }
.my-1 { margin-block: var(--space-1); }
.my-2 { margin-block: var(--space-2); }
.my-3 { margin-block: var(--space-3); }
.my-4 { margin-block: var(--space-4); }
.my-5 { margin-block: var(--space-5); }

/* Negativní margin (jako Bootstrap .m-n1 .. .m-n5) */
.m-n1  { margin: calc(var(--space-1) * -1); }
.m-n2  { margin: calc(var(--space-2) * -1); }
.m-n3  { margin: calc(var(--space-3) * -1); }
.m-n4  { margin: calc(var(--space-4) * -1); }
.m-n5  { margin: calc(var(--space-5) * -1); }

.mt-n1 { margin-block-start: calc(var(--space-1) * -1); }
.mt-n2 { margin-block-start: calc(var(--space-2) * -1); }
.mt-n3 { margin-block-start: calc(var(--space-3) * -1); }
.mt-n4 { margin-block-start: calc(var(--space-4) * -1); }
.mt-n5 { margin-block-start: calc(var(--space-5) * -1); }

.mb-n1 { margin-block-end: calc(var(--space-1) * -1); }
.mb-n2 { margin-block-end: calc(var(--space-2) * -1); }
.mb-n3 { margin-block-end: calc(var(--space-3) * -1); }
.mb-n4 { margin-block-end: calc(var(--space-4) * -1); }
.mb-n5 { margin-block-end: calc(var(--space-5) * -1); }

.ms-n1 { margin-inline-start: calc(var(--space-1) * -1); }
.ms-n2 { margin-inline-start: calc(var(--space-2) * -1); }
.ms-n3 { margin-inline-start: calc(var(--space-3) * -1); }
.ms-n4 { margin-inline-start: calc(var(--space-4) * -1); }
.ms-n5 { margin-inline-start: calc(var(--space-5) * -1); }

.me-n1 { margin-inline-end: calc(var(--space-1) * -1); }
.me-n2 { margin-inline-end: calc(var(--space-2) * -1); }
.me-n3 { margin-inline-end: calc(var(--space-3) * -1); }
.me-n4 { margin-inline-end: calc(var(--space-4) * -1); }
.me-n5 { margin-inline-end: calc(var(--space-5) * -1); }

.mx-n1 { margin-inline: calc(var(--space-1) * -1); }
.mx-n2 { margin-inline: calc(var(--space-2) * -1); }
.mx-n3 { margin-inline: calc(var(--space-3) * -1); }
.mx-n4 { margin-inline: calc(var(--space-4) * -1); }
.mx-n5 { margin-inline: calc(var(--space-5) * -1); }

.my-n1 { margin-block: calc(var(--space-1) * -1); }
.my-n2 { margin-block: calc(var(--space-2) * -1); }
.my-n3 { margin-block: calc(var(--space-3) * -1); }
.my-n4 { margin-block: calc(var(--space-4) * -1); }
.my-n5 { margin-block: calc(var(--space-5) * -1); }

.m-auto  { margin: auto; }
.mt-auto { margin-block-start: auto; }
.mb-auto { margin-block-end: auto; }
.ms-auto { margin-inline-start: auto; }
.me-auto { margin-inline-end: auto; }
.mx-auto { margin-inline: auto; }
.my-auto { margin-block: auto; }

.gap-0 { gap: var(--space-0); }
.gap-1 { gap: var(--space-1); }
.gap-2 { gap: var(--space-2); }
.gap-3 { gap: var(--space-3); }
.gap-4 { gap: var(--space-4); }
.gap-5 { gap: var(--space-5); }

/* .gap-x-* = column-gap (horizontální), .gap-y-* = row-gap (vertikální) */
.gap-x-0 { column-gap: var(--space-0); }
.gap-x-1 { column-gap: var(--space-1); }
.gap-x-2 { column-gap: var(--space-2); }
.gap-x-3 { column-gap: var(--space-3); }
.gap-x-4 { column-gap: var(--space-4); }
.gap-x-5 { column-gap: var(--space-5); }

.gap-y-0 { row-gap: var(--space-0); }
.gap-y-1 { row-gap: var(--space-1); }
.gap-y-2 { row-gap: var(--space-2); }
.gap-y-3 { row-gap: var(--space-3); }
.gap-y-4 { row-gap: var(--space-4); }
.gap-y-5 { row-gap: var(--space-5); }

.flex-row { flex-direction: row; }
.flex-column { flex-direction: column; }
.flex-row-reverse { flex-direction: row-reverse; }
.flex-column-reverse { flex-direction: column-reverse; }

/* --- Utility: responsive grid columns ------------------------
   .grid-N nastaví repeat(N, 1fr) sloupců. Mobile-first (jako
   Bootstrap): .grid-sm-N = od 576px výš, .grid-md-N = od 768px,
   .grid-lg-N = od 992px, .grid-xl-N = od 1200px, .grid-xxl-N = od
   1460px. Bez prefixu =
   výchozí stav pro nejmenší obrazovky. Používá se jen pro mřížky
   se stejně širokými sloupci - asymetrické layouty (např.
   .footer-grid, .detail-layout) mají poměr sloupců napevno v CSS.
   Např. class="grid-1 grid-sm-2 grid-lg-4"
   ------------------------------------------------------------- */
.grid-1 { grid-template-columns: repeat(1, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-5 { grid-template-columns: repeat(5, 1fr); }

@media (min-width: 576px) {
  .d-sm-block { display: block; }
  .flex-sm-row { flex-direction: row; }
  .flex-sm-column { flex-direction: column; }
  .flex-sm-row-reverse { flex-direction: row-reverse; }
  .flex-sm-column-reverse { flex-direction: column-reverse; }
  .grid-sm-1 { grid-template-columns: repeat(1, 1fr); }
  .grid-sm-2 { grid-template-columns: repeat(2, 1fr); }
  .grid-sm-3 { grid-template-columns: repeat(3, 1fr); }
  .grid-sm-4 { grid-template-columns: repeat(4, 1fr); }
  .grid-sm-5 { grid-template-columns: repeat(5, 1fr); }
}
@media (min-width: 768px) {
  .flex-md-row { flex-direction: row; }
  .flex-md-column { flex-direction: column; }
  .flex-md-row-reverse { flex-direction: row-reverse; }
  .flex-md-column-reverse { flex-direction: column-reverse; }
  .grid-md-1 { grid-template-columns: repeat(1, 1fr); }
  .grid-md-2 { grid-template-columns: repeat(2, 1fr); }
  .grid-md-3 { grid-template-columns: repeat(3, 1fr); }
  .grid-md-4 { grid-template-columns: repeat(4, 1fr); }
  .grid-md-5 { grid-template-columns: repeat(5, 1fr); }
}
@media (min-width: 992px) {
  .flex-lg-row { flex-direction: row; }
  .flex-lg-column { flex-direction: column; }
  .flex-lg-row-reverse { flex-direction: row-reverse; }
  .flex-lg-column-reverse { flex-direction: column-reverse; }
  .grid-lg-1 { grid-template-columns: repeat(1, 1fr); }
  .grid-lg-2 { grid-template-columns: repeat(2, 1fr); }
  .grid-lg-3 { grid-template-columns: repeat(3, 1fr); }
  .grid-lg-4 { grid-template-columns: repeat(4, 1fr); }
  .grid-lg-5 { grid-template-columns: repeat(5, 1fr); }
}
@media (min-width: 1200px) {
  .flex-xl-row { flex-direction: row; }
  .flex-xl-column { flex-direction: column; }
  .flex-xl-row-reverse { flex-direction: row-reverse; }
  .flex-xl-column-reverse { flex-direction: column-reverse; }
  .grid-xl-1 { grid-template-columns: repeat(1, 1fr); }
  .grid-xl-2 { grid-template-columns: repeat(2, 1fr); }
  .grid-xl-3 { grid-template-columns: repeat(3, 1fr); }
  .grid-xl-4 { grid-template-columns: repeat(4, 1fr); }
  .grid-xl-5 { grid-template-columns: repeat(5, 1fr); }
}
@media (min-width: 1460px) {
  .flex-xxl-row { flex-direction: row; }
  .flex-xxl-column { flex-direction: column; }
  .flex-xxl-row-reverse { flex-direction: row-reverse; }
  .flex-xxl-column-reverse { flex-direction: column-reverse; }
  .grid-xxl-1 { grid-template-columns: repeat(1, 1fr); }
  .grid-xxl-2 { grid-template-columns: repeat(2, 1fr); }
  .grid-xxl-3 { grid-template-columns: repeat(3, 1fr); }
  .grid-xxl-4 { grid-template-columns: repeat(4, 1fr); }
  .grid-xxl-5 { grid-template-columns: repeat(5, 1fr); }
}
/* --- Utility: responsive spacing + gap -----------------------
   Stejné p/m/gap třídy jako výše, mobile-first jako Bootstrap:
   .p-sm-4 = od 576px výš, .p-md-4 = od 768px, .p-lg-4 = od 992px,
   .p-xl-4 = od 1200px výš, .p-xxl-4 = od 1460px výš. Bez prefixu = výchozí (nejmenší
   obrazovky). Např. class="p-3 p-sm-4 p-xl-5" nebo "gap-2 gap-lg-4"
   ------------------------------------------------------------- */
@media (min-width: 576px) {
  .p-sm-0 { padding: var(--space-0); }
  .p-sm-1 { padding: var(--space-1); }
  .p-sm-2 { padding: var(--space-2); }
  .p-sm-3 { padding: var(--space-3); }
  .p-sm-4 { padding: var(--space-4); }
  .p-sm-5 { padding: var(--space-5); }
  .pt-sm-0 { padding-block-start: var(--space-0); }
  .pt-sm-1 { padding-block-start: var(--space-1); }
  .pt-sm-2 { padding-block-start: var(--space-2); }
  .pt-sm-3 { padding-block-start: var(--space-3); }
  .pt-sm-4 { padding-block-start: var(--space-4); }
  .pt-sm-5 { padding-block-start: var(--space-5); }
  .pb-sm-0 { padding-block-end: var(--space-0); }
  .pb-sm-1 { padding-block-end: var(--space-1); }
  .pb-sm-2 { padding-block-end: var(--space-2); }
  .pb-sm-3 { padding-block-end: var(--space-3); }
  .pb-sm-4 { padding-block-end: var(--space-4); }
  .pb-sm-5 { padding-block-end: var(--space-5); }
  .ps-sm-0 { padding-inline-start: var(--space-0); }
  .ps-sm-1 { padding-inline-start: var(--space-1); }
  .ps-sm-2 { padding-inline-start: var(--space-2); }
  .ps-sm-3 { padding-inline-start: var(--space-3); }
  .ps-sm-4 { padding-inline-start: var(--space-4); }
  .ps-sm-5 { padding-inline-start: var(--space-5); }
  .pe-sm-0 { padding-inline-end: var(--space-0); }
  .pe-sm-1 { padding-inline-end: var(--space-1); }
  .pe-sm-2 { padding-inline-end: var(--space-2); }
  .pe-sm-3 { padding-inline-end: var(--space-3); }
  .pe-sm-4 { padding-inline-end: var(--space-4); }
  .pe-sm-5 { padding-inline-end: var(--space-5); }
  .px-sm-0 { padding-inline: var(--space-0); }
  .px-sm-1 { padding-inline: var(--space-1); }
  .px-sm-2 { padding-inline: var(--space-2); }
  .px-sm-3 { padding-inline: var(--space-3); }
  .px-sm-4 { padding-inline: var(--space-4); }
  .px-sm-5 { padding-inline: var(--space-5); }
  .py-sm-0 { padding-block: var(--space-0); }
  .py-sm-1 { padding-block: var(--space-1); }
  .py-sm-2 { padding-block: var(--space-2); }
  .py-sm-3 { padding-block: var(--space-3); }
  .py-sm-4 { padding-block: var(--space-4); }
  .py-sm-5 { padding-block: var(--space-5); }
  .m-sm-0 { margin: var(--space-0); }
  .m-sm-1 { margin: var(--space-1); }
  .m-sm-2 { margin: var(--space-2); }
  .m-sm-3 { margin: var(--space-3); }
  .m-sm-4 { margin: var(--space-4); }
  .m-sm-5 { margin: var(--space-5); }
  .mt-sm-0 { margin-block-start: var(--space-0); }
  .mt-sm-1 { margin-block-start: var(--space-1); }
  .mt-sm-2 { margin-block-start: var(--space-2); }
  .mt-sm-3 { margin-block-start: var(--space-3); }
  .mt-sm-4 { margin-block-start: var(--space-4); }
  .mt-sm-5 { margin-block-start: var(--space-5); }
  .mb-sm-0 { margin-block-end: var(--space-0); }
  .mb-sm-1 { margin-block-end: var(--space-1); }
  .mb-sm-2 { margin-block-end: var(--space-2); }
  .mb-sm-3 { margin-block-end: var(--space-3); }
  .mb-sm-4 { margin-block-end: var(--space-4); }
  .mb-sm-5 { margin-block-end: var(--space-5); }
  .ms-sm-0 { margin-inline-start: var(--space-0); }
  .ms-sm-1 { margin-inline-start: var(--space-1); }
  .ms-sm-2 { margin-inline-start: var(--space-2); }
  .ms-sm-3 { margin-inline-start: var(--space-3); }
  .ms-sm-4 { margin-inline-start: var(--space-4); }
  .ms-sm-5 { margin-inline-start: var(--space-5); }
  .me-sm-0 { margin-inline-end: var(--space-0); }
  .me-sm-1 { margin-inline-end: var(--space-1); }
  .me-sm-2 { margin-inline-end: var(--space-2); }
  .me-sm-3 { margin-inline-end: var(--space-3); }
  .me-sm-4 { margin-inline-end: var(--space-4); }
  .me-sm-5 { margin-inline-end: var(--space-5); }
  .mx-sm-0 { margin-inline: var(--space-0); }
  .mx-sm-1 { margin-inline: var(--space-1); }
  .mx-sm-2 { margin-inline: var(--space-2); }
  .mx-sm-3 { margin-inline: var(--space-3); }
  .mx-sm-4 { margin-inline: var(--space-4); }
  .mx-sm-5 { margin-inline: var(--space-5); }
  .my-sm-0 { margin-block: var(--space-0); }
  .my-sm-1 { margin-block: var(--space-1); }
  .my-sm-2 { margin-block: var(--space-2); }
  .my-sm-3 { margin-block: var(--space-3); }
  .my-sm-4 { margin-block: var(--space-4); }
  .my-sm-5 { margin-block: var(--space-5); }
  /* Negativní margin */
  .m-sm-n1 { margin: calc(var(--space-1) * -1); }
  .m-sm-n2 { margin: calc(var(--space-2) * -1); }
  .m-sm-n3 { margin: calc(var(--space-3) * -1); }
  .m-sm-n4 { margin: calc(var(--space-4) * -1); }
  .m-sm-n5 { margin: calc(var(--space-5) * -1); }
  .mt-sm-n1 { margin-block-start: calc(var(--space-1) * -1); }
  .mt-sm-n2 { margin-block-start: calc(var(--space-2) * -1); }
  .mt-sm-n3 { margin-block-start: calc(var(--space-3) * -1); }
  .mt-sm-n4 { margin-block-start: calc(var(--space-4) * -1); }
  .mt-sm-n5 { margin-block-start: calc(var(--space-5) * -1); }
  .mb-sm-n1 { margin-block-end: calc(var(--space-1) * -1); }
  .mb-sm-n2 { margin-block-end: calc(var(--space-2) * -1); }
  .mb-sm-n3 { margin-block-end: calc(var(--space-3) * -1); }
  .mb-sm-n4 { margin-block-end: calc(var(--space-4) * -1); }
  .mb-sm-n5 { margin-block-end: calc(var(--space-5) * -1); }
  .ms-sm-n1 { margin-inline-start: calc(var(--space-1) * -1); }
  .ms-sm-n2 { margin-inline-start: calc(var(--space-2) * -1); }
  .ms-sm-n3 { margin-inline-start: calc(var(--space-3) * -1); }
  .ms-sm-n4 { margin-inline-start: calc(var(--space-4) * -1); }
  .ms-sm-n5 { margin-inline-start: calc(var(--space-5) * -1); }
  .me-sm-n1 { margin-inline-end: calc(var(--space-1) * -1); }
  .me-sm-n2 { margin-inline-end: calc(var(--space-2) * -1); }
  .me-sm-n3 { margin-inline-end: calc(var(--space-3) * -1); }
  .me-sm-n4 { margin-inline-end: calc(var(--space-4) * -1); }
  .me-sm-n5 { margin-inline-end: calc(var(--space-5) * -1); }
  .mx-sm-n1 { margin-inline: calc(var(--space-1) * -1); }
  .mx-sm-n2 { margin-inline: calc(var(--space-2) * -1); }
  .mx-sm-n3 { margin-inline: calc(var(--space-3) * -1); }
  .mx-sm-n4 { margin-inline: calc(var(--space-4) * -1); }
  .mx-sm-n5 { margin-inline: calc(var(--space-5) * -1); }
  .my-sm-n1 { margin-block: calc(var(--space-1) * -1); }
  .my-sm-n2 { margin-block: calc(var(--space-2) * -1); }
  .my-sm-n3 { margin-block: calc(var(--space-3) * -1); }
  .my-sm-n4 { margin-block: calc(var(--space-4) * -1); }
  .my-sm-n5 { margin-block: calc(var(--space-5) * -1); }
  .gap-sm-0 { gap: var(--space-0); }
  .gap-sm-1 { gap: var(--space-1); }
  .gap-sm-2 { gap: var(--space-2); }
  .gap-sm-3 { gap: var(--space-3); }
  .gap-sm-4 { gap: var(--space-4); }
  .gap-sm-5 { gap: var(--space-5); }
  .gap-x-sm-0 { column-gap: var(--space-0); }
  .gap-x-sm-1 { column-gap: var(--space-1); }
  .gap-x-sm-2 { column-gap: var(--space-2); }
  .gap-x-sm-3 { column-gap: var(--space-3); }
  .gap-x-sm-4 { column-gap: var(--space-4); }
  .gap-x-sm-5 { column-gap: var(--space-5); }
  .gap-y-sm-0 { row-gap: var(--space-0); }
  .gap-y-sm-1 { row-gap: var(--space-1); }
  .gap-y-sm-2 { row-gap: var(--space-2); }
  .gap-y-sm-3 { row-gap: var(--space-3); }
  .gap-y-sm-4 { row-gap: var(--space-4); }
  .gap-y-sm-5 { row-gap: var(--space-5); }
}
@media (min-width: 768px) {
  .p-md-0 { padding: var(--space-0); }
  .p-md-1 { padding: var(--space-1); }
  .p-md-2 { padding: var(--space-2); }
  .p-md-3 { padding: var(--space-3); }
  .p-md-4 { padding: var(--space-4); }
  .p-md-5 { padding: var(--space-5); }
  .pt-md-0 { padding-block-start: var(--space-0); }
  .pt-md-1 { padding-block-start: var(--space-1); }
  .pt-md-2 { padding-block-start: var(--space-2); }
  .pt-md-3 { padding-block-start: var(--space-3); }
  .pt-md-4 { padding-block-start: var(--space-4); }
  .pt-md-5 { padding-block-start: var(--space-5); }
  .pb-md-0 { padding-block-end: var(--space-0); }
  .pb-md-1 { padding-block-end: var(--space-1); }
  .pb-md-2 { padding-block-end: var(--space-2); }
  .pb-md-3 { padding-block-end: var(--space-3); }
  .pb-md-4 { padding-block-end: var(--space-4); }
  .pb-md-5 { padding-block-end: var(--space-5); }
  .ps-md-0 { padding-inline-start: var(--space-0); }
  .ps-md-1 { padding-inline-start: var(--space-1); }
  .ps-md-2 { padding-inline-start: var(--space-2); }
  .ps-md-3 { padding-inline-start: var(--space-3); }
  .ps-md-4 { padding-inline-start: var(--space-4); }
  .ps-md-5 { padding-inline-start: var(--space-5); }
  .pe-md-0 { padding-inline-end: var(--space-0); }
  .pe-md-1 { padding-inline-end: var(--space-1); }
  .pe-md-2 { padding-inline-end: var(--space-2); }
  .pe-md-3 { padding-inline-end: var(--space-3); }
  .pe-md-4 { padding-inline-end: var(--space-4); }
  .pe-md-5 { padding-inline-end: var(--space-5); }
  .px-md-0 { padding-inline: var(--space-0); }
  .px-md-1 { padding-inline: var(--space-1); }
  .px-md-2 { padding-inline: var(--space-2); }
  .px-md-3 { padding-inline: var(--space-3); }
  .px-md-4 { padding-inline: var(--space-4); }
  .px-md-5 { padding-inline: var(--space-5); }
  .py-md-0 { padding-block: var(--space-0); }
  .py-md-1 { padding-block: var(--space-1); }
  .py-md-2 { padding-block: var(--space-2); }
  .py-md-3 { padding-block: var(--space-3); }
  .py-md-4 { padding-block: var(--space-4); }
  .py-md-5 { padding-block: var(--space-5); }
  .m-md-0 { margin: var(--space-0); }
  .m-md-1 { margin: var(--space-1); }
  .m-md-2 { margin: var(--space-2); }
  .m-md-3 { margin: var(--space-3); }
  .m-md-4 { margin: var(--space-4); }
  .m-md-5 { margin: var(--space-5); }
  .mt-md-0 { margin-block-start: var(--space-0); }
  .mt-md-1 { margin-block-start: var(--space-1); }
  .mt-md-2 { margin-block-start: var(--space-2); }
  .mt-md-3 { margin-block-start: var(--space-3); }
  .mt-md-4 { margin-block-start: var(--space-4); }
  .mt-md-5 { margin-block-start: var(--space-5); }
  .mb-md-0 { margin-block-end: var(--space-0); }
  .mb-md-1 { margin-block-end: var(--space-1); }
  .mb-md-2 { margin-block-end: var(--space-2); }
  .mb-md-3 { margin-block-end: var(--space-3); }
  .mb-md-4 { margin-block-end: var(--space-4); }
  .mb-md-5 { margin-block-end: var(--space-5); }
  .ms-md-0 { margin-inline-start: var(--space-0); }
  .ms-md-1 { margin-inline-start: var(--space-1); }
  .ms-md-2 { margin-inline-start: var(--space-2); }
  .ms-md-3 { margin-inline-start: var(--space-3); }
  .ms-md-4 { margin-inline-start: var(--space-4); }
  .ms-md-5 { margin-inline-start: var(--space-5); }
  .me-md-0 { margin-inline-end: var(--space-0); }
  .me-md-1 { margin-inline-end: var(--space-1); }
  .me-md-2 { margin-inline-end: var(--space-2); }
  .me-md-3 { margin-inline-end: var(--space-3); }
  .me-md-4 { margin-inline-end: var(--space-4); }
  .me-md-5 { margin-inline-end: var(--space-5); }
  .mx-md-0 { margin-inline: var(--space-0); }
  .mx-md-1 { margin-inline: var(--space-1); }
  .mx-md-2 { margin-inline: var(--space-2); }
  .mx-md-3 { margin-inline: var(--space-3); }
  .mx-md-4 { margin-inline: var(--space-4); }
  .mx-md-5 { margin-inline: var(--space-5); }
  .my-md-0 { margin-block: var(--space-0); }
  .my-md-1 { margin-block: var(--space-1); }
  .my-md-2 { margin-block: var(--space-2); }
  .my-md-3 { margin-block: var(--space-3); }
  .my-md-4 { margin-block: var(--space-4); }
  .my-md-5 { margin-block: var(--space-5); }
  /* Negativní margin */
  .m-md-n1 { margin: calc(var(--space-1) * -1); }
  .m-md-n2 { margin: calc(var(--space-2) * -1); }
  .m-md-n3 { margin: calc(var(--space-3) * -1); }
  .m-md-n4 { margin: calc(var(--space-4) * -1); }
  .m-md-n5 { margin: calc(var(--space-5) * -1); }
  .mt-md-n1 { margin-block-start: calc(var(--space-1) * -1); }
  .mt-md-n2 { margin-block-start: calc(var(--space-2) * -1); }
  .mt-md-n3 { margin-block-start: calc(var(--space-3) * -1); }
  .mt-md-n4 { margin-block-start: calc(var(--space-4) * -1); }
  .mt-md-n5 { margin-block-start: calc(var(--space-5) * -1); }
  .mb-md-n1 { margin-block-end: calc(var(--space-1) * -1); }
  .mb-md-n2 { margin-block-end: calc(var(--space-2) * -1); }
  .mb-md-n3 { margin-block-end: calc(var(--space-3) * -1); }
  .mb-md-n4 { margin-block-end: calc(var(--space-4) * -1); }
  .mb-md-n5 { margin-block-end: calc(var(--space-5) * -1); }
  .ms-md-n1 { margin-inline-start: calc(var(--space-1) * -1); }
  .ms-md-n2 { margin-inline-start: calc(var(--space-2) * -1); }
  .ms-md-n3 { margin-inline-start: calc(var(--space-3) * -1); }
  .ms-md-n4 { margin-inline-start: calc(var(--space-4) * -1); }
  .ms-md-n5 { margin-inline-start: calc(var(--space-5) * -1); }
  .me-md-n1 { margin-inline-end: calc(var(--space-1) * -1); }
  .me-md-n2 { margin-inline-end: calc(var(--space-2) * -1); }
  .me-md-n3 { margin-inline-end: calc(var(--space-3) * -1); }
  .me-md-n4 { margin-inline-end: calc(var(--space-4) * -1); }
  .me-md-n5 { margin-inline-end: calc(var(--space-5) * -1); }
  .mx-md-n1 { margin-inline: calc(var(--space-1) * -1); }
  .mx-md-n2 { margin-inline: calc(var(--space-2) * -1); }
  .mx-md-n3 { margin-inline: calc(var(--space-3) * -1); }
  .mx-md-n4 { margin-inline: calc(var(--space-4) * -1); }
  .mx-md-n5 { margin-inline: calc(var(--space-5) * -1); }
  .my-md-n1 { margin-block: calc(var(--space-1) * -1); }
  .my-md-n2 { margin-block: calc(var(--space-2) * -1); }
  .my-md-n3 { margin-block: calc(var(--space-3) * -1); }
  .my-md-n4 { margin-block: calc(var(--space-4) * -1); }
  .my-md-n5 { margin-block: calc(var(--space-5) * -1); }
  .gap-md-0 { gap: var(--space-0); }
  .gap-md-1 { gap: var(--space-1); }
  .gap-md-2 { gap: var(--space-2); }
  .gap-md-3 { gap: var(--space-3); }
  .gap-md-4 { gap: var(--space-4); }
  .gap-md-5 { gap: var(--space-5); }
  .gap-x-md-0 { column-gap: var(--space-0); }
  .gap-x-md-1 { column-gap: var(--space-1); }
  .gap-x-md-2 { column-gap: var(--space-2); }
  .gap-x-md-3 { column-gap: var(--space-3); }
  .gap-x-md-4 { column-gap: var(--space-4); }
  .gap-x-md-5 { column-gap: var(--space-5); }
  .gap-y-md-0 { row-gap: var(--space-0); }
  .gap-y-md-1 { row-gap: var(--space-1); }
  .gap-y-md-2 { row-gap: var(--space-2); }
  .gap-y-md-3 { row-gap: var(--space-3); }
  .gap-y-md-4 { row-gap: var(--space-4); }
  .gap-y-md-5 { row-gap: var(--space-5); }
}
@media (min-width: 992px) {
  .p-lg-0 { padding: var(--space-0); }
  .p-lg-1 { padding: var(--space-1); }
  .p-lg-2 { padding: var(--space-2); }
  .p-lg-3 { padding: var(--space-3); }
  .p-lg-4 { padding: var(--space-4); }
  .p-lg-5 { padding: var(--space-5); }
  .pt-lg-0 { padding-block-start: var(--space-0); }
  .pt-lg-1 { padding-block-start: var(--space-1); }
  .pt-lg-2 { padding-block-start: var(--space-2); }
  .pt-lg-3 { padding-block-start: var(--space-3); }
  .pt-lg-4 { padding-block-start: var(--space-4); }
  .pt-lg-5 { padding-block-start: var(--space-5); }
  .pb-lg-0 { padding-block-end: var(--space-0); }
  .pb-lg-1 { padding-block-end: var(--space-1); }
  .pb-lg-2 { padding-block-end: var(--space-2); }
  .pb-lg-3 { padding-block-end: var(--space-3); }
  .pb-lg-4 { padding-block-end: var(--space-4); }
  .pb-lg-5 { padding-block-end: var(--space-5); }
  .ps-lg-0 { padding-inline-start: var(--space-0); }
  .ps-lg-1 { padding-inline-start: var(--space-1); }
  .ps-lg-2 { padding-inline-start: var(--space-2); }
  .ps-lg-3 { padding-inline-start: var(--space-3); }
  .ps-lg-4 { padding-inline-start: var(--space-4); }
  .ps-lg-5 { padding-inline-start: var(--space-5); }
  .pe-lg-0 { padding-inline-end: var(--space-0); }
  .pe-lg-1 { padding-inline-end: var(--space-1); }
  .pe-lg-2 { padding-inline-end: var(--space-2); }
  .pe-lg-3 { padding-inline-end: var(--space-3); }
  .pe-lg-4 { padding-inline-end: var(--space-4); }
  .pe-lg-5 { padding-inline-end: var(--space-5); }
  .px-lg-0 { padding-inline: var(--space-0); }
  .px-lg-1 { padding-inline: var(--space-1); }
  .px-lg-2 { padding-inline: var(--space-2); }
  .px-lg-3 { padding-inline: var(--space-3); }
  .px-lg-4 { padding-inline: var(--space-4); }
  .px-lg-5 { padding-inline: var(--space-5); }
  .py-lg-0 { padding-block: var(--space-0); }
  .py-lg-1 { padding-block: var(--space-1); }
  .py-lg-2 { padding-block: var(--space-2); }
  .py-lg-3 { padding-block: var(--space-3); }
  .py-lg-4 { padding-block: var(--space-4); }
  .py-lg-5 { padding-block: var(--space-5); }
  .m-lg-0 { margin: var(--space-0); }
  .m-lg-1 { margin: var(--space-1); }
  .m-lg-2 { margin: var(--space-2); }
  .m-lg-3 { margin: var(--space-3); }
  .m-lg-4 { margin: var(--space-4); }
  .m-lg-5 { margin: var(--space-5); }
  .mt-lg-0 { margin-block-start: var(--space-0); }
  .mt-lg-1 { margin-block-start: var(--space-1); }
  .mt-lg-2 { margin-block-start: var(--space-2); }
  .mt-lg-3 { margin-block-start: var(--space-3); }
  .mt-lg-4 { margin-block-start: var(--space-4); }
  .mt-lg-5 { margin-block-start: var(--space-5); }
  .mb-lg-0 { margin-block-end: var(--space-0); }
  .mb-lg-1 { margin-block-end: var(--space-1); }
  .mb-lg-2 { margin-block-end: var(--space-2); }
  .mb-lg-3 { margin-block-end: var(--space-3); }
  .mb-lg-4 { margin-block-end: var(--space-4); }
  .mb-lg-5 { margin-block-end: var(--space-5); }
  .ms-lg-0 { margin-inline-start: var(--space-0); }
  .ms-lg-1 { margin-inline-start: var(--space-1); }
  .ms-lg-2 { margin-inline-start: var(--space-2); }
  .ms-lg-3 { margin-inline-start: var(--space-3); }
  .ms-lg-4 { margin-inline-start: var(--space-4); }
  .ms-lg-5 { margin-inline-start: var(--space-5); }
  .me-lg-0 { margin-inline-end: var(--space-0); }
  .me-lg-1 { margin-inline-end: var(--space-1); }
  .me-lg-2 { margin-inline-end: var(--space-2); }
  .me-lg-3 { margin-inline-end: var(--space-3); }
  .me-lg-4 { margin-inline-end: var(--space-4); }
  .me-lg-5 { margin-inline-end: var(--space-5); }
  .mx-lg-0 { margin-inline: var(--space-0); }
  .mx-lg-1 { margin-inline: var(--space-1); }
  .mx-lg-2 { margin-inline: var(--space-2); }
  .mx-lg-3 { margin-inline: var(--space-3); }
  .mx-lg-4 { margin-inline: var(--space-4); }
  .mx-lg-5 { margin-inline: var(--space-5); }
  .my-lg-0 { margin-block: var(--space-0); }
  .my-lg-1 { margin-block: var(--space-1); }
  .my-lg-2 { margin-block: var(--space-2); }
  .my-lg-3 { margin-block: var(--space-3); }
  .my-lg-4 { margin-block: var(--space-4); }
  .my-lg-5 { margin-block: var(--space-5); }
  /* Negativní margin */
  .m-lg-n1 { margin: calc(var(--space-1) * -1); }
  .m-lg-n2 { margin: calc(var(--space-2) * -1); }
  .m-lg-n3 { margin: calc(var(--space-3) * -1); }
  .m-lg-n4 { margin: calc(var(--space-4) * -1); }
  .m-lg-n5 { margin: calc(var(--space-5) * -1); }
  .mt-lg-n1 { margin-block-start: calc(var(--space-1) * -1); }
  .mt-lg-n2 { margin-block-start: calc(var(--space-2) * -1); }
  .mt-lg-n3 { margin-block-start: calc(var(--space-3) * -1); }
  .mt-lg-n4 { margin-block-start: calc(var(--space-4) * -1); }
  .mt-lg-n5 { margin-block-start: calc(var(--space-5) * -1); }
  .mb-lg-n1 { margin-block-end: calc(var(--space-1) * -1); }
  .mb-lg-n2 { margin-block-end: calc(var(--space-2) * -1); }
  .mb-lg-n3 { margin-block-end: calc(var(--space-3) * -1); }
  .mb-lg-n4 { margin-block-end: calc(var(--space-4) * -1); }
  .mb-lg-n5 { margin-block-end: calc(var(--space-5) * -1); }
  .ms-lg-n1 { margin-inline-start: calc(var(--space-1) * -1); }
  .ms-lg-n2 { margin-inline-start: calc(var(--space-2) * -1); }
  .ms-lg-n3 { margin-inline-start: calc(var(--space-3) * -1); }
  .ms-lg-n4 { margin-inline-start: calc(var(--space-4) * -1); }
  .ms-lg-n5 { margin-inline-start: calc(var(--space-5) * -1); }
  .me-lg-n1 { margin-inline-end: calc(var(--space-1) * -1); }
  .me-lg-n2 { margin-inline-end: calc(var(--space-2) * -1); }
  .me-lg-n3 { margin-inline-end: calc(var(--space-3) * -1); }
  .me-lg-n4 { margin-inline-end: calc(var(--space-4) * -1); }
  .me-lg-n5 { margin-inline-end: calc(var(--space-5) * -1); }
  .mx-lg-n1 { margin-inline: calc(var(--space-1) * -1); }
  .mx-lg-n2 { margin-inline: calc(var(--space-2) * -1); }
  .mx-lg-n3 { margin-inline: calc(var(--space-3) * -1); }
  .mx-lg-n4 { margin-inline: calc(var(--space-4) * -1); }
  .mx-lg-n5 { margin-inline: calc(var(--space-5) * -1); }
  .my-lg-n1 { margin-block: calc(var(--space-1) * -1); }
  .my-lg-n2 { margin-block: calc(var(--space-2) * -1); }
  .my-lg-n3 { margin-block: calc(var(--space-3) * -1); }
  .my-lg-n4 { margin-block: calc(var(--space-4) * -1); }
  .my-lg-n5 { margin-block: calc(var(--space-5) * -1); }
  .gap-lg-0 { gap: var(--space-0); }
  .gap-lg-1 { gap: var(--space-1); }
  .gap-lg-2 { gap: var(--space-2); }
  .gap-lg-3 { gap: var(--space-3); }
  .gap-lg-4 { gap: var(--space-4); }
  .gap-lg-5 { gap: var(--space-5); }
  .gap-x-lg-0 { column-gap: var(--space-0); }
  .gap-x-lg-1 { column-gap: var(--space-1); }
  .gap-x-lg-2 { column-gap: var(--space-2); }
  .gap-x-lg-3 { column-gap: var(--space-3); }
  .gap-x-lg-4 { column-gap: var(--space-4); }
  .gap-x-lg-5 { column-gap: var(--space-5); }
  .gap-y-lg-0 { row-gap: var(--space-0); }
  .gap-y-lg-1 { row-gap: var(--space-1); }
  .gap-y-lg-2 { row-gap: var(--space-2); }
  .gap-y-lg-3 { row-gap: var(--space-3); }
  .gap-y-lg-4 { row-gap: var(--space-4); }
  .gap-y-lg-5 { row-gap: var(--space-5); }
}
@media (min-width: 1200px) {
  .p-xl-0 { padding: var(--space-0); }
  .p-xl-1 { padding: var(--space-1); }
  .p-xl-2 { padding: var(--space-2); }
  .p-xl-3 { padding: var(--space-3); }
  .p-xl-4 { padding: var(--space-4); }
  .p-xl-5 { padding: var(--space-5); }
  .pt-xl-0 { padding-block-start: var(--space-0); }
  .pt-xl-1 { padding-block-start: var(--space-1); }
  .pt-xl-2 { padding-block-start: var(--space-2); }
  .pt-xl-3 { padding-block-start: var(--space-3); }
  .pt-xl-4 { padding-block-start: var(--space-4); }
  .pt-xl-5 { padding-block-start: var(--space-5); }
  .pb-xl-0 { padding-block-end: var(--space-0); }
  .pb-xl-1 { padding-block-end: var(--space-1); }
  .pb-xl-2 { padding-block-end: var(--space-2); }
  .pb-xl-3 { padding-block-end: var(--space-3); }
  .pb-xl-4 { padding-block-end: var(--space-4); }
  .pb-xl-5 { padding-block-end: var(--space-5); }
  .ps-xl-0 { padding-inline-start: var(--space-0); }
  .ps-xl-1 { padding-inline-start: var(--space-1); }
  .ps-xl-2 { padding-inline-start: var(--space-2); }
  .ps-xl-3 { padding-inline-start: var(--space-3); }
  .ps-xl-4 { padding-inline-start: var(--space-4); }
  .ps-xl-5 { padding-inline-start: var(--space-5); }
  .pe-xl-0 { padding-inline-end: var(--space-0); }
  .pe-xl-1 { padding-inline-end: var(--space-1); }
  .pe-xl-2 { padding-inline-end: var(--space-2); }
  .pe-xl-3 { padding-inline-end: var(--space-3); }
  .pe-xl-4 { padding-inline-end: var(--space-4); }
  .pe-xl-5 { padding-inline-end: var(--space-5); }
  .px-xl-0 { padding-inline: var(--space-0); }
  .px-xl-1 { padding-inline: var(--space-1); }
  .px-xl-2 { padding-inline: var(--space-2); }
  .px-xl-3 { padding-inline: var(--space-3); }
  .px-xl-4 { padding-inline: var(--space-4); }
  .px-xl-5 { padding-inline: var(--space-5); }
  .py-xl-0 { padding-block: var(--space-0); }
  .py-xl-1 { padding-block: var(--space-1); }
  .py-xl-2 { padding-block: var(--space-2); }
  .py-xl-3 { padding-block: var(--space-3); }
  .py-xl-4 { padding-block: var(--space-4); }
  .py-xl-5 { padding-block: var(--space-5); }
  .m-xl-0 { margin: var(--space-0); }
  .m-xl-1 { margin: var(--space-1); }
  .m-xl-2 { margin: var(--space-2); }
  .m-xl-3 { margin: var(--space-3); }
  .m-xl-4 { margin: var(--space-4); }
  .m-xl-5 { margin: var(--space-5); }
  .mt-xl-0 { margin-block-start: var(--space-0); }
  .mt-xl-1 { margin-block-start: var(--space-1); }
  .mt-xl-2 { margin-block-start: var(--space-2); }
  .mt-xl-3 { margin-block-start: var(--space-3); }
  .mt-xl-4 { margin-block-start: var(--space-4); }
  .mt-xl-5 { margin-block-start: var(--space-5); }
  .mb-xl-0 { margin-block-end: var(--space-0); }
  .mb-xl-1 { margin-block-end: var(--space-1); }
  .mb-xl-2 { margin-block-end: var(--space-2); }
  .mb-xl-3 { margin-block-end: var(--space-3); }
  .mb-xl-4 { margin-block-end: var(--space-4); }
  .mb-xl-5 { margin-block-end: var(--space-5); }
  .ms-xl-0 { margin-inline-start: var(--space-0); }
  .ms-xl-1 { margin-inline-start: var(--space-1); }
  .ms-xl-2 { margin-inline-start: var(--space-2); }
  .ms-xl-3 { margin-inline-start: var(--space-3); }
  .ms-xl-4 { margin-inline-start: var(--space-4); }
  .ms-xl-5 { margin-inline-start: var(--space-5); }
  .me-xl-0 { margin-inline-end: var(--space-0); }
  .me-xl-1 { margin-inline-end: var(--space-1); }
  .me-xl-2 { margin-inline-end: var(--space-2); }
  .me-xl-3 { margin-inline-end: var(--space-3); }
  .me-xl-4 { margin-inline-end: var(--space-4); }
  .me-xl-5 { margin-inline-end: var(--space-5); }
  .mx-xl-0 { margin-inline: var(--space-0); }
  .mx-xl-1 { margin-inline: var(--space-1); }
  .mx-xl-2 { margin-inline: var(--space-2); }
  .mx-xl-3 { margin-inline: var(--space-3); }
  .mx-xl-4 { margin-inline: var(--space-4); }
  .mx-xl-5 { margin-inline: var(--space-5); }
  .my-xl-0 { margin-block: var(--space-0); }
  .my-xl-1 { margin-block: var(--space-1); }
  .my-xl-2 { margin-block: var(--space-2); }
  .my-xl-3 { margin-block: var(--space-3); }
  .my-xl-4 { margin-block: var(--space-4); }
  .my-xl-5 { margin-block: var(--space-5); }
  /* Negativní margin */
  .m-xl-n1 { margin: calc(var(--space-1) * -1); }
  .m-xl-n2 { margin: calc(var(--space-2) * -1); }
  .m-xl-n3 { margin: calc(var(--space-3) * -1); }
  .m-xl-n4 { margin: calc(var(--space-4) * -1); }
  .m-xl-n5 { margin: calc(var(--space-5) * -1); }
  .mt-xl-n1 { margin-block-start: calc(var(--space-1) * -1); }
  .mt-xl-n2 { margin-block-start: calc(var(--space-2) * -1); }
  .mt-xl-n3 { margin-block-start: calc(var(--space-3) * -1); }
  .mt-xl-n4 { margin-block-start: calc(var(--space-4) * -1); }
  .mt-xl-n5 { margin-block-start: calc(var(--space-5) * -1); }
  .mb-xl-n1 { margin-block-end: calc(var(--space-1) * -1); }
  .mb-xl-n2 { margin-block-end: calc(var(--space-2) * -1); }
  .mb-xl-n3 { margin-block-end: calc(var(--space-3) * -1); }
  .mb-xl-n4 { margin-block-end: calc(var(--space-4) * -1); }
  .mb-xl-n5 { margin-block-end: calc(var(--space-5) * -1); }
  .ms-xl-n1 { margin-inline-start: calc(var(--space-1) * -1); }
  .ms-xl-n2 { margin-inline-start: calc(var(--space-2) * -1); }
  .ms-xl-n3 { margin-inline-start: calc(var(--space-3) * -1); }
  .ms-xl-n4 { margin-inline-start: calc(var(--space-4) * -1); }
  .ms-xl-n5 { margin-inline-start: calc(var(--space-5) * -1); }
  .me-xl-n1 { margin-inline-end: calc(var(--space-1) * -1); }
  .me-xl-n2 { margin-inline-end: calc(var(--space-2) * -1); }
  .me-xl-n3 { margin-inline-end: calc(var(--space-3) * -1); }
  .me-xl-n4 { margin-inline-end: calc(var(--space-4) * -1); }
  .me-xl-n5 { margin-inline-end: calc(var(--space-5) * -1); }
  .mx-xl-n1 { margin-inline: calc(var(--space-1) * -1); }
  .mx-xl-n2 { margin-inline: calc(var(--space-2) * -1); }
  .mx-xl-n3 { margin-inline: calc(var(--space-3) * -1); }
  .mx-xl-n4 { margin-inline: calc(var(--space-4) * -1); }
  .mx-xl-n5 { margin-inline: calc(var(--space-5) * -1); }
  .my-xl-n1 { margin-block: calc(var(--space-1) * -1); }
  .my-xl-n2 { margin-block: calc(var(--space-2) * -1); }
  .my-xl-n3 { margin-block: calc(var(--space-3) * -1); }
  .my-xl-n4 { margin-block: calc(var(--space-4) * -1); }
  .my-xl-n5 { margin-block: calc(var(--space-5) * -1); }
  .gap-xl-0 { gap: var(--space-0); }
  .gap-xl-1 { gap: var(--space-1); }
  .gap-xl-2 { gap: var(--space-2); }
  .gap-xl-3 { gap: var(--space-3); }
  .gap-xl-4 { gap: var(--space-4); }
  .gap-xl-5 { gap: var(--space-5); }
  .gap-x-xl-0 { column-gap: var(--space-0); }
  .gap-x-xl-1 { column-gap: var(--space-1); }
  .gap-x-xl-2 { column-gap: var(--space-2); }
  .gap-x-xl-3 { column-gap: var(--space-3); }
  .gap-x-xl-4 { column-gap: var(--space-4); }
  .gap-x-xl-5 { column-gap: var(--space-5); }
  .gap-y-xl-0 { row-gap: var(--space-0); }
  .gap-y-xl-1 { row-gap: var(--space-1); }
  .gap-y-xl-2 { row-gap: var(--space-2); }
  .gap-y-xl-3 { row-gap: var(--space-3); }
  .gap-y-xl-4 { row-gap: var(--space-4); }
  .gap-y-xl-5 { row-gap: var(--space-5); }
}
@media (min-width: 1460px) {
  .p-xxl-0 { padding: var(--space-0); }
  .p-xxl-1 { padding: var(--space-1); }
  .p-xxl-2 { padding: var(--space-2); }
  .p-xxl-3 { padding: var(--space-3); }
  .p-xxl-4 { padding: var(--space-4); }
  .p-xxl-5 { padding: var(--space-5); }
  .pt-xxl-0 { padding-block-start: var(--space-0); }
  .pt-xxl-1 { padding-block-start: var(--space-1); }
  .pt-xxl-2 { padding-block-start: var(--space-2); }
  .pt-xxl-3 { padding-block-start: var(--space-3); }
  .pt-xxl-4 { padding-block-start: var(--space-4); }
  .pt-xxl-5 { padding-block-start: var(--space-5); }
  .pb-xxl-0 { padding-block-end: var(--space-0); }
  .pb-xxl-1 { padding-block-end: var(--space-1); }
  .pb-xxl-2 { padding-block-end: var(--space-2); }
  .pb-xxl-3 { padding-block-end: var(--space-3); }
  .pb-xxl-4 { padding-block-end: var(--space-4); }
  .pb-xxl-5 { padding-block-end: var(--space-5); }
  .ps-xxl-0 { padding-inline-start: var(--space-0); }
  .ps-xxl-1 { padding-inline-start: var(--space-1); }
  .ps-xxl-2 { padding-inline-start: var(--space-2); }
  .ps-xxl-3 { padding-inline-start: var(--space-3); }
  .ps-xxl-4 { padding-inline-start: var(--space-4); }
  .ps-xxl-5 { padding-inline-start: var(--space-5); }
  .pe-xxl-0 { padding-inline-end: var(--space-0); }
  .pe-xxl-1 { padding-inline-end: var(--space-1); }
  .pe-xxl-2 { padding-inline-end: var(--space-2); }
  .pe-xxl-3 { padding-inline-end: var(--space-3); }
  .pe-xxl-4 { padding-inline-end: var(--space-4); }
  .pe-xxl-5 { padding-inline-end: var(--space-5); }
  .px-xxl-0 { padding-inline: var(--space-0); }
  .px-xxl-1 { padding-inline: var(--space-1); }
  .px-xxl-2 { padding-inline: var(--space-2); }
  .px-xxl-3 { padding-inline: var(--space-3); }
  .px-xxl-4 { padding-inline: var(--space-4); }
  .px-xxl-5 { padding-inline: var(--space-5); }
  .py-xxl-0 { padding-block: var(--space-0); }
  .py-xxl-1 { padding-block: var(--space-1); }
  .py-xxl-2 { padding-block: var(--space-2); }
  .py-xxl-3 { padding-block: var(--space-3); }
  .py-xxl-4 { padding-block: var(--space-4); }
  .py-xxl-5 { padding-block: var(--space-5); }
  .m-xxl-0 { margin: var(--space-0); }
  .m-xxl-1 { margin: var(--space-1); }
  .m-xxl-2 { margin: var(--space-2); }
  .m-xxl-3 { margin: var(--space-3); }
  .m-xxl-4 { margin: var(--space-4); }
  .m-xxl-5 { margin: var(--space-5); }
  .mt-xxl-0 { margin-block-start: var(--space-0); }
  .mt-xxl-1 { margin-block-start: var(--space-1); }
  .mt-xxl-2 { margin-block-start: var(--space-2); }
  .mt-xxl-3 { margin-block-start: var(--space-3); }
  .mt-xxl-4 { margin-block-start: var(--space-4); }
  .mt-xxl-5 { margin-block-start: var(--space-5); }
  .mb-xxl-0 { margin-block-end: var(--space-0); }
  .mb-xxl-1 { margin-block-end: var(--space-1); }
  .mb-xxl-2 { margin-block-end: var(--space-2); }
  .mb-xxl-3 { margin-block-end: var(--space-3); }
  .mb-xxl-4 { margin-block-end: var(--space-4); }
  .mb-xxl-5 { margin-block-end: var(--space-5); }
  .ms-xxl-0 { margin-inline-start: var(--space-0); }
  .ms-xxl-1 { margin-inline-start: var(--space-1); }
  .ms-xxl-2 { margin-inline-start: var(--space-2); }
  .ms-xxl-3 { margin-inline-start: var(--space-3); }
  .ms-xxl-4 { margin-inline-start: var(--space-4); }
  .ms-xxl-5 { margin-inline-start: var(--space-5); }
  .me-xxl-0 { margin-inline-end: var(--space-0); }
  .me-xxl-1 { margin-inline-end: var(--space-1); }
  .me-xxl-2 { margin-inline-end: var(--space-2); }
  .me-xxl-3 { margin-inline-end: var(--space-3); }
  .me-xxl-4 { margin-inline-end: var(--space-4); }
  .me-xxl-5 { margin-inline-end: var(--space-5); }
  .mx-xxl-0 { margin-inline: var(--space-0); }
  .mx-xxl-1 { margin-inline: var(--space-1); }
  .mx-xxl-2 { margin-inline: var(--space-2); }
  .mx-xxl-3 { margin-inline: var(--space-3); }
  .mx-xxl-4 { margin-inline: var(--space-4); }
  .mx-xxl-5 { margin-inline: var(--space-5); }
  .my-xxl-0 { margin-block: var(--space-0); }
  .my-xxl-1 { margin-block: var(--space-1); }
  .my-xxl-2 { margin-block: var(--space-2); }
  .my-xxl-3 { margin-block: var(--space-3); }
  .my-xxl-4 { margin-block: var(--space-4); }
  .my-xxl-5 { margin-block: var(--space-5); }
  /* Negativní margin */
  .m-xxl-n1 { margin: calc(var(--space-1) * -1); }
  .m-xxl-n2 { margin: calc(var(--space-2) * -1); }
  .m-xxl-n3 { margin: calc(var(--space-3) * -1); }
  .m-xxl-n4 { margin: calc(var(--space-4) * -1); }
  .m-xxl-n5 { margin: calc(var(--space-5) * -1); }
  .mt-xxl-n1 { margin-block-start: calc(var(--space-1) * -1); }
  .mt-xxl-n2 { margin-block-start: calc(var(--space-2) * -1); }
  .mt-xxl-n3 { margin-block-start: calc(var(--space-3) * -1); }
  .mt-xxl-n4 { margin-block-start: calc(var(--space-4) * -1); }
  .mt-xxl-n5 { margin-block-start: calc(var(--space-5) * -1); }
  .mb-xxl-n1 { margin-block-end: calc(var(--space-1) * -1); }
  .mb-xxl-n2 { margin-block-end: calc(var(--space-2) * -1); }
  .mb-xxl-n3 { margin-block-end: calc(var(--space-3) * -1); }
  .mb-xxl-n4 { margin-block-end: calc(var(--space-4) * -1); }
  .mb-xxl-n5 { margin-block-end: calc(var(--space-5) * -1); }
  .ms-xxl-n1 { margin-inline-start: calc(var(--space-1) * -1); }
  .ms-xxl-n2 { margin-inline-start: calc(var(--space-2) * -1); }
  .ms-xxl-n3 { margin-inline-start: calc(var(--space-3) * -1); }
  .ms-xxl-n4 { margin-inline-start: calc(var(--space-4) * -1); }
  .ms-xxl-n5 { margin-inline-start: calc(var(--space-5) * -1); }
  .me-xxl-n1 { margin-inline-end: calc(var(--space-1) * -1); }
  .me-xxl-n2 { margin-inline-end: calc(var(--space-2) * -1); }
  .me-xxl-n3 { margin-inline-end: calc(var(--space-3) * -1); }
  .me-xxl-n4 { margin-inline-end: calc(var(--space-4) * -1); }
  .me-xxl-n5 { margin-inline-end: calc(var(--space-5) * -1); }
  .mx-xxl-n1 { margin-inline: calc(var(--space-1) * -1); }
  .mx-xxl-n2 { margin-inline: calc(var(--space-2) * -1); }
  .mx-xxl-n3 { margin-inline: calc(var(--space-3) * -1); }
  .mx-xxl-n4 { margin-inline: calc(var(--space-4) * -1); }
  .mx-xxl-n5 { margin-inline: calc(var(--space-5) * -1); }
  .my-xxl-n1 { margin-block: calc(var(--space-1) * -1); }
  .my-xxl-n2 { margin-block: calc(var(--space-2) * -1); }
  .my-xxl-n3 { margin-block: calc(var(--space-3) * -1); }
  .my-xxl-n4 { margin-block: calc(var(--space-4) * -1); }
  .my-xxl-n5 { margin-block: calc(var(--space-5) * -1); }
  .gap-xxl-0 { gap: var(--space-0); }
  .gap-xxl-1 { gap: var(--space-1); }
  .gap-xxl-2 { gap: var(--space-2); }
  .gap-xxl-3 { gap: var(--space-3); }
  .gap-xxl-4 { gap: var(--space-4); }
  .gap-xxl-5 { gap: var(--space-5); }
  .gap-x-xxl-0 { column-gap: var(--space-0); }
  .gap-x-xxl-1 { column-gap: var(--space-1); }
  .gap-x-xxl-2 { column-gap: var(--space-2); }
  .gap-x-xxl-3 { column-gap: var(--space-3); }
  .gap-x-xxl-4 { column-gap: var(--space-4); }
  .gap-x-xxl-5 { column-gap: var(--space-5); }
  .gap-y-xxl-0 { row-gap: var(--space-0); }
  .gap-y-xxl-1 { row-gap: var(--space-1); }
  .gap-y-xxl-2 { row-gap: var(--space-2); }
  .gap-y-xxl-3 { row-gap: var(--space-3); }
  .gap-y-xxl-4 { row-gap: var(--space-4); }
  .gap-y-xxl-5 { row-gap: var(--space-5); }
}

/* --- Utility: display + misc ----------------------------------- */
.d-grid { display: grid; }
.d-block { display: block; }
.min-w-0 { min-width: 0; }
.overflow-hidden { overflow: hidden; }

/* --- Utility: background --------------------------------------- */
.bg-gold { background: var(--gold); }
.bg-gray-200 { background: var(--gray-200); }
.bg-gray-300 { background: var(--gray-300); }
.bg-gray-800 { background: var(--gray-800); }

/* --- Utility: text + border -------------------------------------
   Bez !important - stačí, že se tento soubor linkuje až za style.css.
   ------------------------------------------------------------- */
.text-white { color: var(--white); }
.text-gold { color: var(--gold); }
.text-center { text-align: center; }
.border-0 { border-width: 0; }
