/* Booking form — styled in the site's own language: small caps labels, ruled inputs, orange focus. */

.k-booking {
  --k-line: rgba(0, 0, 0, .22);
  --k-line-strong: rgba(0, 0, 0, .45);
  --k-accent: var(--color-primary, #FF4C00);
  margin-top: .5rem;
}

.k-booking_title {
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 1.75rem;
}

.k-booking_grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem 2.5rem;
}

@media (min-width: 720px) {
  .k-booking_grid { grid-template-columns: 1fr 1fr; }
  .k-booking_col-wide { grid-column: 1 / -1; }
}

.k-booking_field { display: flex; flex-direction: column; gap: .45rem; }

.k-booking_label {
  font-size: .6875rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, .55);
}

.k-booking_input {
  appearance: none;
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--k-line);
  border-radius: 0;
  padding: .5rem 0;
  font: inherit;
  font-size: 1rem;
  color: inherit;
  transition: border-color .25s ease, background-color .25s ease;
}
.k-booking_input::placeholder { color: rgba(0, 0, 0, .32); }
.k-booking_input:hover { border-bottom-color: var(--k-line-strong); }

.k-booking_input:focus {
  outline: none;
  border-bottom-color: var(--k-accent);
  background: rgba(255, 76, 0, .04);
}

.k-booking_input:invalid:not(:placeholder-shown) { border-bottom-color: #c0392b; }

textarea.k-booking_input { min-height: 5rem; resize: vertical; }

.k-booking_actions {
  margin-top: 2.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
}

.k-booking_note { font-size: .8125rem; letter-spacing: .04em; color: rgba(0, 0, 0, .55); }
.k-booking_note a { text-decoration: underline; }

.k-booking_status {
  margin-top: 1rem;
  font-size: .8125rem;
  letter-spacing: .06em;
  color: var(--k-accent);
}

/* hint under a field */
.k-booking_hint { font-size: .75rem; letter-spacing: .04em; color: rgba(0, 0, 0, .45); }

/* ---------- footer ---------- */
.c-footer_logo .k-footer-wordmark {
  display: block;
  width: min(320px, 42vw);
  height: auto;
  color: inherit;
}

/* ---------- "Powered by happyllama" credit — same treatment as tide / flat four / bobs ---------- */
.k-powered {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  opacity: 0.65;
  transition: opacity 0.2s ease;
}
.k-powered:hover { opacity: 1; }

.k-powered span {
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.55);
}

.k-powered img { height: 15px; width: auto; display: block; }

@media (prefers-color-scheme: dark) {
  /* if the footer is ever switched to the -dark variant */
  .c-footer.-dark .k-powered span { color: rgba(255, 255, 255, 0.6); }
}
