/* Kontaktformular – gemeinsame Komponente fuer alle Seiten.
   Ersetzt die HubSpot-iframe-Einbettung (share-eu1.hsforms.com), die sich
   nicht an das dunkle Layout anpassen liess und mit fester Hoehe und
   weissem Hintergrund als Fremdkoerper auf der Seite sass.

   Bewusst mit eigenen Tokens statt der Seiten-Variablen: Startseite,
   chatgpt-ads und durchstarten/ benutzen unterschiedliche Namen
   (--cyan2 vs. --cyan-deep). So laeuft die Komponente ueberall gleich. */

.itcf{
  --f-cyan:#3ec9f5; --f-cyan2:#1ab3ea; --f-tief:#05054e;
  --f-w:#fff; --f-w75:rgba(255,255,255,.75); --f-w55:rgba(255,255,255,.55);
  --f-w35:rgba(255,255,255,.35); --f-w18:rgba(255,255,255,.18);
  --f-w10:rgba(255,255,255,.1); --f-r:10px;
  display:flex; flex-direction:column; gap:1.05rem;
  font-family:'PT Serif',Georgia,serif;
}
.itcf-reihe{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}
.itcf-feld{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.itcf-feld label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--f-w75);font-weight:700;font-family:inherit}
.itcf-feld label span{color:var(--f-cyan)}
.itcf-feld input,.itcf-feld select{width:100%;background:rgba(0,0,0,.28);
  border:1px solid var(--f-w18);border-radius:var(--f-r);color:var(--f-w);
  font-family:inherit;font-size:1rem;padding:.82rem .9rem;outline:none;
  transition:border-color .2s,box-shadow .2s}
.itcf-feld select{appearance:none;cursor:pointer;padding-right:2.6rem;
  background-image:linear-gradient(45deg,transparent 50%,var(--f-w55) 50%),
                   linear-gradient(135deg,var(--f-w55) 50%,transparent 50%);
  background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.itcf-feld select option{background:#0a0a52;color:var(--f-w)}
.itcf-feld input::placeholder{color:var(--f-w35)}
.itcf-feld input:focus,.itcf-feld select:focus{border-color:var(--f-cyan);
  box-shadow:0 0 0 3px rgba(62,201,245,.18)}
.itcf-feld input[aria-invalid=true]{border-color:#ff8a8a}

/* Honigtopf: nie sichtbar, aber nicht display:none – das ueberspringen Bots. */
.itcf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.itcf-consent{border-top:1px solid var(--f-w10);padding-top:1.1rem;
  display:flex;flex-direction:column;gap:.7rem}
.itcf-consent p{margin:0;font-size:.82rem;line-height:1.55;color:var(--f-w55)}
.itcf-consent a{color:var(--f-cyan)}
.itcf-check{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;
  font-size:.88rem;line-height:1.5;color:var(--f-w75)}
.itcf-check input{width:18px;height:18px;flex-shrink:0;margin-top:2px;
  accent-color:var(--f-cyan);cursor:pointer}
.itcf-klein{font-size:.78rem!important}

.itcf-senden{width:100%;background:linear-gradient(135deg,var(--f-cyan),var(--f-cyan2));
  color:var(--f-tief);font-family:inherit;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;font-size:.92rem;padding:1.05rem 2.2rem;
  border-radius:var(--f-r);border:0;cursor:pointer;margin-top:.3rem;
  transition:filter .2s,transform .1s}
.itcf-senden:hover{filter:brightness(1.08)}
.itcf-senden:active{transform:translateY(1px)}
.itcf-senden[disabled]{opacity:.6;cursor:progress}

.itcf-status{margin:.2rem 0 0;font-size:.88rem;line-height:1.5;min-height:1.2em;
  color:var(--f-w55);font-family:inherit}
.itcf-status.fehler{color:#ff9b9b}
.itcf-danke{text-align:center;padding:2.4rem 1rem;font-family:'PT Serif',Georgia,serif}
.itcf-danke-titel{font-size:1.25rem;color:#3ec9f5;margin:0 0 .5rem;font-weight:700}
.itcf-danke p{color:rgba(255,255,255,.75);margin:0}

@media (max-width:640px){.itcf-reihe{grid-template-columns:1fr}}

/* Terminbuchung direkt unter dem Absendeknopf - auf jeder Seite mit Formular. */
.itcf-termin{margin:-.2rem 0 0;text-align:center;font-size:.86rem;line-height:1.5;color:var(--f-w75)}
.itcf-termin a{color:var(--f-cyan);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.itcf-termin a:hover{color:var(--f-w)}
