/* TFM Citas v2.0.0 — cambia los colores en las variables de .tfm-citas */
.tfm-citas {
  --tfm-primary: #0b5394;
  --tfm-primary-soft: #e6f0fa;
  --tfm-ink: #1f3a5f;
  --tfm-muted: #5b6b7c;
  --tfm-line: #d6e6f5;
  --tfm-bg: #f3f8fd;
  --tfm-error: #a12622;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 16px;
  padding: 16px;
  background: var(--tfm-bg);
  border: 1px solid var(--tfm-line);
  border-radius: 12px;
  color: var(--tfm-ink);
  font-size: 15px;
}
.tfm-citas *, .tfm-citas *::before, .tfm-citas *::after { box-sizing: border-box; }
.tfm-citas [hidden] { display: none !important; }
.tfm-citas p { margin: 0; }
.tfm-citas__title { font-weight: 700; font-size: 16px; margin-bottom: 12px !important; }
.tfm-citas__label { font-weight: 700; font-size: 14px; margin: 16px 0 8px !important; }
.tfm-citas__loading { color: var(--tfm-muted); padding: 24px 0; text-align: center; }

.tfm-citas__cal { background: #fff; border: 1px solid var(--tfm-line); border-radius: 10px; padding: 12px; min-height: 120px; }
.tfm-citas__cal[aria-busy="true"] { opacity: .6; }
.tfm-citas__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.tfm-citas__month { font-weight: 700; font-size: 15px; }
.tfm-citas button.tfm-citas__nav {
  width: 36px; height: 36px; padding: 0; border: 0; border-radius: 8px;
  background: transparent; color: var(--tfm-primary); font-size: 22px; line-height: 1; cursor: pointer;
}
.tfm-citas button.tfm-citas__nav:hover:not(:disabled) { background: var(--tfm-primary-soft); }
.tfm-citas button.tfm-citas__nav:disabled { color: #c3ccd6; cursor: default; }

.tfm-citas__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.tfm-citas__wd { text-align: center; font-size: 12px; font-weight: 600; color: var(--tfm-muted); padding: 4px 0; }
.tfm-citas button.tfm-citas__day {
  height: 40px; width: 100%; padding: 0; margin: 0;
  border: 1px solid transparent; border-radius: 8px; background: transparent;
  color: #c3ccd6; font: inherit; font-size: 14px; cursor: default; text-transform: none; letter-spacing: 0;
}
.tfm-citas button.tfm-citas__day.is-free { color: var(--tfm-ink); background: var(--tfm-primary-soft); font-weight: 600; cursor: pointer; }
.tfm-citas button.tfm-citas__day.is-free:hover { border-color: var(--tfm-primary); }
.tfm-citas button.tfm-citas__day.is-today { border-color: var(--tfm-muted); }
.tfm-citas button.tfm-citas__day.is-selected { background: var(--tfm-primary); color: #fff; border-color: var(--tfm-primary); }

.tfm-citas__slot-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; }
.tfm-citas button.tfm-citas__slot {
  height: 42px; padding: 0 8px; margin: 0; border: 1px solid #c9d7e6; border-radius: 8px;
  background: #fff; color: var(--tfm-ink); font: inherit; font-weight: 600; cursor: pointer;
  text-transform: none; letter-spacing: 0; transition: border-color .15s, background .15s;
}
.tfm-citas button.tfm-citas__slot:hover { border-color: var(--tfm-primary); }
.tfm-citas button.tfm-citas__slot.is-selected { background: var(--tfm-primary); border-color: var(--tfm-primary); color: #fff; }

.tfm-citas button:focus-visible { outline: 3px solid rgba(11, 83, 148, .35); outline-offset: 2px; }

.tfm-citas__summary {
  margin-top: 12px !important; padding: 10px 12px; border-radius: 8px;
  background: #e7f5ec; color: #1d5b33; font-weight: 600;
}
.tfm-citas__msg { margin-top: 8px !important; font-size: 13px; }
.tfm-citas__msg:empty { display: none; }
.tfm-citas__msg.is-error { color: var(--tfm-error); }
.tfm-citas__msg.is-info { color: var(--tfm-muted); }
.tfm-citas button.tfm-citas__retry {
  margin-top: 8px; padding: 8px 14px; border: 1px solid var(--tfm-primary); border-radius: 8px;
  background: #fff; color: var(--tfm-primary); font: inherit; cursor: pointer;
}

@media (max-width: 480px) {
  .tfm-citas { padding: 12px; }
  .tfm-citas__cal { padding: 8px; }
  .tfm-citas__grid { gap: 3px; }
}
