/* LexSpace FLEX widget — same design language as the booking module
   (cream #F9F5EA, ink #1D1D1B, gold #C9A050). */

.lss-booking { --muted: #6F6A60; --line: rgba(29, 29, 27, 0.12); }

.fx-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.fx-head { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #A07E2E; text-align: center; }

.fx-day {
  border: 1px solid var(--line); border-radius: 12px; background: #fffdf7;
  padding: 8px 4px; text-align: center; font: inherit; cursor: pointer;
  display: flex; flex-direction: column; gap: 2px; align-items: center; justify-content: center;
  min-height: 62px; transition: border-color .18s ease, transform .18s ease, box-shadow .2s ease;
}
.fx-day strong { font-size: 15px; line-height: 1.1; }
.fx-day small { font-size: 10.5px; color: #6F6A60; line-height: 1.15; }
.fx-day:hover:not(:disabled) { border-color: #C9A050; transform: translateY(-1px); }
.fx-day.is-selected { border-color: #C9A050; background: #F0E2BE; }
.fx-day.is-today { box-shadow: inset 0 0 0 2px rgba(201, 160, 80, .35); }
.fx-day:disabled { opacity: .5; cursor: not-allowed; }
.fx-day .fx-free { color: #2F6B4F; font-weight: 700; }
.fx-day .fx-none { color: #B3402F; font-weight: 700; }
.fx-day .fx-hol { color: #A07E2E; font-weight: 700; }

.fx-month { display: flex; align-items: center; gap: 10px; }
.fx-nav { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: #fffdf7; display: grid; place-items: center; cursor: pointer; color: #1D1D1B; }
.fx-nav:disabled { opacity: .4; cursor: not-allowed; }

.fx-detail { margin-top: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fffdf7; }
.fx-bar { display: flex; height: 10px; border-radius: 999px; overflow: hidden; margin: 8px 0 12px; background: #EEE6D2; }
.fx-bar i { display: block; height: 100%; }
.fx-bar .fx-res { background: #C9A050; }
.fx-bar .fx-blk { background: #8C8474; }
.fx-bar .fx-free { background: #2F6B4F; }

.fx-stat { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 13px; }
.fx-stat b { font-size: 15px; }

@media (max-width: 520px) {
  .fx-grid { gap: 4px; }
  .fx-day { min-height: 54px; padding: 6px 2px; }
  .fx-day strong { font-size: 13.5px; }
  .fx-day small { font-size: 9.5px; }
}

.fx-visit {
  display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center;
  padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf7; margin-bottom: 8px;
}
.fx-visit__date { font-weight: 650; }
.fx-visit__meta { color: #6F6A60; font-size: 12.5px; }
