/* ==========================================================================
   HS — Elementor Override (Minimal & Surgical)
   Neutralisiert NUR Elementor's CSS-Variablen-Defaults (--container-default-*)
   ohne unser Original-CSS-Padding zu zerstören.
   ========================================================================== */

/* === 1) Hello Elementor Theme-Padding entfernen === */
body.elementor-page main#content,
body main#content.site-main {
  max-width: none;
  padding: 0;
  margin: 0;
}

/* === 1b) Hello Elementor Page-Title verstecken (war nicht im Mockup) === */
body main#content > .page-header,
body main#content .entry-title,
body main#content > header.entry-header {
  display: none !important;
}

body .elementor-section-wrap,
body main > .elementor {
  padding: 0;
}

body, body.elementor-page { margin: 0; }

/* === 2) Elementor Container CSS-Variablen neutralisieren ===
   Nur die Variablen — kein direktes padding-Override.
   Unser Original-CSS verwendet padding-block in den Klassen — das bleibt. */
body .elementor .e-con.hero,
body .elementor .e-con.trust-stripe,
body .elementor .e-con.story,
body .elementor .e-con.services,
body .elementor .e-con.manufacturers,
body .elementor .e-con.preowned,
body .elementor .e-con.inquiry,
body .elementor .e-con.locations,
body .elementor .e-con.closer,
body .elementor .e-con.page-header,
body .elementor .e-con.page-section,
body .elementor .e-con.legal,
body .elementor .e-con.site-header,
body .elementor .e-con.site-footer,
body .elementor .e-con.section {
  --container-default-padding-block-start: 0;
  --container-default-padding-block-end: 0;
  --container-default-padding-inline-start: 0;
  --container-default-padding-inline-end: 0;
  --container-max-width: none;
  --gap: 0;
  --row-gap: 0;
  --column-gap: 0;
  max-width: none;
  width: 100%;
}

/* === 3) Section / Page-Header brauchen min-height + display:block (kein flex) ===
   Damit das Original-CSS-padding-block sichtbar wird */
body .elementor .e-con.hero,
body .elementor .e-con.trust-stripe,
body .elementor .e-con.story,
body .elementor .e-con.services,
body .elementor .e-con.manufacturers,
body .elementor .e-con.preowned,
body .elementor .e-con.inquiry,
body .elementor .e-con.locations,
body .elementor .e-con.closer,
body .elementor .e-con.page-header,
body .elementor .e-con.page-section,
body .elementor .e-con.legal,
body .elementor .e-con.site-header,
body .elementor .e-con.site-footer,
body .elementor .e-con.section {
  display: block;
}

/* === 4) Das HTML-Widget innen: keine extra Margins/Padding === */
body .elementor .e-con > .elementor-widget-html,
body .elementor .e-con > .e-con-inner > .elementor-widget-html {
  width: 100%;
  padding: 0;
  margin: 0;
}
body .elementor .elementor-widget-html > .elementor-widget-container {
  padding: 0;
  margin: 0;
}

/* === 5) Header Logo (Desktop 68px, Mobile 52px) === */
body .elementor .e-con.site-header img {
  max-height: 68px;
  width: auto;
  display: block;
}
body .elementor .e-con.site-header .elementor-widget-image,
body .elementor .e-con.site-header .elementor-widget-image .elementor-widget-container {
  padding: 0;
  margin: 0;
}
body .elementor .e-con.site-header .elementor-widget-image a {
  display: block;
  line-height: 0;
}
@media (max-width: 640px) {
  body .elementor .e-con.site-header img {
    max-height: 52px;
  }
}

/* Header padding für sauberen Atemraum + Sticky-Verhalten */
body .elementor .e-con.site-header .container.site-header__inner {
  padding-block: 1rem;
  min-height: auto;
}
body .elementor .e-con.site-header {
  border-bottom: 1px solid transparent;
  transition: border-bottom-color 0.3s, background 0.3s;
}
body .elementor .e-con.site-header.is-scrolled {
  border-bottom-color: var(--line);
}

/* === 6) WP Admin-Bar Offset === */
html[lang] body.admin-bar .site-header {
  top: 32px;
}
@media (max-width: 782px) {
  html[lang] body.admin-bar .site-header {
    top: 46px;
  }
}

/* === Location-Card Map: echtes Bild statt Placeholder === */
body .location-card__map {
  display: block;
  margin-top: 2rem;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 4px;
  position: relative;
  background: var(--paper-warm);
  transition: transform 280ms ease, box-shadow 280ms ease;
  /* Original CSS hatte ein ::after Pin Pseudo-Element — den brauchen wir nicht mehr */
}
body .location-card__map::before,
body .location-card__map::after {
  display: none !important;
}
body .location-card__map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body .location-card__map:hover {
  box-shadow: 0 8px 24px -8px rgba(19, 175, 240, 0.4);
  transform: translateY(-1px);
}
body .location-card__map:hover img {
  filter: brightness(1.05) saturate(1.1);
}

/* ==========================================================================
   WPForms Style-Bridge — passt WPForms in unser Inquiry-Design
   ========================================================================== */
body .inquiry__form-wrap { margin-top: 1.5rem; }
body .inquiry__form-wrap .wpforms-container { max-width: none; margin: 0; }
body .inquiry__form-wrap .wpforms-form { background: transparent; }

/* Felder-Container */
body .inquiry__form-wrap .wpforms-field-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) {
  body .inquiry__form-wrap .wpforms-field-container {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Full-width fields */
body .inquiry__form-wrap .wpforms-field-select[id*="field_7"],
body .inquiry__form-wrap .wpforms-field-textarea,
body .inquiry__form-wrap .wpforms-field-gdpr-checkbox,
body .inquiry__form-wrap .wpforms-field[class*="field--full"] {
  grid-column: 1 / -1;
}

body .inquiry__form-wrap .wpforms-field {
  display: flex;
  flex-direction: column;
  padding: 0;
}
body .inquiry__form-wrap .wpforms-field-label {
  font: 500 0.75rem / 1.3 var(--font-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: rgba(247, 247, 244, 0.55);
  margin-bottom: 0.5rem;
}
body .inquiry__form-wrap .wpforms-field-label .wpforms-required-label {
  color: var(--hs-cyan);
}

/* Inputs */
body .inquiry__form-wrap .wpforms-field input[type="text"],
body .inquiry__form-wrap .wpforms-field input[type="email"],
body .inquiry__form-wrap .wpforms-field input[type="tel"],
body .inquiry__form-wrap .wpforms-field input[type="number"],
body .inquiry__form-wrap .wpforms-field select,
body .inquiry__form-wrap .wpforms-field textarea {
  width: 100%;
  padding: 1rem 1.25rem;
  background: rgba(247, 247, 244, 0.04);
  border: 1px solid rgba(247, 247, 244, 0.18);
  border-radius: 4px;
  color: var(--paper);
  font: 400 1rem / 1.4 var(--font-sans);
  min-height: 52px;
  transition: border-color 0.3s, background 0.3s;
  box-shadow: none;
}
body .inquiry__form-wrap .wpforms-field input::placeholder,
body .inquiry__form-wrap .wpforms-field textarea::placeholder {
  color: rgba(247, 247, 244, 0.3);
}
body .inquiry__form-wrap .wpforms-field input:focus,
body .inquiry__form-wrap .wpforms-field textarea:focus,
body .inquiry__form-wrap .wpforms-field select:focus {
  outline: none;
  border-color: var(--hs-cyan);
  background: rgba(19, 175, 240, 0.06);
  box-shadow: none;
}
body .inquiry__form-wrap .wpforms-field textarea {
  min-height: 140px;
  resize: vertical;
}

/* Name-Sub-Fields (Simple) */
body .inquiry__form-wrap .wpforms-field-name input { width: 100%; }

/* Select Dropdown-Arrow */
body .inquiry__form-wrap .wpforms-field select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313AFF0' stroke-width='1.5'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");
  background-position: right 1rem center;
  background-repeat: no-repeat;
  background-size: 18px;
  padding-right: 2.75rem;
}

/* GDPR Checkbox */
body .inquiry__form-wrap .wpforms-field-gdpr-checkbox ul,
body .inquiry__form-wrap .wpforms-field-checkbox ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body .inquiry__form-wrap .wpforms-field-gdpr-checkbox li,
body .inquiry__form-wrap .wpforms-field-checkbox li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
body .inquiry__form-wrap .wpforms-field-gdpr-checkbox input[type="checkbox"],
body .inquiry__form-wrap .wpforms-field-checkbox input[type="checkbox"] {
  width: 22px;
  height: 22px;
  margin-top: 2px;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid rgba(247, 247, 244, 0.3);
  background: transparent;
  border-radius: 2px;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}
body .inquiry__form-wrap .wpforms-field-gdpr-checkbox input[type="checkbox"]:checked,
body .inquiry__form-wrap .wpforms-field-checkbox input[type="checkbox"]:checked {
  background: var(--hs-cyan);
  border-color: var(--hs-cyan);
}
body .inquiry__form-wrap .wpforms-field-gdpr-checkbox input[type="checkbox"]:checked::after,
body .inquiry__form-wrap .wpforms-field-checkbox input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  inset: 5px;
  background: var(--hs-navy-deep);
  border-radius: 50%;
}
body .inquiry__form-wrap .wpforms-field-gdpr-checkbox label,
body .inquiry__form-wrap .wpforms-field-checkbox label {
  color: rgba(247, 247, 244, 0.7);
  font-size: 0.9375rem;
  line-height: 1.5;
  cursor: pointer;
}
body .inquiry__form-wrap .wpforms-field-gdpr-checkbox label a,
body .inquiry__form-wrap .wpforms-field-checkbox label a {
  color: var(--hs-cyan);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Submit Button */
body .inquiry__form-wrap .wpforms-submit-container {
  margin-top: 2rem;
  padding: 0;
  background: transparent;
}
body .inquiry__form-wrap .wpforms-submit {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 1.125rem 3rem;
  background: var(--hs-cyan);
  color: var(--hs-navy-deep);
  font: 600 0.9375rem / 1 var(--font-sans);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
  box-shadow: none;
}
body .inquiry__form-wrap .wpforms-submit:hover {
  background: var(--hs-cyan-light);
  transform: translateY(-1px);
  box-shadow: 0 12px 32px -8px rgba(19, 175, 240, 0.4);
}

/* Error/Confirmation Messages */
body .inquiry__form-wrap .wpforms-error {
  color: #FF8C7A;
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
body .inquiry__form-wrap .wpforms-confirmation-container,
body .inquiry__form-wrap .wpforms-confirmation-container-full {
  padding: 1.5rem;
  background: rgba(19, 175, 240, 0.1);
  border: 1px solid var(--hs-cyan);
  border-radius: 4px;
  color: var(--paper);
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 2rem;
}

/* Field-Description (Hilfetext) */
body .inquiry__form-wrap .wpforms-field-description {
  color: rgba(247, 247, 244, 0.45);
  font-size: 0.8125rem;
  margin-top: 0.5rem;
}

/* Required-Marker beim Label */
body .inquiry__form-wrap .wpforms-required-label,
body .inquiry__form-wrap .wpforms-field-required > .wpforms-field-label::after {
  color: var(--hs-cyan);
}
