/* ------------------------------------------------------------------
 * contact.css -- "Kontakt & Booking" section + form.
 * Layered over the HalfTone theme (loaded last), non-destructive:
 * remove the <link> in index.html to revert. Mirrors the .section-music
 * block; the submit button reuses the theme .link-button / .music-btn.
 * (The legacy css/forms.css is WordPress-targeted and deliberately NOT
 * used here.)
 * ------------------------------------------------------------------ */

/* "Für Gigs anfragen" CTA between the band intro and the music section */
.band-cta {
  text-align: center;
  margin: 2px 0 20px;
}

/* Footer legal links */
.legal-links {
  margin: 6px 0;
}

.section-contact {
  text-align: center;
  padding: 8px 0 24px;
}
#kontakt { scroll-margin-top: 72px; }

/* Heading: match the calmer band/music headline (kill theme emboss) */
#main #kontakt .headline {
  margin: 8px auto 12px;
  font-weight: 400;
  color: #222;
  text-shadow: none !important;
  letter-spacing: 0.2px;
  font-size: clamp(1.4rem, 1rem + 2.1vw, 2rem);
  line-height: 1.25;
}

.section-contact .contact-lead {
  max-width: 62ch;
  margin: 0 auto 20px;
  line-height: 1.55;
  color: #444;
}

/* --- The form: a centered, left-aligned column ------------------- */
#contactform {
  max-width: 520px;
  margin: 0 auto;
  text-align: left;
}
#contactform label {
  display: block;
  margin: 14px 0 4px;
  font-weight: 700;
  color: #444;
  font-size: 0.95rem;
}
#contactform input[type="text"],
#contactform input[type="email"],
#contactform textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid #cabfa9;      /* warm cream border */
  border-radius: 4px;
  color: #333;
  font-size: 16px;                /* 16px avoids iOS zoom-on-focus */
  font-family: inherit;
  line-height: 1.5;
}
#contactform textarea {
  min-height: 160px;
  resize: vertical;
}
#contactform input:focus,
#contactform textarea:focus {
  outline: none;
  border-color: #1f7a7e;          /* --rb-teal */
  background: #fff;
  box-shadow: 0 0 0 3px rgba(31, 122, 126, 0.15);
}

/* --- Submit row ------------------------------------------------- */
#submitArea {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
/* the reCAPTCHA button already carries .link-button.music-btn */
#submitArea .g-recaptcha.link-button {
  border: 0;
  cursor: pointer;
  font-family: inherit;
}
#contactConfirm {
  font-size: 0.9rem;
  color: #777;
}
#contactConfirm.is-error {
  color: #bf553a;            /* --rb-coral-ink */
  font-weight: 700;
}

/* Success message that replaces the form */
.contact-done {
  max-width: 520px;
  margin: 0 auto;
  padding: 18px 16px;
  background: rgba(255, 255, 255, 0.55);
  border-top: 3px solid #e37655;
  border-radius: 4px;
  color: #333;
  text-align: center;
  font-size: 1.05rem;
}

/* --- Inline privacy note ---------------------------------------- */
.contact-privacy {
  max-width: 520px;
  margin: 16px auto 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: #777;
  text-align: left;
}
.contact-privacy a { color: #bf553a; text-decoration: underline; text-underline-offset: 2px; }
.contact-privacy a:hover { color: #1f7a7e; }

/* --- Phone: same 20px gutter as the other sections -------------- */
@media (max-width: 767px) {
  .section-contact { padding-inline: 20px; }
  #submitArea .g-recaptcha.link-button { padding: 12px 16px; }
}

/* --- Standalone legal pages (impressum.html / datenschutz.html) --- */
.legal-page {
  max-width: 72ch;
  margin: 16px auto 40px;
  padding: 0 20px;
  text-align: left;
  line-height: 1.6;
  color: #333;
}
.legal-page h1 {
  font-family: mensch, Georgia, serif;
  color: #222;
  font-size: clamp(1.6rem, 1.2rem + 2vw, 2.2rem);
  margin: 8px 0 18px;
}
.legal-page h2 {
  color: #bf553a;            /* --rb-coral-ink */
  font-size: 1.15rem;
  margin: 26px 0 8px;
}
.legal-page p,
.legal-page ul { margin: 0 0 12px; }
.legal-page ul { padding-left: 1.2em; }
.legal-page a { color: #bf553a; text-decoration: underline; text-underline-offset: 2px; }
.legal-page a:hover { color: #1f7a7e; }
.legal-page .back { margin-top: 28px; font-weight: 700; }
.legal-page .todo { background: #fdf3e7; border-left: 3px solid #e37655; padding: 8px 12px; }
