/* ═══════════════════════════════════════════════════════════════
   Brücke zwischen YOOtheme/UIkit und der Gestaltung des Entwurfs.
   Wird NACH dreinath.css geladen.
   ═══════════════════════════════════════════════════════════════ */

/* Der Seiteninhalt kommt aus dem YOOtheme-Builder. Dessen Section-,
   Container- und Grid-Abstände würden die randlosen Bildszenen
   einschnüren — hier zurücksetzen, die Abstände stehen im
   Entwurfs-Stylesheet. */
.tm-page .uk-section { padding: 0; background: none; }
.tm-page .uk-container { max-width: none; width: 100%; padding: 0; margin: 0; }
.tm-page .uk-grid { margin: 0; list-style: none; }
.tm-page .uk-grid > * { padding: 0; }
.tm-page .uk-panel > :last-child { margin-bottom: 0; }

/* YOOtheme bringt einen eigenen Kopf und eine eigene Titelzeile mit.
   Beides ersetzt der feste Seitenkopf aus dem Entwurf. */
.tm-header,
.tm-header-mobile,
.tm-page-title,
.tm-toolbar { display: none !important; }

/* Der Builder rendert den Inhalt in .tm-main; der Footer kommt aus
   dem Customizer und bringt seine eigene Fläche mit. */
.tm-main { padding: 0; }
.tm-footer { background: var(--tief); }
.tm-footer .uk-section { padding: 0; }

/* Der universelle Reset des Entwurfs darf die WordPress-Adminleiste
   nicht mitnehmen. */
#wpadminbar * { box-sizing: content-box; }
body.admin-bar .site-head { top: 32px; }
body.admin-bar .menu-panel { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar .site-head { top: 46px; }
  body.admin-bar .menu-panel { top: 46px; }
}

/* ── Contact Form 7 in die Formulare des Entwurfs einpassen ──
   CF7 schiebt um jedes Feld ein <span class="wpcf7-form-control-wrap">;
   ohne display:block säßen Beschriftung und Feld nebeneinander. */
.wpcf7-form-control-wrap:not(.cf7apps-honeypot-wrap) { display: block; }
.wpcf7 form .wpcf7-response-output {
  margin: 0.9rem 0 0;
  padding: 0.6rem 0 0.6rem 0.7rem;
  border: none;
  border-left: 3px solid var(--signal);
  font-size: 0.92rem;
  font-weight: 500;
}
.wpcf7 form.sent .wpcf7-response-output { color: #2E7D42; border-left-color: #2E7D42; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output { color: #C43D2E; border-left-color: #C43D2E; }
.wpcf7-not-valid-tip {
  margin-top: 0.3rem;
  font-size: 0.78rem;
  font-weight: 500;
  color: #C43D2E;
}
.wpcf7-not-valid { border-color: #C43D2E !important; }
.wpcf7-spinner { margin: 0 0 0 0.6rem; vertical-align: middle; }
/* Der Absende-Knopf ist ein <input type="submit"> — dieselbe Optik
   wie .btn--primary aus dem Entwurf. */
.wpcf7 input[type="submit"] {
  display: inline-block;
  width: auto;
  margin: 0;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.03em;
  padding: 0.85em 1.7em;
  border: 1.5px solid transparent;
  border-radius: 0;
  background: var(--signal);
  color: #fff;
  cursor: pointer;
  transition: background 0.22s ease, transform 0.22s ease;
}
.wpcf7 input[type="submit"]:hover { background: var(--signal-hell); transform: translateY(-2px); }
.wpcf7 input[type="submit"]:disabled { opacity: 0.6; transform: none; cursor: default; }
.modal__form .wpcf7 input[type="submit"] { width: 100%; margin-top: 0.3rem; }

/* Honeypot bleibt unsichtbar - fuer Menschen, nicht fuer Bots.
   Das Plugin legt Feld und Hinweistext in einen eigenen Wrapper. */
.wpcf7 .cf7apps-honeypot-wrap,
.wpcf7 .wpcf7-honeypot-container,
.wpcf7 .hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ── Zwei Eigenheiten, die aus der Bauweise des Builders folgen ── */

/* UIkit erzwingt am <html> eine ständige Scrollleiste. Der Browser
   rechnet vw dann ohne Scrollleiste, und sämtliche Randabstände des
   Entwurfs (clamp mit 5vw) fielen knapp einen Pixel schmaler aus. */
html { overflow: visible; }
/* UIkit klemmt zusaetzlich beide Achsen am <body> ab. Der Entwurf
   klemmt nur waagerecht - senkrecht braucht die Seite ihre Leiste. */
body { overflow-x: clip; overflow-y: visible; }

/* Der Builder legt jeden Baustein in eine eigene <div>-Hülle. Damit
   verlieren die Abschnitte ihr Geschwisterverhältnis, und die Regel
   „.page-section + .page-section bekommt keinen oberen Abstand"
   greift nicht mehr. Hier über die Hüllen nachgebildet. */
#page div + div > .page-section { padding-top: 0; }

/* ── Seiten ohne Entwurfsvorlage (404, Suche) ──
   Der Entwurf kennt sie nicht. Damit sie nicht aus dem Rahmen fallen,
   erben sie hier die Formensprache der übrigen Seiten. */
.tm-page .uk-search-input,
.tm-page input[type="search"] {
  font: inherit;
  font-size: 1rem;
  color: var(--anthrazit);
  background: #fff;
  border: 1.5px solid rgba(38, 40, 43, 0.28);
  border-radius: 0;
  padding: 0.72em 0.85em;
}
.tm-page .uk-search-input:focus,
.tm-page input[type="search"]:focus { outline: none; border-color: var(--signal); }
.tm-page .uk-search-icon { color: var(--signal); }
