#lmlkl-app {
  background: #1D3A5C;
  color: #fff;
  padding: 2rem 1.5rem;
  border-radius: 12px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  max-width: 640px;
  margin: 0 auto;
  box-sizing: border-box;
}
#lmlkl-app *, #lmlkl-app *::before, #lmlkl-app *::after { box-sizing: border-box; }

.lmlkl-progress { font-size: 0.8rem; opacity: 0.75; margin-bottom: 1rem; }

.lmlkl-q-text { font-size: 1.25rem; font-weight: 600; margin: 0 0 1.25rem; line-height: 1.35; }

.lmlkl-options { display: flex; flex-direction: column; gap: 0.6rem; margin-bottom: 1.5rem; }

.lmlkl-opt {
  display: flex; align-items: center; gap: 0.75rem;
  width: 100%; padding: 0.75rem 1rem;
  border: 1px solid #3a5a7a; border-radius: 999px;
  background: transparent; color: #fff; font-size: 0.95rem; text-align: left;
  cursor: pointer; transition: border-color 0.15s, background 0.15s;
}
.lmlkl-opt:hover { border-color: #D9A33E; }
.lmlkl-opt.selected { border-color: #D9A33E; background: rgba(217, 163, 62, 0.12); }

.lmlkl-opt-letter {
  flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%;
  background: #274a70; display: flex; align-items: center; justify-content: center;
  font-size: 0.75rem; font-weight: 600;
}
.lmlkl-opt.selected .lmlkl-opt-letter { background: #D9A33E; color: #1D3A5C; }

.lmlkl-btn {
  border: none; border-radius: 999px; padding: 0.7rem 1.5rem;
  font-size: 0.95rem; font-weight: 600; cursor: pointer;
}
.lmlkl-btn-primary { background: #D9A33E; color: #1D3A5C; }
.lmlkl-btn-secondary { background: transparent; color: #fff; border: 1px solid #3a5a7a; margin-right: 0.75rem; }
.lmlkl-btn-row { display: flex; align-items: center; margin-top: 0.5rem; }

.lmlkl-field { margin-bottom: 1rem; }
.lmlkl-field label { display: block; font-size: 0.85rem; margin-bottom: 0.3rem; opacity: 0.85; }
.lmlkl-field input {
  width: 100%; padding: 0.6rem 0.75rem; border-radius: 8px;
  border: 1px solid #3a5a7a; background: #16304d; color: #fff; font-size: 1rem;
}

.lmlkl-consent {
  display: flex; align-items: flex-start; gap: 0.6rem;
  font-size: 0.85rem; line-height: 1.4; margin-bottom: 1rem; cursor: pointer;
}
.lmlkl-consent input { margin-top: 0.2rem; flex: 0 0 auto; }
.lmlkl-consent a { color: #D9A33E; }

.lmlkl-error { color: #f3b3b3; font-size: 0.85rem; margin-bottom: 0.75rem; }
.lmlkl-hidden { display: none; }

.lmlkl-booking-embed { background: #fff; border-radius: 8px; overflow: hidden; margin-top: 1rem; }

@media (max-width: 480px) {
  #lmlkl-app { padding: 1.25rem 1rem; border-radius: 0; }
}
