/* Dubai Realty -- Luxury Utility Compat Layer (P5 BS->Luxury cleanup)
   Дополнение к luxury-tokens.css. Покрывает utility-классы, на которые
   мигрируют BS-классы при автоматической замене.
   Использует logical CSS (margin-block, padding-inline) для RTL/LTR. */

/* ===== Display utilities (logical) ===== */
.lx-flex { display: flex; }
.lx-grid { display: grid; }
.lx-block { display: block; }
.lx-inline { display: inline-block; }
.lx-hidden { display: none; }

@media (min-width: 768px) {
  .lx-flex-md { display: flex; }
  .lx-block-md { display: block; }
  .lx-hidden-md { display: none; }
}
@media (min-width: 992px) {
  .lx-flex-lg { display: flex; }
  .lx-hidden-lg { display: none; }
}

/* ===== Flex alignment ===== */
.lx-justify-between { justify-content: space-between; }
.lx-justify-center { justify-content: center; }
.lx-justify-end { justify-content: flex-end; }
.lx-justify-start { justify-content: flex-start; }
.lx-items-center { align-items: center; }
.lx-items-start { align-items: flex-start; }
.lx-items-end { align-items: flex-end; }

/* ===== Spacing (logical, RTL-friendly) ===== */
.lx-mb-1 { margin-block-end: var(--sp-1); }
.lx-mb-2 { margin-block-end: var(--sp-2); }
.lx-mb-3 { margin-block-end: var(--sp-3); }
.lx-mb-4 { margin-block-end: var(--sp-5); }
.lx-mb-5 { margin-block-end: var(--sp-7); }
.lx-mt-1 { margin-block-start: var(--sp-1); }
.lx-mt-2 { margin-block-start: var(--sp-2); }
.lx-mt-3 { margin-block-start: var(--sp-3); }
.lx-mt-4 { margin-block-start: var(--sp-5); }
.lx-mt-5 { margin-block-start: var(--sp-7); }
.lx-my-3 { margin-block: var(--sp-3); }
.lx-my-4 { margin-block: var(--sp-5); }
.lx-my-5 { margin-block: var(--sp-7); }
.lx-mx-auto { margin-inline: auto; }

.lx-p-3 { padding: var(--sp-3); }
.lx-p-4 { padding: var(--sp-5); }
.lx-p-5 { padding: var(--sp-7); }
.lx-py-3 { padding-block: var(--sp-3); }
.lx-py-4 { padding-block: var(--sp-5); }
.lx-py-5 { padding-block: var(--sp-7); }
.lx-px-3 { padding-inline: var(--sp-3); }
.lx-px-4 { padding-inline: var(--sp-5); }
.lx-px-5 { padding-inline: var(--sp-7); }

.lx-gap-1 { gap: var(--sp-1); }
.lx-gap-2 { gap: var(--sp-2); }
.lx-gap-3 { gap: var(--sp-3); }
.lx-gap-4 { gap: var(--sp-5); }

/* ===== Backgrounds & text ===== */
.lx-bg-emerald { background: var(--color-emerald-deep); color: var(--color-parchment); }
.lx-bg-mist { background: var(--color-mist); }
.lx-bg-paper { background: var(--color-paper); }
.lx-text-emerald { color: var(--color-emerald-deep); }
.lx-text-soft { color: var(--color-ink-soft); }

/* ===== Text alignment ===== */
.lx-text-center { text-align: center; }
.lx-text-end { text-align: end; }
.lx-text-start { text-align: start; }

/* ===== Lead text ===== */
.lx-lead {
  font-size: var(--type-body-l);
  line-height: var(--leading-relaxed);
  color: var(--color-ink-soft);
  font-family: var(--font-sans);
  font-weight: 400;
}

/* ===== Grid (replace BS row/col) ===== */
.lx-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--sp-5);
}
.lx-col { grid-column: span 12; min-width: 0; }
.lx-col--full { grid-column: span 12; }
@media (min-width: 768px) {
  .lx-col--2 { grid-column: span 6; }      /* half */
  .lx-col--3 { grid-column: span 4; }      /* third */
  .lx-col--4 { grid-column: span 3; }      /* quarter */
  .lx-col--6 { grid-column: span 2; }      /* sixth */
  .lx-col--span-2of3 { grid-column: span 8; }
  .lx-col--span-3of4 { grid-column: span 9; }
}

/* ===== Cards ===== */
.luxury-card {
  background: var(--color-paper);
  border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: border-color var(--dur-fast) var(--ease-quiet);
}
.luxury-card:hover { border-color: var(--color-rule); }
.luxury-card__header {
  padding: var(--sp-5);
  border-block-end: 1px solid var(--color-hairline);
  background: var(--color-mist);
}
.luxury-card__body { padding: var(--sp-5); }
.luxury-card__footer {
  padding: var(--sp-5);
  border-block-start: 1px solid var(--color-hairline);
  background: var(--color-mist);
}
.luxury-card__title {
  font-family: var(--font-display);
  font-size: var(--type-h3);
  font-weight: 400;
  color: var(--color-ink);
  margin: 0 0 var(--sp-3);
}
.luxury-card__text {
  color: var(--color-ink-soft);
  margin: 0 0 var(--sp-3);
  font-size: var(--type-body);
  line-height: var(--leading-base);
}

/* ===== Alerts ===== */
.lx-alert {
  padding: var(--sp-4) var(--sp-5);
  border-inline-start: 3px solid var(--color-hairline);
  background: var(--color-mist);
  color: var(--color-ink);
  font-size: var(--type-body);
  margin-block-end: var(--sp-5);
}
.lx-alert--info { border-inline-start-color: var(--color-info); background: rgba(44, 79, 107, 0.06); }
.lx-alert--warn { border-inline-start-color: var(--color-warning); background: rgba(140, 107, 31, 0.06); }
.lx-alert--danger { border-inline-start-color: var(--color-danger); background: rgba(122, 45, 31, 0.06); }
.lx-alert--success { border-inline-start-color: var(--color-success); background: rgba(47, 107, 79, 0.06); }

/* ===== Badges ===== */
.lx-badge {
  display: inline-block;
  padding: 4px 10px;
  font-family: var(--font-sans);
  font-size: var(--type-eyebrow);
  font-weight: 500;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--color-ink);
  background: var(--color-mist);
  border: 1px solid var(--color-hairline);
  border-radius: var(--radius-sm);
}
.lx-badge--emerald { background: var(--color-emerald-deep); color: var(--color-parchment); border-color: var(--color-emerald-deep); }
.lx-badge--mist { background: var(--color-mist); color: var(--color-ink); }
.lx-badge--success { background: rgba(47, 107, 79, 0.12); color: var(--color-success); border-color: rgba(47, 107, 79, 0.3); }
.lx-badge--danger { background: rgba(122, 45, 31, 0.12); color: var(--color-danger); border-color: rgba(122, 45, 31, 0.3); }
.lx-badge--warn { background: rgba(140, 107, 31, 0.12); color: var(--color-warning); border-color: rgba(140, 107, 31, 0.3); }
.lx-badge--info { background: rgba(44, 79, 107, 0.12); color: var(--color-info); border-color: rgba(44, 79, 107, 0.3); }

/* ===== Tables ===== */
.lx-table-wrap { overflow-x: auto; margin-block-end: var(--sp-5); }
.lx-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-sans);
  font-size: var(--type-body);
  color: var(--color-ink);
}
.lx-table thead { background: var(--color-mist); }
.lx-table th {
  text-align: start;
  padding: var(--sp-3) var(--sp-4);
  font-weight: 500;
  font-size: var(--type-eyebrow);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--color-ink-soft);
  border-block-end: 1px solid var(--color-hairline);
}
.lx-table td {
  padding: var(--sp-3) var(--sp-4);
  border-block-end: 1px solid var(--color-hairline);
  vertical-align: middle;
}
.lx-table--striped tbody tr:nth-child(even) td { background: var(--color-mist); }
.lx-table--hover tbody tr:hover td { background: var(--color-emerald-soft); }
.lx-table--bordered { border: 1px solid var(--color-hairline); }
.lx-table--bordered th, .lx-table--bordered td { border: 1px solid var(--color-hairline); }

/* ===== Borders & rounding ===== */
.lx-bordered { border: 1px solid var(--color-hairline); }
.lx-bordered--emerald { border-color: var(--color-emerald-deep); }
.lx-rounded { border-radius: var(--radius-md); }
.lx-shadow-quiet { box-shadow: 0 1px 3px rgba(15, 20, 25, 0.04), 0 4px 12px rgba(15, 20, 25, 0.04); }

/* ===== Pagination ===== */
.lx-pagination {
  display: flex;
  list-style: none;
  padding: 0;
  margin: var(--sp-5) 0 0;
  gap: var(--sp-2);
  justify-content: center;
}
.lx-page-item {}
.lx-page-link {
  display: inline-block;
  padding: var(--sp-2) var(--sp-4);
  border: 1px solid var(--color-hairline);
  color: var(--color-ink);
  background: var(--color-paper);
  text-decoration: none;
  font-family: var(--font-sans);
  font-size: var(--type-body-s);
  letter-spacing: var(--tracking-wide);
  transition: border-color var(--dur-fast) var(--ease-quiet), background var(--dur-fast) var(--ease-quiet);
}
.lx-page-link:hover { border-color: var(--color-emerald-deep); background: var(--color-emerald-soft); }
.lx-page-item.active .lx-page-link {
  background: var(--color-emerald-deep);
  color: var(--color-parchment);
  border-color: var(--color-emerald-deep);
}
.lx-page-item.disabled .lx-page-link {
  color: var(--color-ink-mute);
  pointer-events: none;
}

/* ===== Breadcrumb ===== */
.lx-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  list-style: none;
  padding: 0;
  margin: 0 0 var(--sp-5);
  font-family: var(--font-sans);
  font-size: var(--type-body-s);
  color: var(--color-ink-soft);
}
.lx-breadcrumb__item { display: inline-flex; align-items: center; }
.lx-breadcrumb__item + .lx-breadcrumb__item::before {
  content: "/";
  margin-inline: var(--sp-2);
  color: var(--color-ink-mute);
}
.lx-breadcrumb__item a { color: var(--color-emerald-deep); text-decoration: none; }
.lx-breadcrumb__item a:hover { text-decoration: underline; }

/* ===== Modal compat (just rebrand) ===== */
.lx-modal__dialog { max-width: 600px; margin: 1.75rem auto; }
.lx-modal__content {
  background: var(--color-paper);
  border: 1px solid var(--color-hairline);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.lx-modal__header {
  padding: var(--sp-5);
  border-block-end: 1px solid var(--color-hairline);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.lx-modal__title {
  font-family: var(--font-display);
  font-size: var(--type-h3);
  font-weight: 400;
  margin: 0;
}
.lx-modal__body { padding: var(--sp-5); }
.lx-modal__footer {
  padding: var(--sp-5);
  border-block-start: 1px solid var(--color-hairline);
  display: flex;
  gap: var(--sp-3);
  justify-content: flex-end;
}

/* ===== Form input compat (form-control -> input-quiet but bordered fallback) ===== */
.input-quiet {
  display: block;
  width: 100%;
  padding: 8px 0 12px;
  border: none;
  border-bottom: 1px solid var(--color-hairline);
  background: transparent;
  font-family: var(--font-sans);
  font-size: var(--type-body-l);
  color: var(--color-ink);
  border-radius: 0;
  outline: none;
}
.input-quiet:focus { border-bottom-color: var(--color-emerald-deep); }

/* ===== Dur/ease fallbacks if not present ===== */
:root {
  --dur-fast: 0.15s;
  --dur-base: 0.3s;
  --ease-quiet: cubic-bezier(0.4, 0, 0.2, 1);
  --container-narrow: 760px;
  --container-base: 1200px;
}

/* ===== Phase 2 BS5 utility compat ===== */
/* Logical margins */
.lx-me-1 { margin-inline-end: var(--sp-1); }
.lx-me-2 { margin-inline-end: var(--sp-2); }
.lx-me-3 { margin-inline-end: var(--sp-3); }
.lx-me-4 { margin-inline-end: var(--sp-5); }
.lx-me-auto { margin-inline-end: auto; }
.lx-ms-1 { margin-inline-start: var(--sp-1); }
.lx-ms-2 { margin-inline-start: var(--sp-2); }
.lx-ms-3 { margin-inline-start: var(--sp-3); }
.lx-ms-4 { margin-inline-start: var(--sp-5); }
.lx-ms-auto { margin-inline-start: auto; }
.lx-m-0 { margin: 0; }
.lx-p-0 { padding: 0; }

/* Width / height */
.lx-w-full { inline-size: 100%; }
.lx-h-full { block-size: 100%; }
.lx-w-half { inline-size: 50%; }

/* Font weight & size */
.lx-fw-bold { font-weight: 600; }
.lx-fw-semi { font-weight: 500; }
.lx-fw-norm { font-weight: 400; }
.lx-fs-1 { font-size: var(--type-h1); }
.lx-fs-2 { font-size: var(--type-h2); }
.lx-fs-3 { font-size: var(--type-h3); }
.lx-fs-4 { font-size: var(--type-h4); }
.lx-fs-5 { font-size: var(--type-body-l); }
.lx-fs-6 { font-size: var(--type-body); }

/* Position / overflow */
.lx-pos-relative { position: relative; }
.lx-pos-absolute { position: absolute; }
.lx-overflow-hidden { overflow: hidden; }

/* Flex helpers */
.lx-flex-col { flex-direction: column; }
.lx-flex-wrap { flex-wrap: wrap; }
.lx-flex-grow { flex-grow: 1; }

/* Text */
.lx-uppercase { text-transform: uppercase; }
.lx-lowercase { text-transform: lowercase; }
.lx-no-underline { text-decoration: none; }
.lx-nowrap { white-space: nowrap; }

/* Opacity */
.lx-opacity-25 { opacity: 0.25; }
.lx-opacity-50 { opacity: 0.5; }
.lx-opacity-75 { opacity: 0.75; }

/* Borders sides */
.lx-border-block-end { border-block-end: 1px solid var(--color-hairline); }
.lx-border-block-start { border-block-start: 1px solid var(--color-hairline); }
.lx-border-inline-end { border-inline-end: 1px solid var(--color-hairline); }
.lx-border-inline-start { border-inline-start: 1px solid var(--color-hairline); }

/* Gap-5 */
.lx-gap-5 { gap: var(--sp-7); }

/* Close button (BS5 compat) */
.lx-btn-close {
  background: transparent;
  border: 0;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: var(--color-ink-soft);
  padding: var(--sp-2);
}
.lx-btn-close::before { content: '×'; }
.lx-btn-close:hover { color: var(--color-ink); }

/* Input group */
.lx-input-group {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--color-hairline);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.lx-input-group .input-quiet { border: 0; padding: var(--sp-3) var(--sp-4); }

/* List group */
.lx-list-group {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid var(--color-hairline);
  border-radius: var(--radius-md);
  background: var(--color-paper);
}
.lx-list-group__item {
  padding: var(--sp-3) var(--sp-4);
  border-block-end: 1px solid var(--color-hairline);
}
.lx-list-group__item:last-child { border-block-end: 0; }

/* Progress */
.lx-progress {
  block-size: 8px;
  background: var(--color-mist);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.lx-progress__bar {
  block-size: 100%;
  background: var(--color-emerald-deep);
  transition: inline-size var(--dur-base) var(--ease-quiet);
}

/* Nav-tabs */
.lx-nav-tabs {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0 0 var(--sp-5);
  gap: var(--sp-4);
  border-block-end: 1px solid var(--color-hairline);
}
.lx-nav-item { display: inline-block; }
.lx-nav-link {
  display: inline-block;
  padding: var(--sp-3) 0;
  color: var(--color-ink-soft);
  text-decoration: none;
  border-block-end: 2px solid transparent;
  font-family: var(--font-sans);
  font-size: var(--type-body-s);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  transition: color var(--dur-fast) var(--ease-quiet), border-color var(--dur-fast) var(--ease-quiet);
}
.lx-nav-link:hover, .lx-nav-link.active {
  color: var(--color-emerald-deep);
  border-block-end-color: var(--color-emerald-deep);
}

/* Dropdown */
.lx-dropdown__menu {
  position: absolute;
  background: var(--color-paper);
  border: 1px solid var(--color-hairline);
  border-radius: var(--radius-md);
  box-shadow: 0 4px 12px rgba(15, 20, 25, 0.08);
  padding: var(--sp-2) 0;
  margin: 0;
  list-style: none;
  min-inline-size: 200px;
  z-index: 100;
}
.lx-dropdown__item {
  display: block;
  padding: var(--sp-2) var(--sp-4);
  color: var(--color-ink);
  text-decoration: none;
  font-size: var(--type-body);
  transition: background var(--dur-fast) var(--ease-quiet);
}
.lx-dropdown__item:hover { background: var(--color-emerald-soft); color: var(--color-emerald-deep); }
.lx-dropdown__toggle::after {
  content: '\25BE';
  margin-inline-start: var(--sp-2);
  font-size: 0.75em;
}

/* Form check */
.lx-form-check {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-block-end: var(--sp-3);
}
.lx-form-check__input {
  inline-size: 18px;
  block-size: 18px;
  border: 1px solid var(--color-hairline);
  background: var(--color-paper);
  border-radius: var(--radius-sm);
  cursor: pointer;
  accent-color: var(--color-emerald-deep);
}
.lx-form-check__label {
  font-family: var(--font-sans);
  font-size: var(--type-body);
  color: var(--color-ink);
  cursor: pointer;
}

/* ===== Phase 3 BS5 utility compat ===== */
/* Text colours */
.lx-text-danger { color: var(--color-danger); }
.lx-text-success { color: var(--color-success); }
.lx-text-warning { color: var(--color-warning); }
.lx-text-info { color: var(--color-info); }
.lx-text-paper { color: var(--color-parchment); }
.lx-text-ink { color: var(--color-ink); }
.lx-text-mist { color: var(--color-ink-soft); }

/* Background variants */
.lx-bg-success { background: rgba(47, 107, 79, 0.1); }
.lx-bg-danger { background: rgba(122, 45, 31, 0.1); }
.lx-bg-warning { background: rgba(140, 107, 31, 0.1); }
.lx-bg-info { background: rgba(44, 79, 107, 0.1); }
.lx-bg-ink { background: var(--color-ink); color: var(--color-parchment); }

/* Btn modifiers */
.lx-btn--warn { background: var(--color-warning); border-color: var(--color-warning); color: var(--color-parchment); }
.lx-btn--warn:hover, .lx-btn--warn:focus-visible { background: #6e5418; border-color: #6e5418; }
.lx-btn--danger { background: var(--color-danger); border-color: var(--color-danger); color: var(--color-parchment); }
.lx-btn--danger:hover, .lx-btn--danger:focus-visible { background: #5e2418; border-color: #5e2418; }

/* Stretched-link / sticky / clearfix / visually-hidden */
.lx-stretched-link::after { position: absolute; inset: 0; content: ''; }
.lx-sticky-top { position: sticky; inset-block-start: 0; z-index: 10; }
.lx-clearfix::after { content: ''; display: block; clear: both; }
.lx-sr-only {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Vertical align */
.lx-align-middle { vertical-align: middle; }

/* Image fluid */
.lx-img-fluid { max-inline-size: 100%; block-size: auto; }

/* Form floating compat */
.lx-form-floating {
  position: relative;
}
.lx-form-floating .input-quiet {
  padding-block-start: 1.625rem;
  padding-block-end: 0.625rem;
}
.lx-form-floating > label {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  block-size: 100%;
  padding: 1rem 0;
  pointer-events: none;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
  color: var(--color-ink-soft);
  font-size: var(--type-body);
}
.lx-form-floating .input-quiet:focus ~ label,
.lx-form-floating .input-quiet:not(:placeholder-shown) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
  font-size: var(--type-eyebrow);
}

/* ============================================================
   FINAL CLEANUP ADDITIONS — P5 #59 last sweep
   compat layer для regex-миграции BS → lx-*
   ============================================================ */

/* Buttons */
.lx-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-5);
  background: var(--color-emerald-deep);
  color: var(--color-parchment);
  border: 1px solid var(--color-emerald-deep);
  border-radius: var(--radius-md, 6px);
  font-weight: 500;
  text-decoration: none;
  transition: background 0.18s ease, transform 0.18s ease;
  cursor: pointer;
}
.lx-btn-primary:hover {
  background: var(--color-emerald-deeper, #1a4f3f);
  color: var(--color-parchment);
}
.lx-btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-5);
  background: #C53030;
  color: var(--color-parchment);
  border: 1px solid #C53030;
  border-radius: var(--radius-md, 6px);
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.18s ease;
}
.lx-btn-danger:hover {
  background: #A02525;
  color: var(--color-parchment);
}
.lx-btn-block {
  display: block;
  width: 100%;
}

/* Cards */
.lx-card {
  background: var(--color-parchment);
  border: 1px solid var(--color-mist);
  border-radius: var(--radius-lg, 8px);
  padding: var(--sp-5);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.lx-stat-card {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}

/* Icons (Font Awesome compat) */
.lx-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  font-style: normal;
  line-height: 1;
}
.lx-icon::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

/* Form */
.lx-form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--sp-4);
  margin-block-end: var(--sp-4);
}
.lx-form-group {
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
  margin-block-end: var(--sp-3);
}

/* Backgrounds */
.lx-bg-parchment { background: var(--color-parchment); }

/* Text */
.lx-text-muted { color: var(--color-ink-soft); }

/* Font weight */
.lx-fw-600 { font-weight: 600; }

/* Logical-property spacing */
.lx-mie-1 { margin-inline-end: var(--sp-1); }
.lx-mie-2 { margin-inline-end: var(--sp-2); }
.lx-mie-3 { margin-inline-end: var(--sp-3); }
.lx-mie-4 { margin-inline-end: var(--sp-4); }
.lx-mie-5 { margin-inline-end: var(--sp-5); }
.lx-mis-1 { margin-inline-start: var(--sp-1); }
.lx-mis-2 { margin-inline-start: var(--sp-2); }
.lx-mis-3 { margin-inline-start: var(--sp-3); }
.lx-mis-4 { margin-inline-start: var(--sp-4); }
.lx-mis-5 { margin-inline-start: var(--sp-5); }
.lx-mbs-0 { margin-block-start: 0; }
.lx-mbs-1 { margin-block-start: var(--sp-1); }
.lx-mbs-2 { margin-block-start: var(--sp-2); }
.lx-mbs-3 { margin-block-start: var(--sp-3); }
.lx-mbs-4 { margin-block-start: var(--sp-4); }
.lx-mbs-5 { margin-block-start: var(--sp-5); }
.lx-mbe-0 { margin-block-end: 0; }
.lx-mbe-1 { margin-block-end: var(--sp-1); }
.lx-mbe-2 { margin-block-end: var(--sp-2); }
.lx-mbe-3 { margin-block-end: var(--sp-3); }
.lx-mbe-4 { margin-block-end: var(--sp-4); }
.lx-mbe-5 { margin-block-end: var(--sp-5); }
.lx-pi-0 { padding-inline: 0; }
.lx-pi-1 { padding-inline: var(--sp-1); }
.lx-pi-2 { padding-inline: var(--sp-2); }
.lx-pi-3 { padding-inline: var(--sp-3); }
.lx-pi-4 { padding-inline: var(--sp-4); }
.lx-pi-5 { padding-inline: var(--sp-5); }
.lx-pb-0 { padding-block: 0; }
.lx-pb-1 { padding-block: var(--sp-1); }
.lx-pb-2 { padding-block: var(--sp-2); }
.lx-pb-3 { padding-block: var(--sp-3); }
.lx-pb-4 { padding-block: var(--sp-4); }
.lx-pb-5 { padding-block: var(--sp-5); }

/* Sizing 100% */
.lx-w-100 { width: 100%; }
.lx-h-100 { height: 100%; }

/* Grid columns */
.lx-col-sm-1, .lx-col-sm-2, .lx-col-sm-3, .lx-col-sm-4, .lx-col-sm-5, .lx-col-sm-6,
.lx-col-sm-7, .lx-col-sm-8, .lx-col-sm-9, .lx-col-sm-10, .lx-col-sm-11, .lx-col-sm-12,
.lx-col-md-1, .lx-col-md-2, .lx-col-md-3, .lx-col-md-4, .lx-col-md-5, .lx-col-md-6,
.lx-col-md-7, .lx-col-md-8, .lx-col-md-9, .lx-col-md-10, .lx-col-md-11, .lx-col-md-12,
.lx-col-lg-1, .lx-col-lg-2, .lx-col-lg-3, .lx-col-lg-4, .lx-col-lg-5, .lx-col-lg-6,
.lx-col-lg-7, .lx-col-lg-8, .lx-col-lg-9, .lx-col-lg-10, .lx-col-lg-11, .lx-col-lg-12 {
  flex: 1 1 100%;
  max-width: 100%;
  padding-inline: var(--sp-2);
  box-sizing: border-box;
}
@media (min-width: 576px) {
  .lx-col-sm-1 { flex: 0 0 8.333%; max-width: 8.333%; }
  .lx-col-sm-2 { flex: 0 0 16.666%; max-width: 16.666%; }
  .lx-col-sm-3 { flex: 0 0 25%; max-width: 25%; }
  .lx-col-sm-4 { flex: 0 0 33.333%; max-width: 33.333%; }
  .lx-col-sm-5 { flex: 0 0 41.666%; max-width: 41.666%; }
  .lx-col-sm-6 { flex: 0 0 50%; max-width: 50%; }
  .lx-col-sm-7 { flex: 0 0 58.333%; max-width: 58.333%; }
  .lx-col-sm-8 { flex: 0 0 66.666%; max-width: 66.666%; }
  .lx-col-sm-9 { flex: 0 0 75%; max-width: 75%; }
  .lx-col-sm-10 { flex: 0 0 83.333%; max-width: 83.333%; }
  .lx-col-sm-11 { flex: 0 0 91.666%; max-width: 91.666%; }
  .lx-col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}
@media (min-width: 768px) {
  .lx-col-md-1 { flex: 0 0 8.333%; max-width: 8.333%; }
  .lx-col-md-2 { flex: 0 0 16.666%; max-width: 16.666%; }
  .lx-col-md-3 { flex: 0 0 25%; max-width: 25%; }
  .lx-col-md-4 { flex: 0 0 33.333%; max-width: 33.333%; }
  .lx-col-md-5 { flex: 0 0 41.666%; max-width: 41.666%; }
  .lx-col-md-6 { flex: 0 0 50%; max-width: 50%; }
  .lx-col-md-7 { flex: 0 0 58.333%; max-width: 58.333%; }
  .lx-col-md-8 { flex: 0 0 66.666%; max-width: 66.666%; }
  .lx-col-md-9 { flex: 0 0 75%; max-width: 75%; }
  .lx-col-md-10 { flex: 0 0 83.333%; max-width: 83.333%; }
  .lx-col-md-11 { flex: 0 0 91.666%; max-width: 91.666%; }
  .lx-col-md-12 { flex: 0 0 100%; max-width: 100%; }
}
@media (min-width: 992px) {
  .lx-col-lg-1 { flex: 0 0 8.333%; max-width: 8.333%; }
  .lx-col-lg-2 { flex: 0 0 16.666%; max-width: 16.666%; }
  .lx-col-lg-3 { flex: 0 0 25%; max-width: 25%; }
  .lx-col-lg-4 { flex: 0 0 33.333%; max-width: 33.333%; }
  .lx-col-lg-5 { flex: 0 0 41.666%; max-width: 41.666%; }
  .lx-col-lg-6 { flex: 0 0 50%; max-width: 50%; }
  .lx-col-lg-7 { flex: 0 0 58.333%; max-width: 58.333%; }
  .lx-col-lg-8 { flex: 0 0 66.666%; max-width: 66.666%; }
  .lx-col-lg-9 { flex: 0 0 75%; max-width: 75%; }
  .lx-col-lg-10 { flex: 0 0 83.333%; max-width: 83.333%; }
  .lx-col-lg-11 { flex: 0 0 91.666%; max-width: 91.666%; }
  .lx-col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}

/* Alert warning alias */
.lx-alert--warning {
  background: rgba(212, 175, 55, 0.08);
  border-inline-start: 3px solid var(--color-gold);
  color: var(--color-ink);
}

/* Navbar light */
.lx-navbar-light {
  background: var(--color-parchment);
  color: var(--color-ink);
}
.lx-navbar-light .nav-link { color: var(--color-ink); }
