@charset "UTF-8";
/* grossmann · _breakpoints.scss — Partial (wird NICHT eigenständig kompiliert).
 * Verbindliches Breakpoint-System (Tobi 2026-06-13), an Elementor ausgerichtet:
 *   mobile      ≤ 767px
 *   tablet      768 – 1024px
 *   desktop     1025 – 1219px
 *   desktop-xl  ≥ 1220px
 * IMMER diese Mixins benutzen — keine ad-hoc px-Breakpoints mehr.
 * Nutzung:  .x { @include mobile { … } }  bzw.  @include tablet-down { … } */
/* „down" = max-width (desktop-first Overrides) · „up" = min-width · sonst = Bereich */
/* ≤ 767 */
/* 768–1024 */
/* ≤ 1024 (Tablet + Mobile) */
/* ≥ 768 */
/* 1025–1219 */
/* ≥ 1025 */
/* ≥ 1220 */
/* grossmann · kontakt.scss → kontakt.css. Kontakt-Block (Form), Kontakt-Hero,
 * Standorte, Gutschein-Badge. Reihenfolge-kritisch (…Kontakt→Subpages).
 * Hinweis: die Form-Styling-Sektion nutzt bewusst dual-kontext-gruppierte
 * Selektoren (`.section--kontakt X, .gm-kontakt__form X`) — bleibt flach (fragil). */
/* === Kontakt-Block — cream/teal-Gradient + Form + Side-Pane === */
.section--kontakt {
  position: relative !important;
  width: 100% !important;
  padding-block: clamp(64px, 8vw, 120px) !important;
  background: radial-gradient(80% 100% at 0% 50%, rgba(26, 157, 148, 0.1) 0%, transparent 60%), linear-gradient(135deg, var(--cream) 0%, var(--teal-soft) 60%, var(--cream) 100%) !important;
  overflow: hidden;
  isolation: isolate;
  /* bg-wrap nicht als Positions-Bezug → der absolute BG bezieht sich auf .section--kontakt
     (volle Höhe), nicht auf den 0-hohen Widget-Wrapper (Fix 2026-05-30). */
}
.section--kontakt > .wrap {
  position: static !important;
}
.section--kontakt .gm-kontakt__bg-wrap,
.section--kontakt .gm-kontakt__bg-wrap > .elementor-widget-container {
  position: static !important;
}

.gm-kontakt__bg-wrap {
  margin: 0 !important;
  padding: 0 !important;
}

/* Hintergrund-Video-Layer + heller Overlay (Text/Form lesbar) — Tausch mit der
 * Segelyacht hinter den 6 Angeboten (Tobi 2026-06-12). */
.gm-kontakt__bg {
  position: absolute;
  inset: 0;
  z-index: -1; /* HINTER dem In-Flow-Inhalt (section: isolation:isolate) */
  background-size: cover;
  background-position: center 40%;
}
.gm-kontakt__bg .gm-kontakt__vid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.gm-kontakt__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(251, 250, 247, 0.82) 0%, rgba(220, 239, 236, 0.74) 100%);
}

/* Adressen (2 Standorte) — Links zur jeweiligen Standort-Map (Tobi 2026-06-12) */
.gm-kontakt__addr-wrap {
  width: 100%;
}

a.gm-kontakt__addr-col {
  color: var(--ink) !important;
  text-decoration: none;
  display: block;
}

a.gm-kontakt__addr-col:hover .gm-kontakt__addr-h {
  text-decoration: underline;
}

.gm-kontakt__addr {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  color: var(--ink);
  font-size: 1.045rem;
  line-height: 1.55;
}

.gm-kontakt__addr-h {
  display: block;
  font-weight: 700;
  font-size: 0.845rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--pink);
  margin-bottom: 0.35rem;
}

/* Gutschein-Badge: runder pinker Sticker (Stefanie „viel schöner", Tobi 2026-05-30). */
.gm-kontakt__gift-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 0.4rem;
}

.gm-gift-badge {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 9px;
  width: min(256px, 74vw);
  aspect-ratio: 1/1;
  border-radius: 50%;
  padding: 26px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(155deg, var(--pink) 0%, var(--pink-deep) 100%); /* tiefes Pink → weiße Schrift überall lesbar */
  box-shadow: 0 20px 44px -14px rgba(220, 69, 132, 0.62), inset 0 0 0 6px rgba(255, 255, 255, 0.16);
  transform: rotate(-5deg);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease;
}
.gm-gift-badge, .gm-gift-badge * {
  color: #fff !important;
}
.gm-gift-badge {
  /* Hover: Sticker „richtet sich auf" (−5°→0) + wächst + Pink-Glow (Tobi 2026-05-30). */
}
.gm-gift-badge:hover, .gm-gift-badge:focus-visible {
  transform: rotate(0deg) scale(1.06);
  box-shadow: 0 30px 64px -12px rgba(220, 69, 132, 0.85), 0 0 0 5px rgba(220, 69, 132, 0.2), inset 0 0 0 6px rgba(255, 255, 255, 0.3);
}
.gm-gift-badge__t, .gm-gift-badge__d {
  text-shadow: 0 1px 2px rgba(120, 15, 60, 0.35);
}
.gm-gift-badge__t {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(1.16rem, 1rem + 0.6vw, 1.42rem);
  line-height: 1.14;
}
.gm-gift-badge__d {
  font-size: 1.045rem;
  line-height: 1.34;
  opacity: 0.96;
  max-width: 15ch;
}
.gm-gift-badge__wink {
  font-style: normal;
  font-size: 1.5em;
  line-height: 1;
  display: inline-block;
  vertical-align: -0.08em;
}
.gm-gift-badge { /* Smiley ~50% größer */ }
.gm-gift-badge__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 3px;
  font-size: 0.845rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.2);
  padding: 6px 12px;
  border-radius: 999px;
  max-width: 80%;
}
.gm-gift-badge__cta svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

@media (max-width: 767px) {
  /* war 767px — Sticker kleiner */
  .gm-gift-badge {
    width: min(188px, 56vw);
    padding: 18px;
    gap: 6px;
  }
  .gm-gift-badge__t {
    font-size: 1rem;
  }
  .gm-gift-badge__d {
    font-size: 0.76rem;
    max-width: 16ch;
  }
  .gm-gift-badge__cta {
    font-size: 0.6rem;
    padding: 4px 9px;
    margin-top: 1px;
  }
  .gm-gift-badge__cta svg {
    width: 11px;
    height: 11px;
  }
}
/* === Kontakt-Seite: Text-Hero + Standorte === */
.section--kontakt-hero .kontakt-hero__inner {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.section--kontakt-hero .kontakt-hero__lead,
.section--kontakt-hero .kontakt-hero__lead p {
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 1.175rem;
  max-width: 58ch;
}

.section--kontakt-hero .kontakt-hero__h1 h1,
.kontakt-hero__h1 .elementor-heading-title {
  font-family: var(--f-display) !important;
  font-weight: 800 !important;
  font-size: clamp(2rem, 1.4rem + 2.6vw, 3.2rem) !important;
  line-height: 1.08;
  color: #fff !important;
  margin: 0;
}

.section--standorte .s-head {
  align-items: center !important;
  text-align: center;
  margin-bottom: clamp(28px, 3vw, 52px);
}

.e-con.gm-standorte__grid {
  display: flex !important;
  flex-direction: column;
  gap: clamp(40px, 5vw, 80px);
  max-width: var(--maxw);
  margin-inline: auto;
}

.e-con.gm-standort {
  display: grid !important;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(24px, 3vw, 56px);
  align-items: center;
}
@media (max-width: 767px) {
  .e-con.gm-standort {
    grid-template-columns: 1fr;
  }
}
.e-con.gm-standort { /* war 767px */ }

.gm-standort__media {
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--sh-sm);
  align-self: start;
}
.gm-standort { /* fit-content: kein 4/3-Zwang → Stadtbild in natürlicher (flacher) Höhe (Tobi 14.06.2026) */ }
.gm-standort__media img {
  width: 100% !important;
  height: auto !important;
  display: block;
}
.gm-standort__media--ph .gm-photo-ph {
  aspect-ratio: 4/3;
  height: 100%;
}
.gm-standort__body {
  display: flex !important;
  flex-direction: column;
  gap: 0.55rem;
}
.gm-standort__t .elementor-heading-title {
  font-family: var(--f-display) !important;
  font-weight: 800 !important;
  font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem) !important;
  color: var(--ink) !important;
}
.gm-standort__addr {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.55;
}
.gm-standort__ico {
  display: inline-flex;
  color: var(--pink);
  flex: 0 0 auto;
  margin-top: 0.15em;
}
.gm-standort__tel {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--pink) !important;
  font-weight: 600;
  text-decoration: none;
  width: fit-content;
}
.gm-standort__tel:hover {
  color: var(--pink-deep) !important;
}
.gm-standort__map {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--sh-sm);
  margin-top: 0.6rem;
}
.gm-standort__map iframe {
  width: 100% !important;
  height: 300px;
  border: 0;
  display: block;
}
.gm-standort__maplink {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #fff;
  color: var(--ink) !important;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 7px 13px;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: var(--sh-sm);
}
.gm-standort__maplink:hover {
  background: var(--pink);
  color: #fff !important;
}

@media (max-width: 767px) {
  .gm-standort__map iframe {
    height: 230px;
  }
}
/* war 767px (mit dem Grid-1fr oben zusammengeführt) */
/* === Kontakt-Grid (Form 50/50) + linke Spalte === */
.e-con.gm-kontakt__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important; /* Desktop echtes 50/50 */
  gap: clamp(40px, 5vw, 96px) !important;
  align-items: center;
  max-width: var(--maxw) !important;
  margin-inline: auto !important;
  padding-inline: var(--gut) !important;
  width: 100% !important;
  flex-direction: row !important;
}
@media (max-width: 1024px) {
  .e-con.gm-kontakt__grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}
.e-con.gm-kontakt__grid { /* war 860px — 1-col statt 50/50 */ }
.e-con.gm-kontakt__grid > * {
  min-width: 0 !important;
  width: 100% !important;
}
.e-con.gm-kontakt__grid { /* nie shrink (sonst min-content-Kollaps in flex) */ }

.gm-kontakt__col-l {
  display: flex !important;
  flex-direction: column;
  gap: 1.4rem;
  align-items: flex-start;
}

.gm-kontakt__h .elementor-heading-title {
  font-family: var(--f-script) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  color: var(--pink) !important;
  font-size: clamp(1.9rem, 1.5rem + 1.4vw, 2.8rem) !important;
  line-height: 1.05 !important;
  margin: 0; /* kleiner (Tobi: war zu groß) */
}

.gm-kontakt__lead p {
  color: var(--muted) !important;
  font-size: 1.175rem;
  line-height: 1.65;
  margin: 0 0 1em;
  max-width: 42ch;
}

.gm-kontakt__lead p:last-child {
  margin-bottom: 0;
}

.gm-kontakt__ch-wrap {
  margin-top: 0.4rem;
}

.gm-kontakt__ch {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.gm-kontakt__ch li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.gm-kontakt__ch li:hover .gm-kontakt__ch-ico {
  transform: translateY(-1px) scale(1.04);
  box-shadow: 0 6px 16px -3px rgba(220, 69, 132, 0.5);
}
.gm-kontakt__ch a {
  color: var(--pink) !important;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.02rem;
  border-bottom: 1px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}
.gm-kontakt__ch a:hover {
  color: var(--pink-deep) !important;
  border-bottom-color: var(--pink-deep);
}

.gm-kontakt__ch-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--pink);
  color: #fff;
  flex: 0 0 auto;
  box-shadow: 0 4px 12px -2px rgba(220, 69, 132, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.gm-kontakt__ch-ico svg {
  width: 18px;
  height: 18px;
}

/* ----------------------------------------------------------------------------
 * KONTAKT-FORM — dual-kontext-gruppierte Selektoren (`.section--kontakt X,
 * .gm-kontakt__form X`). Bewusst FLACH gelassen (fragil + kritisch = Lead-Form).
 * Frosted-Glass-Form, weiße Inputs, Pink-Pill-Submit.
 * ------------------------------------------------------------------------- */
.gm-kontakt__col-r .elementor-widget-form,
.section--kontakt .elementor-widget-form {
  width: 100%;
}

.section--kontakt .elementor-form,
.gm-kontakt__form .elementor-form {
  background: rgba(255, 255, 255, 0.45) !important; /* Frosted Glass */
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  backdrop-filter: blur(16px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  padding: clamp(20px, 2.4vw, 34px) !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 40px -22px rgba(20, 20, 40, 0.25) !important;
}

/* Fields-Wrapper: flex row wrap → 50/50-Paare nebeneinander */
.section--kontakt .elementor-form-fields-wrapper,
.gm-kontakt__form .elementor-form-fields-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  row-gap: 14px !important;
  column-gap: 14px !important;
}

.section--kontakt .elementor-field-group.elementor-col-100,
.gm-kontakt__form .elementor-field-group.elementor-col-100 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.section--kontakt .elementor-field-group.elementor-col-50,
.gm-kontakt__form .elementor-field-group.elementor-col-50 {
  flex: 0 0 calc(50% - 7px) !important;
  max-width: calc(50% - 7px) !important;
}

@media (max-width: 767px) {
  /* war 540px — Paare untereinander */
  .section--kontakt .elementor-field-group.elementor-col-50,
  .gm-kontakt__form .elementor-field-group.elementor-col-50 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}
/* Field-Group: Label oben, Input drunter (Elementor-Pro-Default ist inline → erzwingen column). */
.section--kontakt .elementor-form .elementor-field-group,
.section--kontakt .elementor-form.elementor-labels-above .elementor-field-group,
.section--kontakt .elementor-form.elementor-labels-inline .elementor-field-group,
.gm-kontakt__form .elementor-field-group,
.gm-kontakt__form.elementor-labels-inline .elementor-field-group {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 5px !important;
  margin-bottom: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

/* labels-inline reserviert flex-basis fürs Label → killen (sonst leere Spur links). */
.section--kontakt .elementor-form.elementor-labels-inline .elementor-field-group > .elementor-field-label,
.gm-kontakt__form.elementor-labels-inline .elementor-field-group > .elementor-field-label {
  flex-basis: auto !important;
  flex: 0 0 auto !important;
  max-width: 100% !important;
}

/* Labels: normal (nicht uppercase), über den Feldern */
.section--kontakt .elementor-field-label,
.section--kontakt .elementor-field-group > label,
.gm-kontakt__form .elementor-field-label,
.gm-kontakt__form label {
  font-family: var(--f-body) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
  text-align: left !important;
  line-height: 1.3 !important;
}

.section--kontakt .elementor-field-label .elementor-mark-required,
.gm-kontakt__form .elementor-field-label .elementor-mark-required {
  color: var(--pink) !important;
  margin-left: 0.2em;
}

/* Inputs: weiß + dünner Border. KEIN flex:1 1 100% (triggert column-wrap-Bug → Label rutscht). */
.section--kontakt .elementor-field-textual,
.section--kontakt input[type=text],
.section--kontakt input[type=email],
.section--kontakt input[type=tel],
.section--kontakt input[type=url],
.section--kontakt select,
.section--kontakt textarea,
.gm-kontakt__form .elementor-field-textual,
.gm-kontakt__form input[type=text],
.gm-kontakt__form input[type=email],
.gm-kontakt__form input[type=tel],
.gm-kontakt__form select,
.gm-kontakt__form textarea {
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  min-height: 46px !important;
  font-family: var(--f-body) !important;
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
  color: var(--ink) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  flex-basis: auto !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  transition: border-color 0.15s, box-shadow 0.15s;
  box-shadow: none !important;
}

/* Field-Group flex-wrap killen (sonst springen Items in neue Wrap-Spalten). */
.section--kontakt .elementor-form .elementor-field-group,
.gm-kontakt__form .elementor-field-group {
  flex-wrap: nowrap !important;
  height: auto !important;
}

.section--kontakt input::placeholder,
.section--kontakt textarea::placeholder,
.gm-kontakt__form input::placeholder,
.gm-kontakt__form textarea::placeholder {
  color: var(--muted) !important;
  opacity: 0.85 !important;
}

.section--kontakt input:focus,
.section--kontakt select:focus,
.section--kontakt textarea:focus,
.gm-kontakt__form input:focus,
.gm-kontakt__form select:focus,
.gm-kontakt__form textarea:focus {
  outline: none !important;
  border-color: var(--pink) !important;
  box-shadow: 0 0 0 3px rgba(220, 69, 132, 0.12) !important;
}

.section--kontakt textarea,
.gm-kontakt__form textarea {
  min-height: 140px !important;
  resize: vertical !important;
}

/* Acceptance/Datenschutz-Checkbox: span SELBST zum Flex (Wrap unter Label, nicht unter Checkbox). */
.section--kontakt .elementor-field-type-acceptance,
.gm-kontakt__form .elementor-field-type-acceptance {
  margin-top: 0.4rem;
}

.section--kontakt .elementor-field-type-acceptance .elementor-field-subgroup,
.gm-kontakt__form .elementor-field-type-acceptance .elementor-field-subgroup {
  display: block !important;
}

.section--kontakt .elementor-field-type-acceptance .elementor-field-option,
.gm-kontakt__form .elementor-field-type-acceptance .elementor-field-option {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.7rem !important;
  line-height: 1.5 !important;
}

.section--kontakt .elementor-field-type-acceptance input[type=checkbox],
.gm-kontakt__form .elementor-field-type-acceptance input[type=checkbox] {
  accent-color: var(--pink) !important;
  margin: 0.1rem 0 0 0 !important;
  width: 1.05rem !important;
  height: 1.05rem !important;
  min-width: 1.05rem !important;
  flex: 0 0 auto !important;
}

.section--kontakt .elementor-field-type-acceptance label,
.gm-kontakt__form .elementor-field-type-acceptance label {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  font-size: 0.82rem !important;
  color: var(--muted) !important;
  margin: 0 !important;
  flex: 1 1 auto !important;
  line-height: 1.45 !important;
}

.section--kontakt .elementor-field-type-acceptance label a,
.gm-kontakt__form .elementor-field-type-acceptance label a {
  color: var(--pink) !important;
  text-decoration: underline !important;
}

/* Response-Container .elementor-message: idle leer → ausblenden (sonst leere weiße Box). */
.section--kontakt .elementor-form .elementor-message:empty,
.gm-kontakt__form .elementor-message:empty {
  display: none !important;
}

.section--kontakt .elementor-form .elementor-message,
.gm-kontakt__form .elementor-message {
  background: transparent !important;
  border: 0 !important;
  padding: 0.5em 0 !important;
  font-size: 0.9rem !important;
  box-shadow: none !important;
}

.section--kontakt .elementor-form .elementor-message-success,
.gm-kontakt__form .elementor-message-success {
  color: var(--teal) !important;
}

.section--kontakt .elementor-form .elementor-message-danger,
.gm-kontakt__form .elementor-message-danger {
  color: var(--pink-deep) !important;
}

/* recaptcha / hidden helper-fields nicht als Inputs darstellen */
.section--kontakt .elementor-field-group .grecaptcha-badge,
.section--kontakt input[type=hidden],
.gm-kontakt__form input[type=hidden] {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* CleanTalk Anti-Spam Honeypot — DOM bleibt, aber unsichtbar. */
.section--kontakt input[class*=apbct_],
.gm-kontakt__form input[class*=apbct_],
.section--kontakt .apbct_special_field,
.gm-kontakt__form .apbct_special_field {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Submit-Button: Pink Pill */
.section--kontakt .elementor-button-wrapper,
.gm-kontakt__form .elementor-button-wrapper {
  margin-top: 0.5rem;
}

.section--kontakt .elementor-button,
.gm-kontakt__form .elementor-button {
  background: var(--pink) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--r-pill) !important;
  padding: 1em 1.9em !important;
  font-family: var(--f-body) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  align-self: flex-start !important;
  width: auto !important;
  box-shadow: 0 4px 16px -4px rgba(220, 69, 132, 0.45) !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.15s, box-shadow 0.15s !important;
}

.section--kontakt .elementor-button:hover,
.gm-kontakt__form .elementor-button:hover {
  background: var(--pink-deep) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px -6px rgba(220, 69, 132, 0.55) !important;
}

/* Video-Note (Platzhalter bis Stefanie liefert) */
.gm-kontakt__video-note-wrap {
  margin-top: 1.5rem;
  text-align: right;
  padding-inline: var(--gut);
}

.gm-kontakt__video-note {
  display: inline-block;
  font-family: var(--f-body);
  font-size: 0.78rem;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.6);
  border: 1px dashed var(--line);
  padding: 0.4em 0.8em;
  border-radius: var(--r);
}
