/* Booking widget (rendered by https://book.lightly.io/embed.js) */
.lb { margin: 2rem 0; scroll-margin-top: 1rem; }
.lb-card {
  background-color: #111;
  border-top: 3px solid var(--primary-color);
  border-radius: 4px;
  padding: 1.5rem;
}
.lb p { margin: 0; }
.lb-meta { font-size: 1.3rem; color: #bbb; font-style: italic; }
.lb-label {
  font-size: 1rem;
  color: var(--heading-color);
  font-style: italic;
  letter-spacing: 0.03rem;
  margin: 1.75rem 0 0.75rem !important;
}
.lb-days, .lb-times {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
}
.lb button.lb-chip {
  background: transparent;
  border: 1px solid #333;
  border-radius: 4px;
  color: var(--text-color);
  font-size: 1.2rem;
  font-style: normal;
  padding: 0.5rem 0.25rem;
  margin: 0;
  line-height: 1.3;
  transform: none;
}
.lb button.lb-chip:hover { border-color: var(--primary-color); background: transparent; }
.lb button.lb-chip[aria-pressed="true"] { background: var(--primary-color); border-color: var(--primary-color); }
.lb-dow { display: block; font-size: 0.95rem; opacity: 0.75; }
.lb-date { display: block; }
.lb-hint { font-size: 1.1rem; color: #999; margin-top: 0.75rem !important; }
.lb-form { display: grid; gap: 1rem; }
.lb-summary {
  border-left: 3px solid var(--primary-color);
  padding: 0.5rem 0.75rem;
  font-size: 1.3rem;
  color: #ddd;
}
.lb-field { display: grid; gap: 0.35rem; font-size: 1.2rem; color: #ccc; }
.lb-optional { opacity: 0.6; }
.lb input, .lb textarea {
  width: 100%;
  background: #000;
  border: 1px solid #333;
  border-radius: 4px;
  color: var(--text-color);
  font-family: "Crimson Text", serif;
  font-size: 1.3rem;
  padding: 0.6rem 0.75rem;
}
.lb textarea { min-height: 6rem; resize: vertical; }
.lb input:focus, .lb textarea:focus, .lb button:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}
.lb-currency { display: flex; align-items: center; gap: 0.5rem; font-size: 1.2rem; color: #ccc; }
.lb-currency .lb-chip { padding: 0.4rem 0.9rem !important; }
.lb button.lb-submit { width: 100%; margin-top: 0.25rem; }
.lb button.lb-submit:disabled { opacity: 0.6; cursor: progress; transform: none; }
.lb-error { color: #f08c7a; font-size: 1.2rem; }
.lb-when { font-size: 1.6rem; margin-top: 0.25rem !important; }
.lb-text { font-size: 1.3rem; color: #ddd; margin-top: 1rem !important; }
.lb-trap { position: absolute; left: -10000px; width: 1px; height: 1px; opacity: 0; }
.lb-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid #333;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 1.25rem;
}
.lb button.lb-tab {
  background: transparent;
  color: #bbb;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0.7rem 0.5rem;
  font-size: 1.3rem;
  font-style: italic;
  transform: none;
}
.lb button.lb-tab + .lb-tab { border-left: 1px solid #333; }
.lb button.lb-tab:hover { background: #1a1a1a; color: var(--text-color); }
.lb button.lb-tab[aria-pressed="true"] { background: var(--primary-color); color: var(--text-color); }
