/* Halbnord — forms (contact, consent inline, kontakt grid) */

.form {
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 480px;
}
.band--dark .form, .band--moss .form { color: var(--frost); }

.form__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form__label {
  font-family: var(--sans);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ridge);
  font-weight: 600;
}
.band--dark .form__label, .band--moss .form__label { color: rgba(238,240,240,0.7); }

.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form textarea {
  font-family: var(--sans);
  font-size: 1rem;
  padding: 14px 16px;
  background: var(--frost);
  color: var(--nox);
  border: 1.5px solid var(--line);
  border-radius: var(--r);
  width: 100%;
  transition: border-color 0.2s ease;
}
.form input:focus,
.form textarea:focus {
  outline: none;
  border-color: var(--moss);
}
.form textarea { min-height: 140px; resize: vertical; }
.band--dark .form input, .band--dark .form textarea,
.band--moss .form input, .band--moss .form textarea {
  background: rgba(238,240,240,0.07);
  color: var(--frost);
  border-color: rgba(238,240,240,0.25);
}
.band--dark .form input:focus, .band--moss .form input:focus { border-color: #C2D0CA; }

.form__consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.88rem;
  color: var(--shade);
  line-height: 1.5;
}
.form__consent input[type="checkbox"] {
  margin-top: 4px;
  width: 16px;
  height: 16px;
  accent-color: var(--moss);
  flex-shrink: 0;
}
.band--dark .form__consent, .band--moss .form__consent { color: rgba(238,240,240,0.8); }
.form__consent a { color: var(--sky); }

.form__msg {
  font-size: 0.92rem;
  padding: 12px 14px;
  border-radius: var(--r);
  display: none;
}
.form__msg--ok {
  background: rgba(47,63,46,0.12);
  color: var(--moss);
  border-left: 3px solid var(--moss);
}
.form__msg--err {
  background: rgba(60,80,102,0.12);
  color: var(--rust);
  border-left: 3px solid var(--rust);
}
.form__msg.is-shown { display: block; }

/* Honeypot — hidden from real users */
.form__trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

/* ---------------- Kontakt grid ---------------- */
.kontakt-grid {
  display: grid;
  gap: 40px;
}
@media (min-width: 880px) {
  .kontakt-grid { grid-template-columns: 1.1fr 1fr; gap: 80px; }
}
.kontakt-info {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.kontakt-info__block h3 {
  font-family: var(--sans);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ridge);
  margin-bottom: 8px;
}
.kontakt-info__block p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--nox);
}
.kontakt-info__block a {
  color: var(--nox);
  font-weight: 500;
  border-bottom: 1px solid var(--line);
}
.kontakt-info__block a:hover { color: var(--moss); border-bottom-color: var(--moss); }

.hours-tbl {
  width: 100%;
  font-size: 0.95rem;
  border-collapse: collapse;
}
.hours-tbl th, .hours-tbl td {
  text-align: left;
  padding: 8px 0;
  font-weight: 400;
}
.hours-tbl th { color: var(--ridge); font-weight: 500; }
.hours-tbl td { font-variant-numeric: tabular-nums; }
