/* Derselbe unverzerrte Kreis und dieselbe Nadel auf allen Geräten. */
body.ae-v14-page:not(.elementor-editor-active) .ae-floating-card [data-id="4cabe048"] {
  --aniko-compass-size: 35px;
  --container-widget-width: var(--aniko-compass-size);
  --container-widget-height: var(--aniko-compass-size);
  box-sizing: border-box !important;
  flex: 0 0 var(--aniko-compass-size) !important;
  width: var(--aniko-compass-size) !important;
  min-width: var(--aniko-compass-size) !important;
  max-width: var(--aniko-compass-size) !important;
  height: var(--aniko-compass-size) !important;
  min-height: var(--aniko-compass-size) !important;
  max-height: var(--aniko-compass-size) !important;
  aspect-ratio: 1 !important;
  position: relative !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  align-self: center !important;
  line-height: 1 !important;
}
body.ae-v14-page:not(.elementor-editor-active) .ae-floating-card [data-id="4cabe048"] > .elementor-widget-container {
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.ae-v14-page:not(.elementor-editor-active) .aniko-mobile-postit-symbol {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: max-content !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  transform: translate(-50%, calc(-50% - 1px)) !important;
}
@media (max-width: 767px) {
  body.ae-v14-page:not(.elementor-editor-active) .ae-floating-card [data-id="4cabe048"] {
    --aniko-compass-size: 30px;
  }
}
/* Ausdrücklich abgewählten CTA-Begleittext in allen Ansichten ausblenden. */
body.ae-v14-page:not(.elementor-editor-active) .ae-final-cta [data-id="21e7f5a1"] {
  display: none !important;
}
/* Gewünschter Abstand nach Entfernen des doppelten CTA-Begleittextes. */
body.ae-v14-page:not(.elementor-editor-active) .ae-final-cta [data-id="28293b99"] {
  margin-top: 32px !important;
}
body.ae-v14-page:not(.elementor-editor-active) .aniko-desktop-cta-break {
  display: none;
}
/* Desktop: ursprüngliche Post-it-Position des Prototyps wiederherstellen. */
@media (min-width: 1025px) {
  body.ae-v14-page:not(.elementor-editor-active) .ae-final-cta [data-id="bdbd5a60"],
  body.ae-v14-page:not(.elementor-editor-active) .ae-final-cta [data-id="bdbd5a60"] .elementor-heading-title {
    text-align: center !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .aniko-desktop-cta-break {
    display: block;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-hero-visual .ae-floating-card {
    left: 0 !important;
    right: auto !important;
    top: auto !important;
    bottom: 0 !important;
  }
}
/* Alle folgenden Gestaltungsregeln gelten ausschließlich in der Handyansicht. */
@media (max-width: 767px) {
  /* 1. How it works: natürliche Höhe und kürzere Innenabstände. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-process-step {
    --min-height: 0px;
    min-height: 0 !important;
    height: auto !important;
    --padding-top: 22px;
    --padding-bottom: 22px;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-process-step > .elementor-widget-heading {
    margin-top: 14px !important;
    margin-bottom: 10px !important;
    min-height: 0 !important;
    max-width: 100% !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-process-step[data-id="7fa7b01c"] {
    border-top: 1px solid rgba(165,132,72,.38) !important;
  }

  /* 2. Der Dialog und seine Werkzeugleiste wachsen niemals mit dem Dokument. */
  body.ae-v14-page:not(.elementor-editor-active) dialog.ae-v14-modal[data-kind="sample-dialog"] {
    box-sizing: border-box !important;
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
    margin: auto !important;
    overflow: auto !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) :is(.ae-sample-dialog, .ae-sample-dialog-shell, [data-ae-role="sample-body"], [data-ae-role="sample-body"] > .elementor, [data-ae-role="document"], .ae-sample-dialog-heading, .ae-sample-dialog-toolbar) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-sample-dialog-shell {
    --padding-left: 16px;
    --padding-right: 16px;
    padding-left: 16px !important;
    padding-right: 16px !important;
    overflow: hidden !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-sample-dialog-heading {
    padding-right: 0 !important;
    overflow-wrap: anywhere;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-sample-dialog-heading > .ae-eyebrow { padding-right: 42px !important; }
  body.ae-v14-page:not(.elementor-editor-active) .ae-sample-dialog-heading .elementor-heading-title {
    font-size: clamp(24px, 7.2vw, 32px) !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-sample-dialog-toolbar {
    flex-wrap: wrap !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-sample-panel-scroll {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: 58vh !important;
    max-height: 58dvh !important;
    overflow: auto !important;
    overscroll-behavior: contain;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-aniko-mobile-zoom] {
    --e-con-grid-template-columns: minmax(0, 1fr);
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-content: start !important;
    justify-items: stretch !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 12px !important;
    gap: 16px !important;
    zoom: 1 !important;
    transform: none !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-aniko-mobile-zoom] > .elementor-widget-image {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-aniko-mobile-zoom] img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  /* 3. Alle Auswahlboxen starten geschlossen; nur die gewählte öffnet darunter. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-need-builder > .elementor-widget-ae-template-reference,
  body.ae-v14-page:not(.elementor-editor-active) .aniko-mobile-product[hidden] {
    display: none !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .aniko-mobile-product:not([hidden]) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
  }

  /* 4. Focused Recommendation: drei kompakte Bilder mit eigenen Beschriftungen. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-result-photo-visual:has(> :is(.ae-focus-photo-preview, .ae-decision-photo-preview)) {
    --min-height: 0px;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-result-photo-visual:has(> :is(.ae-focus-photo-preview, .ae-decision-photo-preview)) > .elementor-widget-text-editor {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    background: #f6f3ed !important;
    color: #70521d !important;
    font-size: 11px !important;
    text-align: center !important;
    order: -1 !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) :is(.ae-focus-photo-preview, .ae-decision-photo-preview) {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    gap: 3px !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-focus-photo-preview > .e-con {
    position: relative !important;
    --min-height: 124px;
    min-height: 124px !important;
    height: 124px !important;
    border: 0 !important;
    overflow: hidden !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) :is(.ae-focus-photo-preview, .ae-decision-photo-preview) > .e-con::before {
    background-image: linear-gradient(90deg, rgba(0,0,0,.66), rgba(0,0,0,.10) 75%) !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) :is(.ae-focus-photo-preview, .ae-decision-photo-preview) > .e-con > .elementor-widget-text-editor {
    position: absolute !important;
    inset: auto auto 17px 20px !important;
    width: auto !important;
    max-width: calc(100% - 40px) !important;
    margin: 0 !important;
    z-index: 2 !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-focus-photo-preview > .e-con > .elementor-widget-text-editor span {
    font-size: 12px !important;
    color: #e2c889 !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-focus-photo-preview > .e-con > .elementor-widget-text-editor strong {
    font-size: 19px !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-focus-photo-preview > .e-con:nth-child(1) { background-position: center 63% !important; }
  body.ae-v14-page:not(.elementor-editor-active) .ae-focus-photo-preview > .e-con:nth-child(2) { background-position: center 76% !important; }
  body.ae-v14-page:not(.elementor-editor-active) .ae-focus-photo-preview > .e-con:nth-child(3) { background-position: center 65% !important; }

  /* Decision Check: zwei Bilder, feine Goldlinie und kompakter Compare-Balken. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-decision-photo-preview { gap: 0 !important; }
  body.ae-v14-page:not(.elementor-editor-active) .ae-decision-photo-preview > .e-con {
    position: relative !important;
    --min-height: 145px;
    min-height: 145px !important;
    height: 145px !important;
    border: 0 !important;
    overflow: hidden !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-decision-photo-preview > .e-con:nth-child(1) { background-position: center 39% !important; }
  body.ae-v14-page:not(.elementor-editor-active) .ae-decision-photo-preview > .e-con:nth-child(2) { background-position: center 37% !important; }
  body.ae-v14-page:not(.elementor-editor-active) .ae-decision-photo-preview::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #b18d48;
    z-index: 3;
    pointer-events: none;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-decision-photo-preview > .elementor-widget-text-editor {
    position: absolute !important;
    inset: 50% auto auto 50% !important;
    transform: translate(-50%, -50%) !important;
    width: max-content !important;
    max-width: calc(100% - 32px) !important;
    margin: 0 !important;
    padding: 6px 16px !important;
    background: #b18d48 !important;
    color: #111 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 16px !important;
    letter-spacing: 1.2px !important;
    z-index: 4 !important;
  }

  /* 5. Bestehende Tabellen und Werte bleiben erhalten. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-services-section [data-id="31dffb50"] {
    --margin-top: 107px;
    margin-top: 107px !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) :is([data-id="1df2a35a"], [data-id="fda18b3f"]) :is(.elementor-widget-container, .ae-price-table-scroll) {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="1df2a35a"] .ae-price-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="1df2a35a"] .ae-price-table :is(th, td) {
    padding: 11px 4px !important;
    overflow-wrap: normal !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="1df2a35a"] .ae-price-table th:first-child { width: 34% !important; }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="1df2a35a"] .ae-price-table thead th {
    text-align: left !important;
    font-size: 11px !important;
    letter-spacing: .35px !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="1df2a35a"] .ae-price-table td { white-space: nowrap !important; }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="1df2a35a"] .ae-price-table thead th:not(:first-child) {
    text-align: right !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .aniko-mobile-column-title {
    display: inline-block;
    text-align: left;
    white-space: nowrap;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="924110ba"] > .ae-pricing-panel-heading {
    --min-height: 0px;
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 20px !important;
    margin-bottom: 0 !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="fda18b3f"] :is(.ae-price-table, tbody, tr, th, td) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="fda18b3f"] thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="fda18b3f"] tbody th {
    border-bottom: 0 !important;
    padding: 14px 0 5px !important;
    text-align: left !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-id="fda18b3f"] tbody td {
    padding: 0 0 14px !important;
    text-align: left !important;
    font-weight: 600 !important;
    overflow-wrap: anywhere;
  }

  /* 6. Headeroffset richtet sich nach der tatsächlich sichtbaren Adminleiste. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-site-header { top: var(--aniko-mobile-admin-top, 0px) !important; }

  /* 7/8. About: Bild zuerst; Container und Bild tragen ihre eigene Höhe. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-about-grid { align-items: start !important; }
  body.ae-v14-page:not(.elementor-editor-active) .ae-about-portrait {
    --order: 0;
    order: 0 !important;
    position: relative !important;
    inset: auto !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-about-copy { --order: 1; order: 1 !important; }
  body.ae-v14-page:not(.elementor-editor-active) .ae-about-copy [data-id="795cf698"] p + p {
    margin-top: 1em !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-portrait-frame {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    transform: none !important;
    overflow: hidden !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-portrait-frame .elementor-widget-image {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
    margin: 0 !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-portrait-frame img {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    transform: none !important;
  }

  /* 9. Zusätzliche FAQ-Zeile erscheint nur während des FAQ-Abschnitts. */
  body.ae-v14-page .aniko-mobile-faq-line {
    position: fixed;
    top: var(--aniko-mobile-header-bottom, 72px);
    left: 0;
    right: 0;
    z-index: 29;
    box-sizing: border-box;
    margin: 0;
    padding: 8px max(17px, env(safe-area-inset-left));
    border-bottom: 1px solid rgba(165,132,72,.38);
    background: #f6f3ed;
    color: #8c691e;
    font-family: Inter, sans-serif;
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 1.5px;
    pointer-events: none;
  }
  body.ae-v14-page .aniko-mobile-faq-line[hidden] { display: none !important; }

  /* 10. Menü mit dauerhaft erreichbarem Schließen-Knopf und eigener Scrollfläche. */
  body.ae-v14-page:not(.elementor-editor-active) [data-ae-role="navigation"] {
    box-sizing: border-box !important;
    top: var(--aniko-mobile-header-bottom, 72px) !important;
    bottom: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - var(--aniko-mobile-header-bottom, 72px)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    visibility: hidden;
    pointer-events: none;
    padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) [data-ae-role="navigation"].is-open { visibility: visible; pointer-events: auto; }
  body.ae-v14-page:not(.elementor-editor-active) [data-ae-role="navigation"]:not(.is-open) { display: none !important; }
  body.ae-v14-page .aniko-mobile-menu-close-row {
    display: flex;
    position: sticky;
    top: 0;
    justify-content: flex-end;
    z-index: 2;
    background: #f6f3ed;
    margin: -30px -8px 12px 0;
    padding: 0;
  }
  body.ae-v14-page .aniko-mobile-menu-close {
    display: grid;
    place-items: center;
    position: relative;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0;
    border: 1px solid rgba(165,132,72,.5);
    border-radius: 50%;
    background: #f6f3ed;
    color: #000;
    cursor: pointer;
  }
  body.ae-v14-page .aniko-mobile-menu-close::before,
  body.ae-v14-page .aniko-mobile-menu-close::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 2px;
    background: currentColor;
    transform: rotate(45deg);
  }
  body.ae-v14-page .aniko-mobile-menu-close::after { transform: rotate(-45deg); }
  body.ae-v14-page .aniko-mobile-menu-close:focus-visible { outline: 2px solid #a58448; outline-offset: 2px; }

  /* 11. Kleiner Post-it; kein Banner über die ganze Bildbreite. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-hero-visual .ae-floating-card {
    --width: 68%;
    width: 68% !important;
    max-width: 260px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    left: -5px !important;
    right: auto !important;
    top: auto !important;
    bottom: 0 !important;
    padding: 12px !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-floating-card > .e-con {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-floating-card > .elementor-widget-text-editor { flex-shrink: 0 !important; }
  body.ae-v14-page:not(.elementor-editor-active) .ae-photo-card > [data-id="e94abb72"] {
    width: fit-content !important;
    max-width: calc(100% - 32px) !important;
    padding: 10px !important;
    left: auto !important;
    right: 19px !important;
    bottom: max(46px, calc(var(--aniko-mobile-postit-height, 64px) - 18px)) !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-photo-card > [data-id="e94abb72"] span {
    line-height: 1.4;
  }

  /* Nachkorrektur: Bildbeschriftung innerhalb der vorhandenen Bildfläche. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-result-flexible-visual [data-id="6fbb65d7"] {
    box-sizing: border-box !important;
    width: fit-content !important;
    max-width: calc(100% - 34px) !important;
    left: 17px !important;
    right: auto !important;
    font-size: 11px !important;
    letter-spacing: .75px !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .aniko-mobile-curated-choices { white-space: nowrap; }

  /* Nachkorrektur: nur den gebrieften mobilen CTA-Titel zentrieren. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-final-cta [data-id="bdbd5a60"] {
    width: 100% !important;
    text-align: center !important;
  }
  body.ae-v14-page:not(.elementor-editor-active) .ae-final-cta [data-id="bdbd5a60"] .elementor-heading-title {
    text-align: center !important;
  }

  /* 12. Innenrahmen gehört zum Bildelement, nicht zur austauschbaren Fotodatei. */
  body.ae-v14-page:not(.elementor-editor-active) .ae-hero-visual .ae-photo-card::after {
    content: '';
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(255,255,255,.92);
    z-index: 2;
    pointer-events: none;
  }
}

/* Weißer Innenrahmen ausschließlich auf Desktop; mobile Regel bleibt unverändert. */
@media (min-width: 1025px) {
  body.ae-v14-page:not(.elementor-editor-active) .ae-hero-visual .ae-photo-card::after {
    content: '';
    position: absolute;
    inset: 14px;
    border: 1px solid rgba(255,255,255,.56);
    z-index: 2;
    pointer-events: none;
  }
}
body.ae-v14-page:not(.elementor-editor-active) [data-ae-role="header"] [data-id="714693e0"] a {
  display: inline-flex;
  align-items: center;
  gap: 11px;
}
body.ae-v14-page:not(.elementor-editor-active) [data-ae-role="header"] [data-id="714693e0"] a > span[aria-hidden="true"]:first-child {
  box-sizing: border-box;
  display: inline-grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border: 1px solid #a58448;
  border-radius: 50%;
  font-size: 14px;
  line-height: 1;
}
