/* Galrao: bounded presentation corrections, 2026-10-31, version 1.0.3.
 * Keep AF2 desktop/mobile visibility, state, navigation and scroll anchors intact.
 * Enqueue after lead-experience.css; exclude this file from removed-unused CSS.
 */

/* Text-only and list answers place their text inside the card. Let it grow. */
body.g26-journey .af2_form_wrapper .af2_answer_card {
  height:auto!important;
  min-height:64px!important;
  max-height:none!important;
}
body.g26-journey .af2_form_wrapper .af2_answer_text {
  min-width:0;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word;
}

/* Nonempty titles only: empty form headings remain measurable scroll anchors. */
body.g26-journey .af2_form_wrapper .af2_form_heading:not(:empty) {
  font-size:clamp(24px,2.6vw,30px)!important;
  line-height:1.3!important;
  letter-spacing:-.015em;
  word-break:normal;
  overflow-wrap:break-word;
}
body.g26-journey .af2_form_wrapper .af2_question_heading {
  font-size:clamp(22px,2.2vw,26px)!important;
  line-height:1.3!important;
  letter-spacing:-.01em;
  word-break:normal;
  overflow-wrap:break-word;
}
body.g26-journey .af2_form_wrapper .af2_question_heading_wrapper {
  margin-bottom:24px!important;
}
body.g26-journey .af2_form_wrapper .af2_question_description {
  font-size:16px!important;
  line-height:1.55!important;
  word-break:normal;
  overflow-wrap:break-word;
}

/* Known custom content containers may shrink in grids without clipping text. */
body.g26-journey :is(.gqa-lead-copy,.gqa-route-grid>article,.gqa-situation-card,.gqa-meintag__copy) {
  min-width:0;
}
body.g26-journey .gqa-lead-copy h2 {
  overflow-wrap:break-word;
  word-break:normal;
}

/* A short press response on authored actions. Focus actions stay instantaneous. */
body.g26-journey :is(.gqa-lead-button,.gqa-meintag__button,.gqa-service-button,.gqa-journey-button) {
  transition:transform 140ms cubic-bezier(.23,1,.32,1),opacity 140ms ease;
}
body.g26-journey :is(.gqa-lead-button,.gqa-meintag__button,.gqa-service-button,.gqa-journey-button):not([aria-disabled="true"]):not(:disabled):active:not(:focus-visible) {
  transform:scale(.98);
}
body.g26-journey :is(.gqa-lead-button,.gqa-meintag__button,.gqa-service-button,.gqa-journey-button):focus-visible {
  transition:none;
  transform:none;
  outline:3px solid #17382a;
  outline-offset:4px;
}

/* Neutralize existing sticky touch hover, preserving selected and focus states. */
@media (hover:none), (pointer:coarse) {
  body.g26-journey .gqa-meintag .gqa-meintag__button:hover {
    background:#007a31;
    border-color:#007a31;
    color:#fff;
  }
  body.g26-journey .gqa-recommendations .gqa-recommendations__inner a:hover:not(:focus-visible) {
    background:transparent;
    color:#006d2d!important;
    text-decoration:none;
  }
  body.g26-journey .g26 .gqa-situation-jumps a:hover:not(:focus-visible) {
    background:#f1f6f2;
  }
  body.g26-journey .gqa-evb-entry a.gqa-journey-button:hover {
    background:#007a2f;
    border-color:#007a2f;
  }
  body.g26-journey .gqa-term:hover:not([aria-expanded="true"]) {
    background:transparent!important;
    color:inherit!important;
  }
}

@media (prefers-reduced-motion:reduce) {
  body.g26-journey :is(.gqa-lead-button,.gqa-meintag__button,.gqa-service-button,.gqa-journey-button),
  body.g26-journey :is(.gqa-lead-button,.gqa-meintag__button,.gqa-service-button,.gqa-journey-button):active {
    transition:none!important;
    transform:none!important;
  }
}

/* Legacy Elementor pages still use LVMRotis. New lead UI shares the main site's
 * Arial text stack without affecting the original product page or icon fonts.
 */
body.g26-journey :is(.gqa-lead-jump,.gqa-lead-copy,.gqa-lead-button),
body.g26-journey .gqa-lead-jump :is(p,strong,span,a),
body.g26-journey .gqa-lead-copy :is(h2,p,a) {
  font-family:Arial,Helvetica,sans-serif;
}

/* Editorial replacement for long decorative headings on legacy content pages. */
body.g26-journey .gqa-reading-copy {
  box-sizing:border-box;
  max-width:76ch;
  margin:24px auto;
  padding:24px;
  border:1px solid #d5e1d9;
  border-radius:12px;
  background:#fff;
  color:#17382a;
  font-family:Arial,Helvetica,sans-serif;
  overflow-wrap:break-word;
}
body.g26-journey .gqa-reading-copy p {
  margin:0 0 16px;
  color:#17382a;
  font:400 17px/1.65 Arial,Helvetica,sans-serif;
}
body.g26-journey .gqa-reading-copy p:last-child { margin-bottom:0; }
@media(max-width:600px) {
  body.g26-journey .gqa-reading-copy { padding:20px; }
}

/* These existing service guides have an Arial body but inherit Elementor's
 * different heading/link font unless each text element is explicit.
 */
body.g26-journey :is(.lvmb-appointment-prep,.lvmb-service-page,.lvmb-local-guide) :is(h1,h2,h3,a) {
  font-family:Arial,Helvetica,sans-serif;
}

/* Remaining benefit-card typography on the Sonderkonditionen page. */
body.page-id-436 #site-content .elementor-element-777524aa h3.elementor-heading-title {
  color:#17382a!important;
  font:700 clamp(24px,3vw,30px)/1.25 Arial,Helvetica,sans-serif!important;
  text-transform:none!important;
  letter-spacing:-.015em;
}
body.page-id-436 #site-content .elementor-widget-icon-box > .elementor-widget-container {
  padding:24px!important;
  border:1px solid #d5e1d9;
  border-radius:12px;
  background:#fff!important;
  box-shadow:none;
}
body.page-id-436 #site-content .elementor-icon-box-content { min-width:0; }
body.page-id-436 #site-content .elementor-icon-box-title {
  height:auto!important;
  margin:0 0 12px!important;
  color:#17382a!important;
  font:700 22px/1.3 Arial,Helvetica,sans-serif!important;
  text-transform:none!important;
  letter-spacing:normal;
}
body.page-id-436 #site-content .elementor-icon-box-title :is(a,span) {
  color:inherit!important;
  font:inherit!important;
}
body.page-id-436 #site-content .elementor-icon-box-description {
  color:#40594b!important;
  font:400 17px/1.65 Arial,Helvetica,sans-serif!important;
}
body.page-id-436 #site-content .elementor-icon-box-icon .elementor-icon {
  box-sizing:border-box;
  width:48px;
  height:48px;
  padding:12px;
  font-size:24px;
  line-height:1;
  background:#e8f2ec!important;
  color:#007a2f!important;
  fill:#007a2f!important;
}

/* Current layout-experience.css owns legacy heroes, Linktree and AF2 icons.
 * The former rental page now uses the separate rental handoff component.
 */
@media(max-width:600px) {
  body.page-id-436 #site-content .elementor-widget-icon-box > .elementor-widget-container { padding:20px!important; }
}

/* Funnelforms 5 declares its native presentation in @layer ffx. Unlayered
 * theme label/button rules currently win the cascade and break card layout.
 * Restore presentation only; native direction, visibility and state stay intact.
 */
body.g26-journey .ffx-form .ffx-field {
  margin:0;
  padding:0;
  border:0;
}
body.g26-journey .ffx-form .ffx-option:not([hidden]) { display:flex; }
body.g26-journey .ffx-form .ffx-option {
  box-sizing:border-box;
  min-width:0;
  height:auto;
  padding:20px 16px;
  border:1px solid var(--ffx-color-border,#d5e1d9);
  background:var(--ffx-color-option,var(--ffx-color-background,#fff));
  color:var(--ffx-color-text,#17382a);
  font:600 16px/1.4 Arial,Helvetica,sans-serif;
  text-transform:none;
  letter-spacing:normal;
  transition:background-color 140ms ease,border-color 140ms ease;
}
body.g26-journey .ffx-form .ffx-option-label {
  min-width:0;
  max-width:100%;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
  font:inherit;
  color:inherit;
}
body.g26-journey .ffx-form .ffx-option-icon {
  box-sizing:border-box;
  width:52px;
  height:52px;
  min-width:52px;
  flex-shrink:0;
  font-size:30px;
  line-height:1;
}
body.g26-journey .ffx-form .ffx-option-icon > i {
  font-size:30px;
  line-height:1;
}
body.g26-journey .ffx-form .ffx-button:not([hidden]) { display:inline-flex; }
body.g26-journey .ffx-form .ffx-button {
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 24px;
  border-radius:8px;
  font:600 16px/1.4 Arial,Helvetica,sans-serif;
  text-transform:none;
  letter-spacing:normal;
  text-decoration:none;
  transition:background-color 140ms ease,border-color 140ms ease;
}
body.g26-journey .ffx-form .ffx-button-primary {
  border:1px solid var(--ffx-color-primary,#007a31);
  background:var(--ffx-color-primary,#007a31);
  color:#fff;
}
body.g26-journey .ffx-form .ffx-button-back {
  border:1px solid #c7dace;
  background:#edf6ef;
  color:#17382a;
}
body.g26-journey .ffx-form .ffx-options .ffx-option[aria-pressed="true"],
body.g26-journey .ffx-form .ffx-options .ffx-option:has(:checked) {
  border-color:var(--ffx-color-primary,#007a31);
  background:#edf6ef;
  color:#17382a;
}
body.g26-journey .ffx-form .ffx-option:focus-visible,
body.g26-journey .ffx-form .ffx-option:has(input:focus-visible),
body.g26-journey .ffx-form .ffx-button:focus-visible {
  outline:3px solid #17382a;
  outline-offset:3px;
}
@media(hover:hover) and (pointer:fine) {
  body.g26-journey .ffx-form .ffx-option:not(.is-disabled):not([aria-disabled="true"]):not(:disabled):hover {
    border-color:var(--ffx-color-primary,#007a31);
  }
  body.g26-journey .ffx-form .ffx-button-primary:not(.is-disabled):not([aria-disabled="true"]):not(:disabled):hover {
    background:#006b2d;
    border-color:#006b2d;
    color:#fff;
  }
  body.g26-journey .ffx-form .ffx-button-back:not(.is-disabled):not([aria-disabled="true"]):not(:disabled):hover {
    background:#dfeee4;
    color:#17382a;
  }
}
@media(max-width:768px) {
  body.g26-journey .ffx-form .ffx-options.ffx-mobile-list .ffx-option {
    padding:12px 44px 12px 14px;
  }
  body.g26-journey .ffx-form .ffx-options.ffx-mobile-list .ffx-option-icon {
    width:40px;
    height:40px;
    min-width:40px;
  }
}
@media(prefers-reduced-motion:reduce) {
  body.g26-journey .ffx-form .ffx-option,
  body.g26-journey .ffx-form .ffx-button {
    transition:none;
  }
}

/* Keep the legacy request bookmark after the FFX migration, without layout changes. */
body.g26-journey #gqa-themenanfrage { scroll-margin-top:100px; }
body.g26-journey .ffx-form :is(.ffx-option,.ffx-button),
body.g26-journey .ffx-form :is(.ffx-option,.ffx-button):hover,
body.g26-journey .ffx-form :is(.ffx-option,.ffx-button):active {
  transform:none;
}
