/* AVGS Landingpage · Anpassung der Elementor-Ausgabe an lp.css
   Alle Regeln liegen unter den Einstellungen aus dem Editor (0,4,0): Änderungen im Editor gewinnen immer. */

/* 1 · Elementor-Grundabstände und Kit-Variablen auf diesen Seiten */
body.avgs-lp {
  --kit-widget-spacing: 0px;
  --widgets-spacing: 0px 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px;
  --container-default-padding-top: 0px; --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px; --container-default-padding-left: 0px;
  --e-global-typography-primary-font-family: "Plus Jakarta Sans";
  --e-global-typography-secondary-font-family: "Plus Jakarta Sans";
  --e-global-typography-text-font-family: "Plus Jakarta Sans";
  --e-global-typography-accent-font-family: "Plus Jakarta Sans";
}
body.avgs-lp .elementor-widget:not(:last-child) { margin-block-end: 0; }
body.avgs-lp .e-con { min-width: 0; }

/* 2 · Globale Kit-Regeln (Links, Buttons) zurücksetzen – Bausteine aus lp.css liegen darüber */
body.avgs-lp a { color: inherit; font: inherit; line-height: inherit; }
body.avgs-lp button { background: none; border: 0; border-radius: 0; padding: 0; color: inherit; font: inherit; line-height: inherit; }

/* 3 · Seitenweites CSS-Schnipsel: overflow hidden würde sticky brechen, Pfad-Übergänge stören Animationen */
html:has(> body.avgs-lp), body.avgs-lp { overflow-x: clip !important; }
body.avgs-lp :is(path, circle, rect):not([class]) { transition: none; }

/* 4 · Hintergrund-Ebenen (Widget „AVGS Hintergrund“) füllen ihre Sektion */
body.avgs-lp .elementor-widget-avgs-bg { position: absolute; inset: 0; margin: 0; pointer-events: none; }

/* 5 · Native Überschrift und Text erben die Gestaltung ihrer Klasse */
body.avgs-lp :is(.lp-eyebrow, .lp-chip, .lp-h1, .lp-h2, .lp-h3, .lp-sub, .lp-lead, .lp-legal) :is(.elementor-heading-title, .elementor-widget-container > p) {
  font: inherit; color: inherit; letter-spacing: inherit; line-height: inherit;
  text-transform: inherit; text-wrap: inherit; margin: 0; padding: 0;
}
body.avgs-lp .lp-legal .elementor-widget-container > p { margin: 0 0 1em; }
body.avgs-lp :is(.lp-eyebrow, .lp-chip) > .elementor-widget-container { display: contents; }
body.avgs-lp .lp-tile__copy .elementor-widget-text-editor p { margin: 0; }

/* 6 · Kalender-Einbettung */
body.avgs-lp .elementor-widget-html .iclosed-widget { display: block; }

/* 7 · Editor: Einblendungen sofort sichtbar, fixierte Leisten im Fluss */
.elementor-editor-active .lp-rv, .elementor-editor-preview .lp-rv { opacity: 1 !important; translate: none !important; }
.elementor-editor-active [data-chat] .lp-chat__msg, .elementor-editor-active [data-chat] .lp-chat__fb { opacity: 1 !important; color: inherit !important; translate: none !important; scale: none !important; }
.elementor-editor-active .lp-top { position: relative; }
.elementor-editor-active .lp-sticky { position: relative; translate: none; opacity: 1; }
.elementor-editor-active .lp-rv :is(.lp-fit__item, .lp-voice, .lp-tile, .lp-tb, .lp-acc__item, .lp-remote__list li, .lp-remote__tile, .lp-proofs li, .lp-book__list li, .lp-tuev) { opacity: 1 !important; animation: none !important; }
.elementor-editor-active .lp-head.lp-rv { filter: none !important; }
.elementor-editor-active .lp-rv .lp-accent::after, .elementor-editor-active .lp-rv .lp-route__line i { scale: 1 1 !important; }

/* 7b · Elementor zieht Widget-Rahmen auf volle Breite: schmalere Bausteine mittig halten */
body.avgs-lp .lp-yt { margin-inline: auto; }
/* Widgets in Kacheln nicht zusammendrücken (Grafiken mit festem Seitenverhältnis hätten sonst Mindesthöhe 0) */
body.avgs-lp .lp-tile > .elementor-element { flex-shrink: 0; }
body.avgs-lp .lp-trail { width: 100%; }

/* 7c · Dunkle Sektionen mit Seitenabstand: Elementor setzt 100 % Breite, der Rand würde rechts überstehen */
body.avgs-lp .e-con:is(.lp-hero, .lp-remote, .lp-book) { width: auto; }
/* iOS Safari färbt Status- und Werkzeugleiste mit dem Seitenhintergrund: dunkel statt Creme, der Inhalt bleibt hell */
html:has(> body.avgs-lp) { background: #0A1A33; }
/* 7d · iOS 26 Safari nimmt die Leistenfarbe vom body (theme-color und html zählen nicht): body dunkel, Seiteninhalt hell */
html body.avgs-lp { background-color: #0A1A33; }
body.avgs-lp > .elementor { background-color: var(--page); min-height: 100vh; display: flow-root; } /* kurze Seiten auf hohen Bildschirmen: kein dunkler Streifen unter der Fußzeile */
/* 7e · Fixierte Elemente direkt am Bildschirmrand legen die Safari-Leiste auf eine feste Farbe fest:
   Kopfzeilen-Hülle beginnt erst auf Höhe der Glasleiste, so scheint die jeweilige Sektion durch (lp.js färbt zusätzlich den Seitenhintergrund) */
body.avgs-lp .lp-top { top: 12px; padding-top: 0; }
@media (max-width: 640px) { body.avgs-lp .lp-top { top: 8px; padding-top: 0; } }

/* 8 · Container ohne eigene Anzeige-Regel: Block wie im Entwurf (Spezifität 0,1,0, Klassenregeln aus lp.css gewinnen) */
.avgs-lp :where(.e-con.lp-book, .e-con.lp-book__card, .e-con.lp-card, .e-con.lp-cloud, .e-con.lp-faq, .e-con.lp-fit, .e-con.lp-fit__copy, .e-con.lp-head, .e-con.lp-hero, .e-con.lp-legal-sec, .e-con.lp-logos, .e-con.lp-remote, .e-con.lp-rv, .e-con.lp-sec, .e-con.lp-sec--tint, .e-con.lp-shell, .e-con.lp-steps, .e-con.lp-steps__cta, .e-con.lp-thanks-video, .e-con.lp-tile--network, .e-con.lp-tile--roles, .e-con.lp-trust, .e-con.lp-trust__copy, .e-con.lp-value, .e-con.lp-voices, .e-con.lp-wrap) { display: block; }

/* 8b · Flex-Container ohne eigene Richtung laufen wie im Entwurf als Zeile (Elementor setzt Spalte mit 0,2,0; Editor-Regler gewinnen weiter) */
body.avgs-lp .e-con.lp-cta { --flex-direction: row; flex-direction: row; }

/* 8c · Flex-Container ohne eigene Umbruch-Regel brechen wie im Entwurf nicht um (Elementor setzt am Handy wrap) */
body.avgs-lp .e-con.lp-book__copy, body.avgs-lp .e-con.lp-head--center, body.avgs-lp .e-con.lp-hero__copy, body.avgs-lp .e-con.lp-remote__copy, body.avgs-lp .e-con.lp-steps__side, body.avgs-lp .e-con.lp-tile { --flex-wrap: nowrap; flex-wrap: nowrap; }

/* 9 · Raster- und Flex-Eigenschaften der Widget-Wurzeln gelten für den Elementor-Wrapper */
.avgs-lp .elementor-element:has(> .lp-ic) { flex: none; }
.avgs-lp .elementor-element:has(> .lp-contact) { align-self: stretch; }
.avgs-lp .lp-tile--practice .elementor-element:has(> .lp-chat) { flex: 1 1 auto; }
.avgs-lp .elementor-element:has(> .lp-roles) { flex: 1 1 auto; }
@media (max-width: 960px) {
.avgs-lp .elementor-element:has(> .lp-timeline) { order: 1; }
}
@media (max-width: 960px) {
.avgs-lp .elementor-element:has(> .lp-steps__photo) { display: none; }
}
@media (max-width: 760px) {
.avgs-lp .elementor-element:has(> .lp-net__stat) { grid-column: 1 / -1; grid-row: 3; }
}
.avgs-lp .lp-tile__copy > .elementor-widget-text-editor { grid-column: 1 / -1; }
.avgs-lp .lp-tile--practice > .elementor-widget-avgs-chat { flex: 1 1 auto; display: flex; flex-direction: column; }
.avgs-lp .lp-tile--practice > .elementor-widget-avgs-chat > .lp-chat { flex: 1 1 auto; }
.avgs-lp .lp-legal > .elementor-widget-container > :first-child { margin-top: 0; }

/* 9b · Außenabstände der figure-Bausteine wie im Entwurf (gegen Elementors figure { margin: 0 }) */
body.avgs-lp .elementor .elementor-widget figure.lp-hero__photo { margin: 0 0 0 auto; }
body.avgs-lp .elementor .elementor-widget figure.lp-fit__photo { margin: 0; }
body.avgs-lp .elementor .elementor-widget figure.lp-voice { margin: 0; }
body.avgs-lp .elementor .elementor-widget figure.lp-steps__photo { margin: 0; }
body.avgs-lp .elementor .elementor-widget figure.lp-remote__tile { margin: 0; }
body.avgs-lp .elementor .elementor-widget figure.lp-trust__photo { margin: 0; }
body.avgs-lp .elementor .elementor-widget figure.lp-yt { margin: 0; }
body.avgs-lp .elementor .elementor-widget figure.lp-yt { margin-inline: auto; }

/* 10 · Natives Button-Widget mit Klasse lp-btnw (Varianten lp-btnw--xl, --sm, --block, --arrow) */
.avgs-lp .lp-btnw .elementor-button { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 26px; border-radius: 999px; background: var(--mint); color: var(--mint-ink); font: 700 16.5px/1.1 var(--font-b); letter-spacing: -.005em; text-decoration: none; white-space: nowrap; box-shadow: inset 0 1px 0 rgb(255 255 255 / .45), 0 14px 32px -14px rgb(34 227 161 / .65); transition: background-color .2s var(--ease-soft), box-shadow .2s var(--ease-soft), scale .25s var(--ease); }
.avgs-lp .lp-btnw .elementor-button:active { scale: .975; transition: scale .08s; }
.avgs-lp .lp-btnw .elementor-button:hover { background: var(--mint-hover); box-shadow: inset 0 1px 0 rgb(255 255 255 / .3), 0 6px 18px -10px rgb(34 227 161 / .6); }
.avgs-lp .lp-btnw .elementor-button:hover .elementor-button-content-wrapper::after { translate: 3px 0; }
.avgs-lp .lp-btnw .elementor-button::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(105deg, transparent 30%, rgb(255 255 255 / .55) 48%, transparent 66%); translate: -120% 0; animation: lp-shine 9s var(--ease-soft) 2.4s infinite; }
.avgs-lp .lp-btnw--xl .elementor-button { padding: 19px 30px; font-size: clamp(15px, 4.1vw, 17.5px); }
.avgs-lp .lp-btnw--sm .elementor-button { padding: 10px 17px; font-size: 14.5px; box-shadow: inset 0 1px 0 rgb(255 255 255 / .45); }
.avgs-lp .lp-btnw--sm .elementor-button::after { display: none; }
.avgs-lp .lp-btnw--block .elementor-button { width: 100%; }
@media (max-width: 640px) {
.avgs-lp .lp-top .lp-btnw--sm .elementor-button { display: none; }
}
@media (max-width: 640px) {
.avgs-lp .lp-btnw--xl .elementor-button { padding: 18px 22px; }
}
@media (max-width: 400px) {
.avgs-lp .lp-btnw .elementor-button { font-size: 15px; padding: 15px 18px; gap: 8px; }
}
@media (max-width: 380px) {
.avgs-lp .lp-btnw--xl .elementor-button { padding: 17px 18px; gap: 8px; }
}
.avgs-lp .lp-btnw .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 10px; }
.avgs-lp .lp-btnw--arrow .elementor-button-content-wrapper::after { content: ""; width: 19px; height: 19px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath style='fill:var(--icf,currentColor)' d='M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath style='fill:var(--icf,currentColor)' d='M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z'/%3E%3C/svg%3E") center / contain no-repeat; transition: translate .25s var(--ease); }
@media (max-width: 760px) { .avgs-lp .lp-btnw .elementor-button-content-wrapper { gap: 8px; } }
