:root {
  --q270-gap: 16px;
  --q270-navy: #0b3764;
  --q270-blue: #215f9a;
  --q270-cyan: #00b0f0;
  --q270-orange: #f29a00;
  --q270-orange-head: linear-gradient(90deg, #e8a800 0%, #ffd632 58%, #fff36a 78%, #e6a400 100%);
  --q270-blue-head: linear-gradient(90deg, #153f67 0%, #215f9a 45%, #4ea0df 100%);
  --q270-tile: linear-gradient(0deg, #a6caec 0%, #dceaf7 42%, #fff 72%, #fff 100%);
  --q270-shadow: 5px 5px 8px rgba(0, 0, 0, .32);
}

/* Header: Checkmark, Aussage, kleiner Originalpfeil, Ergebnis. */
.neo-header-bullets li {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  font-size: 11.35px !important;
}

.neo-header-bullets li .q270-feature-copy {
  min-width: max-content;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  font-size: inherit !important;
}

.neo-header-bullets li .q270-feature-arrow {
  width: 13px !important;
  height: 13px !important;
  flex: 0 0 13px !important;
  object-fit: contain !important;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, .38)) !important;
}

.neo-header-bullets li b {
  color: #fff !important;
  white-space: nowrap;
  font-weight: 1000 !important;
  font-size: inherit !important;
}

/* Einheitliche Außenbreite und vertikaler Rhythmus. */
#v169InvestmentBlock,
#v169LageSection,
#v169SimSection,
#wohnungen,
#berechnung {
  width: min(1560px, calc(100vw - 48px)) !important;
  max-width: min(1560px, calc(100vw - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#v169InvestmentBlock.v187-ready {
  margin-top: 34px !important;
  margin-bottom: 30px !important;
}

#v169InvestmentBlock.v187-ready .v169-main-title,
#v169LageSection .v169-section-title,
#v169SimSection .v169-section-title {
  min-height: 54px !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  border-radius: 18px 18px 0 0 !important;
  background: var(--q270-orange-head) !important;
  border: 1.5px solid #f3aa00 !important;
  border-bottom: 0 !important;
  color: #fff !important;
  font-family: Nunito, "Arial Rounded MT Bold", Arial, sans-serif !important;
  font-size: clamp(1.05rem, 1.48vw, 1.58rem) !important;
  font-weight: 1000 !important;
  line-height: 1.12 !important;
  text-align: left !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, .52) !important;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .64) !important;
}

#v169InvestmentBlock.v187-ready .v169-invest-shell {
  padding: var(--q270-gap) !important;
  border: 1.5px solid #f3aa00 !important;
  border-top: 0 !important;
  border-radius: 0 0 18px 18px !important;
  background: #fff8ed !important;
}

#v169InvestmentBlock.v187-ready .v180-top-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: var(--q270-gap) !important;
}

/* Blaue Headline schließt die blaue Kachel bündig nach oben ab. */
#v169InvestmentBlock.v187-ready .v180-card {
  padding: 0 !important;
  border: 2px solid var(--q270-cyan) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: var(--q270-tile) !important;
  box-shadow: var(--q270-shadow) !important;
}

#v169InvestmentBlock.v187-ready .v180-card-title,
#v169LageSection .v169-blue-strip,
#v169SimSection .v169-blue-strip {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 11px !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  border: 0 !important;
  border-radius: 13px 13px 0 0 !important;
  background: var(--q270-blue-head) !important;
  box-shadow: 0 4px 9px rgba(0, 0, 0, .28) !important;
  color: #fff !important;
  font-family: Nunito, Arial, sans-serif !important;
  font-size: clamp(.98rem, 1.18vw, 1.32rem) !important;
  font-weight: 1000 !important;
  line-height: 1.08 !important;
  text-align: left !important;
  text-shadow: 0 2px 3px rgba(0, 0, 0, .48) !important;
}

#v169InvestmentBlock .q270-title-icon,
#v169InvestmentBlock .v258-title-icon,
#v169LageSection .q270-title-icon,
#v169LageSection .v258-title-icon,
#v169SimSection .q270-title-icon {
  width: 43px !important;
  height: 43px !important;
  flex: 0 0 43px !important;
  object-fit: contain !important;
  filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .32)) !important;
}

#v169InvestmentBlock .q270-title-copy {
  min-width: 0;
}

#v169InvestmentBlock .q270-title-copy > span {
  display: block;
}

#v169InvestmentBlock .q270-title-copy small {
  display: block;
  margin-top: 2px;
  font-size: .66rem;
  font-weight: 850;
  line-height: 1.12;
  opacity: .98;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .46);
}

#v169InvestmentBlock .v258-title-copy {
  min-width: 0 !important;
}

#v169InvestmentBlock .v258-title-note {
  margin-left: auto !important;
  max-width: 46% !important;
  color: #fff !important;
  font-size: .66rem !important;
  font-weight: 850 !important;
  line-height: 1.12 !important;
  text-align: right !important;
  opacity: .98 !important;
}

#v169InvestmentBlock.v187-ready .v180-tiles {
  padding: var(--q270-gap) !important;
  gap: var(--q270-gap) !important;
}

#v169InvestmentBlock.v187-ready .v180-tile {
  min-width: 0 !important;
  min-height: 160px !important;
  padding: 10px 8px 9px !important;
  border: 1.5px solid var(--q270-cyan) !important;
  border-radius: 12px !important;
  background: var(--q270-tile) !important;
  box-shadow: 4px 5px 6px rgba(0, 0, 0, .30) !important;
  color: var(--q270-blue) !important;
}

#v169InvestmentBlock.v187-ready .v180-tile > img {
  width: 56px !important;
  height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  object-fit: contain !important;
  filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .29)) !important;
}

#v169InvestmentBlock.v187-ready .v180-tile .v180-main {
  max-width: 100%;
  color: var(--q270-blue) !important;
  font-size: clamp(.93rem, 1.11vw, 1.27rem) !important;
  font-weight: 1000 !important;
  line-height: 1.02 !important;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

#v169InvestmentBlock.v187-ready .v180-tile .v180-sub {
  color: var(--q270-navy) !important;
  font-size: clamp(.61rem, .69vw, .78rem) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
}

/* Die Portfoliokachel liegt als volle Zeile unter den beiden Hauptkacheln. */
#v169InvestmentBlock.v187-ready .v180-portfolio {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}

#v169InvestmentBlock.v187-ready .v180-portfolio-table.q270-portfolio-table {
  padding: var(--q270-gap) !important;
  background: transparent !important;
}

.q270-unit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--q270-gap);
}

.q270-unit-card {
  min-width: 0;
  overflow: hidden;
  border: 1.5px solid var(--q270-cyan);
  border-radius: 14px;
  background: var(--q270-tile);
  box-shadow: 4px 5px 7px rgba(0, 0, 0, .26);
  color: var(--q270-navy);
}

.q270-unit-card.is-unselected {
  filter: saturate(.68);
  opacity: .82;
}

.q270-unit-head {
  display: grid;
  grid-template-columns: auto 48px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 8px 12px;
  background: var(--q270-blue-head);
  color: #fff;
}

.q270-unit-head,
.q270-unit-head strong,
.q270-unit-head small,
.q270-role {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .42) !important;
}

.q270-select {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1.5px solid rgba(255, 255, 255, .82);
  border-radius: 7px;
  background: rgba(255, 255, 255, .16);
}

.q270-select input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #19b95b;
  cursor: pointer;
}

.q270-unit-head > img {
  width: 46px;
  height: 46px;
  object-fit: contain;
  filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .34));
}

.q270-unit-title strong {
  display: block;
  font-family: Nunito, Arial, sans-serif;
  font-size: 1.16rem;
  font-weight: 1000;
  line-height: 1;
}

.q270-unit-title small {
  display: block;
  margin-top: 4px;
  font-size: .70rem;
  font-weight: 820;
  line-height: 1.15;
}

.q270-role {
  max-width: 132px;
  padding: 7px 9px;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 10px;
  background: rgba(0, 0, 0, .16);
  font-size: .70rem;
  font-weight: 950;
  line-height: 1.08;
  text-align: center;
}

.q270-unit-body {
  padding: 13px;
}

.q270-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.q270-option {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) 24px;
  gap: 8px;
  align-items: center;
  min-height: 84px;
  padding: 8px;
  border: 1.5px solid var(--q270-cyan);
  border-radius: 11px;
  background: rgba(255, 255, 255, .88);
  color: var(--q270-blue);
  cursor: pointer;
  box-shadow: 2px 3px 5px rgba(0, 0, 0, .17);
  text-align: left;
}

.q270-option:hover,
.q270-option:focus-visible {
  transform: translateY(-1px);
  box-shadow: 3px 5px 8px rgba(0, 0, 0, .22);
  outline: none;
}

.q270-option.is-off {
  border-color: #aab5c1;
  background: linear-gradient(180deg, #fff, #e8edf1);
  color: #6c7885;
}

.q270-option img {
  width: 68px;
  height: 56px;
  object-fit: contain;
}

.q270-option[data-q270-action="furnish"] img,
.q270-option[data-q270-action="garage"] img {
  width: 68px;
  height: 46px;
}

.q270-option-copy strong,
.q270-option-copy small {
  display: block;
}

.q270-option-copy strong {
  font-size: .79rem;
  font-weight: 1000;
  line-height: 1.04;
}

.q270-option-copy small {
  margin-top: 3px;
  font-size: .63rem;
  font-weight: 800;
  line-height: 1.12;
}

.q270-option-state {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 2px solid #12b653;
  border-radius: 4px;
  color: #12b653;
  font-size: .86rem;
  font-weight: 1000;
  line-height: 1;
}

.q270-option.is-off .q270-option-state {
  border-color: #e33030;
  color: #e33030;
}

.q270-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 11px;
}

.q270-metric {
  display: grid;
  align-content: start;
  justify-items: center;
  min-width: 0;
  min-height: 108px;
  padding: 8px 6px;
  border: 1.5px solid var(--q270-cyan);
  border-radius: 10px;
  background: rgba(255, 255, 255, .82);
  text-align: center;
  box-shadow: 2px 3px 4px rgba(0, 0, 0, .15);
}

.q270-metric img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .24));
}

.q270-metric b {
  display: block;
  max-width: 100%;
  margin-top: 4px;
  color: var(--q270-blue);
  font-size: clamp(.75rem, .86vw, 1rem);
  font-weight: 1000;
  line-height: 1.04;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

.q270-metric small {
  display: block;
  margin-top: 3px;
  color: var(--q270-navy);
  font-size: .58rem;
  font-weight: 800;
  line-height: 1.08;
}

.q270-tax-link {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  width: 100%;
  margin-top: 11px;
  padding: 9px 11px;
  border: 1.5px solid var(--q270-cyan);
  border-radius: 11px;
  background: var(--q270-blue-head);
  color: #fff;
  cursor: pointer;
  text-align: left;
}

.q270-tax-link img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.q270-tax-link strong,
.q270-tax-link small {
  display: block;
}

.q270-tax-link strong {
  font-size: .78rem;
  font-weight: 1000;
}

.q270-tax-link small {
  margin-top: 2px;
  font-size: .63rem;
  font-weight: 800;
}

.q270-tax-link b {
  font-size: .95rem;
  font-weight: 1000;
  white-space: nowrap;
}

.q270-tax-link,
.q270-tax-link strong,
.q270-tax-link small,
.q270-tax-link b {
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .42) !important;
}

.q270-portfolio-note {
  margin: 12px 2px 0;
  color: var(--q270-navy);
  font-size: .69rem;
  font-weight: 800;
  line-height: 1.28;
}

/* Kompaktere, echte EK-Renditekachel mit gelieferten Formel- und Pfeilassets. */
#v169InvestmentBlock .v187-ek-tile.q270-ek-tile {
  display: grid !important;
  grid-template-rows: 35px 28px auto !important;
  place-items: center !important;
  gap: 3px !important;
  padding: 9px 6px !important;
  transform: none !important;
  background: var(--q270-tile) !important;
  border-color: var(--q270-cyan) !important;
}

#v169InvestmentBlock .q270-ek-formula {
  width: min(118px, 92%) !important;
  height: 34px !important;
  object-fit: contain !important;
  filter: none !important;
}

#v169InvestmentBlock .q270-ek-result {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 58px;
  padding-right: 26px;
  transform: rotate(-5deg);
  color: #f08a00;
  font-weight: 1000;
  line-height: 1;
  text-align: center;
}

#v169InvestmentBlock .q270-ek-result img {
  position: absolute;
  right: -4px;
  top: -3px;
  width: 31px !important;
  height: 52px !important;
  object-fit: contain !important;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .24)) !important;
}

#v169InvestmentBlock .q270-ek-result small,
#v169InvestmentBlock .q270-ek-result b {
  display: block;
}

#v169InvestmentBlock .q270-ek-result small {
  font-size: .58rem;
  font-weight: 950;
}

#v169InvestmentBlock .q270-ek-result b {
  margin-top: 2px;
  font-size: clamp(.88rem, 1vw, 1.16rem);
  white-space: nowrap;
}

/* Lagebild: Perspektivkarte, geometrisch angenäherte Arealebene und klare Detail-Lupe. */
#v169LageSection .v169-section-body {
  padding: 0 !important;
  overflow: hidden !important;
  border: 1.5px solid #f3aa00 !important;
  border-top: 0 !important;
  border-radius: 0 0 18px 18px !important;
  background: #fff8ed !important;
  box-shadow: none !important;
}

#v169LageSection .v169-blue-strip {
  margin: var(--q270-gap) var(--q270-gap) 0 !important;
  border: 2px solid var(--q270-cyan) !important;
  border-bottom: 0 !important;
}

#v169LageSlot {
  margin: 0 var(--q270-gap) var(--q270-gap) !important;
}

.q270-location {
  overflow: hidden;
  border: 2px solid var(--q270-cyan);
  border-radius: 0 0 15px 15px;
  background: #0d345b;
  box-shadow: var(--q270-shadow);
}

.q270-location-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  background: linear-gradient(180deg, #f8fcff, #dceaf7);
  color: var(--q270-navy);
}

.q270-location-toolbar > span {
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.2;
}

.q270-location-switch {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.q270-location-switch button {
  min-height: 32px;
  padding: 5px 10px;
  border: 1.5px solid var(--q270-cyan);
  border-radius: 9px;
  background: #fff;
  color: var(--q270-blue);
  font-size: .69rem;
  font-weight: 950;
  cursor: pointer;
}

.q270-location-switch button.is-active {
  background: var(--q270-blue-head);
  color: #fff;
}

.q270-location-stage {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 3178 / 1720;
  min-height: 460px;
  background: #0c3157;
}

.q270-location-map {
  position: absolute;
  inset: -11% 0 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 111%;
  object-fit: cover;
  object-position: 50% 38%;
  transition: opacity .28s ease, filter .28s ease;
}

.q270-location-model-overlay {
  position: absolute;
  left: 26%;
  top: 31%;
  z-index: 3;
  width: 43%;
  height: auto;
  opacity: .58;
  mix-blend-mode: multiply;
  transform: perspective(1100px) rotateX(6deg) rotateZ(-3deg);
  transform-origin: 52% 64%;
  filter: saturate(.88) contrast(1.06) drop-shadow(0 13px 15px rgba(0, 0, 0, .36));
  clip-path: polygon(5% 14%, 89% 0, 100% 82%, 17% 100%, 0 60%);
  transition: opacity .28s ease, transform .28s ease;
}

.q270-location-pin {
  position: absolute;
  left: 44.4%;
  top: 54.2%;
  z-index: 7;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #f39a00;
  box-shadow: 0 0 0 5px rgba(243, 154, 0, .36), 0 7px 12px rgba(0, 0, 0, .34);
}

.q270-location-pin::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
}

.q270-location-label {
  position: absolute;
  left: calc(44.4% + 22px);
  top: calc(54.2% - 6px);
  z-index: 8;
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 9px;
  background: rgba(8, 48, 86, .88);
  color: #fff;
  font-size: .70rem;
  font-weight: 1000;
  line-height: 1.12;
  box-shadow: 0 6px 12px rgba(0, 0, 0, .28);
}

.q270-direction {
  position: absolute;
  z-index: 6;
  padding: 5px 9px;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 8px;
  background: rgba(8, 48, 86, .82);
  color: #fff;
  font-size: .68rem;
  font-weight: 950;
  box-shadow: 0 5px 10px rgba(0, 0, 0, .24);
}

.q270-direction::before {
  content: "➜";
  display: inline-block;
  margin-right: 5px;
  color: #ffbf00;
}

.q270-direction-erlangen {
  left: 48%;
  top: 8%;
  transform: rotate(-2deg);
}

.q270-direction-fuerth {
  left: 7%;
  top: 43%;
  transform: rotate(-25deg);
}

.q270-direction-nuernberg {
  right: 5%;
  bottom: 10%;
  transform: rotate(12deg);
}

.q270-site-lens {
  position: absolute;
  left: 2.2%;
  bottom: 3.4%;
  z-index: 9;
  width: 31%;
  margin: 0;
  overflow: hidden;
  border: 3px solid #fff;
  border-radius: 14px;
  background: #122743;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .45);
  transition: opacity .28s ease, transform .28s ease;
}

.q270-site-lens img {
  display: block;
  width: 100%;
  height: auto;
}

.q270-site-lens figcaption {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  padding: 7px 9px;
  background: var(--q270-blue-head);
  color: #fff;
  font-size: .66rem;
  font-weight: 900;
}

.q270-site-lens figcaption b {
  color: #ffd64b;
}

.q270-site-connector {
  position: absolute;
  left: 30.5%;
  bottom: 18%;
  z-index: 8;
  width: 15%;
  height: 3px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .34);
  transform: rotate(-18deg);
  transform-origin: left center;
}

.q270-location[data-view="map"] .q270-location-model-overlay,
.q270-location[data-view="map"] .q270-site-lens,
.q270-location[data-view="map"] .q270-site-connector {
  opacity: 0;
  pointer-events: none;
}

.q270-location[data-view="model"] .q270-location-map {
  opacity: .14;
  filter: grayscale(.7) brightness(.45);
}

.q270-location[data-view="model"] .q270-location-model-overlay {
  left: 4%;
  top: -2%;
  width: 92%;
  opacity: 1;
  mix-blend-mode: normal;
  transform: none;
  clip-path: none;
}

.q270-location[data-view="model"] .q270-site-lens,
.q270-location[data-view="model"] .q270-site-connector,
.q270-location[data-view="model"] .q270-location-pin,
.q270-location[data-view="model"] .q270-location-label,
.q270-location[data-view="model"] .q270-direction {
  opacity: 0;
  pointer-events: none;
}

.q270-location-legend {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  padding: 8px 11px;
  background: #fff;
  color: var(--q270-navy);
  font-size: .68rem;
  font-weight: 850;
}

.q270-location-legend span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.q270-location-legend i {
  width: 13px;
  height: 13px;
  border: 1px solid rgba(0, 0, 0, .22);
  border-radius: 3px;
  background: #aeb6bf;
}

.q270-location-legend .is-five i {
  background: #d7ae34;
}

/* Originale aktive/deaktivierte Drive-Icons in den ausführlichen ETW-Karten. */
#apartmentList .v253-option-icon {
  object-fit: contain !important;
  filter: none !important;
}

#apartmentList .v253-option-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

#apartmentList {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--q270-gap) !important;
  align-items: start !important;
}

#apartmentList > .v74-exit-summary,
#apartmentList > .v74-empty {
  grid-column: 1 / -1 !important;
}

#apartmentList > .ap-card {
  min-width: 0 !important;
  margin: 0 !important;
}

#apartmentList .ap-card .spec-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

#apartmentList .ap-card .v253-kpi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Nur ein sichtbarer, originaler Nach-oben-Button. */
#v157BackToTop,
#v159BackToTop,
#v165BackToTop {
  display: none !important;
}

#v179BackToTop {
  width: 58px !important;
  height: 58px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: transparent url("img/q270/graphics/back-to-top.png") center / contain no-repeat !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .25) !important;
}

@media (max-width: 1250px) {
  .q270-unit-grid,
  #apartmentList {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 980px) {
  :root {
    --q270-gap: 10px;
  }

  #v169InvestmentBlock,
  #v169LageSection,
  #v169SimSection,
  #wohnungen,
  #berechnung {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
  }

  #v169InvestmentBlock.v187-ready .v180-top-grid {
    grid-template-columns: 1fr !important;
  }

  #v169InvestmentBlock.v187-ready .v180-card-title,
  #v169LageSection .v169-blue-strip,
  #v169SimSection .v169-blue-strip {
    min-height: 46px !important;
  }

  .q270-location-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .q270-location-switch {
    justify-content: flex-start;
  }

  .q270-location-stage {
    min-height: 420px;
    aspect-ratio: 4 / 3;
  }

  .q270-site-lens {
    width: 42%;
  }

  .q270-location-model-overlay {
    left: 20%;
    top: 29%;
    width: 58%;
  }
}

@media (max-width: 650px) {
  .neo-header-bullets li .q270-feature-copy {
    white-space: normal;
  }

  .q270-option-grid,
  .q270-metrics,
  #apartmentList .v253-option-grid,
  #apartmentList .ap-card .v253-kpi-grid {
    grid-template-columns: 1fr !important;
  }

  .q270-unit-head {
    grid-template-columns: auto 42px minmax(0, 1fr);
  }

  .q270-unit-head > img {
    width: 40px;
    height: 40px;
  }

  .q270-role {
    grid-column: 1 / -1;
    justify-self: stretch;
    max-width: none;
  }

  .q270-location-stage {
    min-height: 360px;
  }

  .q270-location-model-overlay {
    left: 9%;
    top: 27%;
    width: 79%;
  }

  .q270-site-lens {
    width: 54%;
  }

  .q270-direction {
    font-size: .58rem;
  }
}

/* ==========================================================
   Q272 – Statuslogik, Rollenwahl und präzisierter Lageplan
   ========================================================== */

/* Headerpfeile als klar erkennbare Emoji-Pfeile. */
.neo-header-bullets li .q270-feature-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, .38)) !important;
}

/* Die verkürzte Portfoliobeschriftung bleibt auf dem Desktop einzeilig. */
#v169InvestmentBlock .v180-portfolio .v180-card-title {
  white-space: nowrap !important;
  font-size: clamp(.88rem, 1.06vw, 1.18rem) !important;
}

/* Nur ausgewählte Wohnungen erscheinen in der Übersicht. */
.q272-empty-portfolio {
  padding: 22px;
  border: 2px dashed #7cabc9;
  border-radius: 12px;
  background: rgba(255, 255, 255, .84);
  color: var(--q270-navy);
  font-size: .82rem;
  font-weight: 900;
  text-align: center;
}

/* Kopf der ETW-Karte mit unmittelbar bedienbarer Rollenwahl. */
.q270-unit-head {
  grid-template-columns: 48px minmax(0, 1fr) minmax(220px, 270px) !important;
}

.q272-role-picker {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.q272-role-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.q272-role-choice {
  min-width: 0;
  min-height: 27px;
  padding: 4px 6px;
  border: 1.5px solid rgba(255, 255, 255, .72);
  border-radius: 7px;
  background: rgba(4, 42, 78, .36);
  color: #fff;
  font-family: Nunito, Arial, sans-serif;
  font-size: .60rem;
  font-weight: 950;
  line-height: 1.05;
  cursor: pointer;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .38);
}

.q272-role-choice:hover,
.q272-role-choice:focus-visible {
  border-color: #fff;
  background: rgba(255, 255, 255, .22);
  outline: none;
}

.q272-role-choice.is-active {
  border-color: #ffe2a0;
  background: linear-gradient(180deg, #ffc543 0%, #ed8b00 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 3px 6px rgba(0, 0, 0, .24);
}

.q272-role-picker > small {
  color: #fff !important;
  font-size: .59rem;
  font-weight: 850;
  line-height: 1.08;
  text-align: right;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .42);
}

/* Markantere grüne Aktiv- und rote Deaktiv-Markierung. */
.q270-option-state {
  width: 28px !important;
  height: 28px !important;
  border: 3px solid #08a943 !important;
  border-radius: 5px !important;
  background: #effff3 !important;
  color: #08a943 !important;
  font-size: 1.08rem !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 5px rgba(8, 169, 67, .22);
}

.q270-option.is-off .q270-option-state {
  border-color: #e52626 !important;
  background: #fff1f1 !important;
  color: #e52626 !important;
  box-shadow: 0 2px 5px rgba(229, 38, 38, .18);
}

.q270-option.is-off .q270-option-copy,
.q270-option.is-off .q270-option-copy strong,
.q270-option.is-off .q270-option-copy small {
  color: #8a929b !important;
  text-shadow: none !important;
}

.q270-option[data-q270-action="garage"].is-off img {
  filter: grayscale(1) saturate(0) brightness(.82) contrast(.94);
  opacity: .72;
}

/* Dieselbe Systematik in den vollständigen Wohnungsdetailkarten. */
#apartmentList .v253-option input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-grid !important;
  place-content: center !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  margin: 0 7px 0 0 !important;
  border: 3px solid #e52626 !important;
  border-radius: 5px !important;
  background: #fff1f1 !important;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(229, 38, 38, .18) !important;
}

#apartmentList .v253-option input[type="checkbox"]::before {
  content: "×" !important;
  width: auto !important;
  height: auto !important;
  color: #e52626 !important;
  font-family: Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: .8 !important;
  clip-path: none !important;
  box-shadow: none !important;
  transform: none !important;
}

#apartmentList .v253-option input[type="checkbox"]:checked {
  border-color: #08a943 !important;
  background: #effff3 !important;
  box-shadow: 0 2px 5px rgba(8, 169, 67, .22) !important;
}

#apartmentList .v253-option input[type="checkbox"]:checked::before {
  content: "✓" !important;
  color: #08a943 !important;
  font-size: 18px !important;
  transform: none !important;
}

#apartmentList .v253-option.inactive .v253-option-copy,
#apartmentList .v253-option.inactive .v253-option-copy b,
#apartmentList .v253-option.inactive .v253-option-copy strong,
#apartmentList .v253-option.inactive .v253-option-copy small {
  color: #8a929b !important;
  text-shadow: none !important;
}

#apartmentList .v253-option.inactive .v253-option-icon {
  filter: grayscale(1) saturate(0) brightness(.84) contrast(.93) !important;
  opacity: .72 !important;
}

#apartmentList .v253-garage.inactive .v253-option-icon {
  filter: grayscale(1) saturate(0) brightness(.82) contrast(.94) !important;
  opacity: .72 !important;
}

/* Lageansicht: Bauteil 5 liegt hinter dem zuvor markierten Vorderbau. */
.q270-location-toolbar {
  flex-wrap: wrap !important;
}

.q270-location-toolbar > span {
  flex: 1 1 100%;
}

.q270-location-switch {
  flex: 1 1 100%;
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-content: flex-start !important;
}

.q272-map-link {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 5px 10px;
  border: 1.5px solid #f0a000;
  border-radius: 9px;
  background: linear-gradient(180deg, #ffc640, #f18b00);
  color: #fff !important;
  flex: 1 1 360px;
  max-width: 520px;
  justify-content: center;
  font-size: .69rem;
  font-weight: 950;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .32);
}

.q272-sky-haze {
  position: absolute;
  inset: 0 0 auto;
  z-index: 2;
  height: 20%;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(118, 186, 226, .58) 0%, rgba(213, 235, 247, .35) 49%, rgba(255, 255, 255, 0) 100%);
  mix-blend-mode: screen;
}

.q272-sky-haze::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent);
  box-shadow: 0 0 12px rgba(255, 255, 255, .58);
}

.q272-block-five,
.q272-block-gray {
  position: absolute;
  pointer-events: none;
  border: 0 !important;
  transform: perspective(900px) rotateZ(-2deg) rotateX(4deg);
  transform-origin: center;
}

.q272-block-five {
  left: 31.9%;
  top: 46.2%;
  z-index: 5;
  width: 18.5%;
  height: 10.7%;
  clip-path: polygon(2% 9%, 95% 0, 100% 76%, 83% 100%, 2% 89%, 0 39%);
  background: linear-gradient(135deg, rgba(214, 171, 53, .94), rgba(139, 86, 19, .88));
  filter: drop-shadow(0 0 9px rgba(190, 132, 27, .88));
  mix-blend-mode: color;
  animation: q272BlockPulse 2.8s ease-in-out infinite;
}

.q272-block-gray {
  z-index: 4;
  background: linear-gradient(145deg, rgba(78, 84, 91, .82), rgba(172, 177, 182, .72));
  filter: drop-shadow(0 4px 6px rgba(22, 29, 35, .30));
  mix-blend-mode: color;
  opacity: .78;
}

.q272-block-gray-north {
  left: 37.2%;
  top: 38.4%;
  width: 19.4%;
  height: 12.0%;
  clip-path: polygon(3% 6%, 96% 10%, 100% 94%, 7% 91%, 0 58%);
}

.q272-block-gray-east {
  left: 50.1%;
  top: 49.8%;
  width: 10.9%;
  height: 8.2%;
  clip-path: polygon(0 4%, 91% 7%, 100% 84%, 22% 100%, 4% 70%);
}

.q272-block-gray-foreground {
  left: 35.7%;
  top: 55.7%;
  width: 25.3%;
  height: 14.0%;
  clip-path: polygon(0 1%, 90% 0, 100% 61%, 81% 100%, 17% 88%);
}

@keyframes q272BlockPulse {
  0%, 100% { opacity: .80; filter: drop-shadow(0 0 7px rgba(178, 119, 20, .72)); }
  50% { opacity: .97; filter: drop-shadow(0 0 13px rgba(216, 169, 49, 1)); }
}

.q270-location-pin {
  left: 42.0% !important;
  top: 51.1% !important;
  width: 34px !important;
  height: 34px !important;
  border: 4px solid #fff !important;
  background: #a97019 !important;
  box-shadow: 0 0 0 5px rgba(190, 139, 45, .36), 0 7px 12px rgba(0, 0, 0, .34) !important;
}

.q270-location-pin::after {
  background: #fff !important;
}

.q270-location-label {
  left: calc(42.0% + 22px) !important;
  top: calc(51.1% + 10px) !important;
  border-color: rgba(255, 246, 222, .92) !important;
  background: linear-gradient(180deg, rgba(181, 135, 41, .96), rgba(123, 72, 14, .96)) !important;
  color: #fff !important;
}

.q270-site-lens {
  width: 34%;
}

.q270-site-lens img {
  aspect-ratio: 1.59 / 1;
  object-fit: cover;
}

.q270-location[data-view="map"] .q272-block-five,
.q270-location[data-view="map"] .q272-block-gray,
.q270-location[data-view="map"] .q270-site-lens,
.q270-location[data-view="map"] .q270-site-connector {
  opacity: 0;
  animation: none;
  pointer-events: none;
}

.q270-location[data-view="model"] .q270-location-map {
  opacity: .10;
  filter: grayscale(.75) brightness(.34);
}

.q270-location[data-view="model"] .q272-sky-haze,
.q270-location[data-view="model"] .q272-block-five,
.q270-location[data-view="model"] .q272-block-gray,
.q270-location[data-view="model"] .q270-site-connector,
.q270-location[data-view="model"] .q270-location-pin,
.q270-location[data-view="model"] .q270-location-label,
.q270-location[data-view="model"] .q270-direction {
  opacity: 0;
  pointer-events: none;
}

.q270-location[data-view="model"] .q270-site-lens {
  left: 5%;
  top: 3%;
  bottom: auto;
  width: 90%;
  max-height: 94%;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.q270-location[data-view="model"] .q270-site-lens img {
  width: 100%;
  max-height: calc(100% - 38px);
  object-fit: contain;
}

.q270-location-legend .is-five i {
  background: #b4872f !important;
}

@media (prefers-reduced-motion: reduce) {
  .q272-block-five {
    animation: none;
  }
}

@media (max-width: 980px) {
  #v169InvestmentBlock .v180-portfolio .v180-card-title {
    white-space: normal !important;
  }

  .q272-map-link {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 650px) {
  .q270-unit-head {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }

  .q272-role-picker {
    grid-column: 1 / -1;
  }

  .q272-role-picker > small {
    text-align: left;
  }
}

/* ==========================================================
   Q273 – markante EK-Rendite, durchgehende Breite, Mobile-Flow
   ========================================================== */

:root {
  --q273-page-width: min(1360px, calc(100vw - 16px));
  --q273-mobile-track: 1100px;
}

/*
 * Alle großen Seitenbereiche sitzen auf derselben Achse. Verschachtelte
 * orangene Sektionen übernehmen exakt die Breite ihrer äußeren Hülle.
 */
#theq-v255-body > #v169InvestmentBlock,
#theq-v255-body > .section,
#theq-v255-body > main.container.dash-shell,
#theq-v255-body > .container.dash-shell,
#wohnungslage,
#berechnung,
#energieeffizienz,
#formeln,
#reservierung,
#finanzierungsanfrage,
#videos,
#atlas,
#unterlagen,
#afa-effekt {
  width: var(--q273-page-width) !important;
  max-width: var(--q273-page-width) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

#v169LowerWrap,
#v169LageSection,
#v169SimSection,
#wohnungen {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

#v169InvestmentBlock,
#v169LageSection,
#v169SimSection,
#wohnungen,
#berechnung {
  overflow-x: hidden !important;
}

#v169InvestmentBlock > *,
#v169LageSection > *,
#v169SimSection > *,
#wohnungen > *,
#berechnung > * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Die durchschnittliche Eigenkapitalrendite wird als eigener Blickfang geführt. */
#v169InvestmentBlock .v187-ek-tile.q270-ek-tile {
  display: grid !important;
  grid-template: 1fr / 1fr !important;
  place-items: center !important;
  gap: 0 !important;
  min-height: 160px !important;
  padding: 6px 4px !important;
  overflow: hidden !important;
}

#v169InvestmentBlock .q273-ek-showcase {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto;
  justify-items: center;
  align-content: center;
  gap: 4px;
  width: 100%;
  max-width: 154px;
  min-height: 146px;
  padding: 3px 20px 3px 2px;
  box-sizing: border-box;
  transform: rotate(-2deg);
  transform-origin: center;
}

#v169InvestmentBlock.v187-ready .v180-tile.v187-ek-tile.q270-ek-tile .q273-ek-formula {
  width: min(138px, 108%) !important;
  height: 40px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  filter: none !important;
  transform: scale(1.06);
}

#v169InvestmentBlock .q273-ek-label {
  color: #f28a00 !important;
  font-family: Nunito, "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: clamp(.67rem, .71vw, .82rem);
  font-weight: 1000;
  line-height: 1.02;
  text-align: center;
  text-shadow: 0 1px 0 #fff, 0 2px 3px rgba(0, 0, 0, .22);
}

#v169InvestmentBlock .q273-ek-pill.q270-ek-result {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: calc(100% - 2px);
  min-height: 38px;
  margin-top: 1px;
  padding: 5px 7px !important;
  border: 2px solid #ffd26a;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #ffbd34 0%, #f38f00 52%, #d87300 100%);
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, .72),
    0 4px 7px rgba(75, 41, 0, .34);
  color: #fff !important;
  transform: rotate(-2deg) !important;
  box-sizing: border-box;
}

#v169InvestmentBlock.v187-ready .v180-tile.v187-ek-tile.q270-ek-tile .q273-ek-pill .v180-main {
  display: block !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(1.02rem, 1.13vw, 1.31rem) !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  text-shadow: 0 2px 2px #332000, 1px 1px 0 #332000 !important;
}

#v169InvestmentBlock.v187-ready .v180-tile.v187-ek-tile.q270-ek-tile .q273-ek-arrow {
  position: absolute !important;
  right: -1px !important;
  bottom: 7px !important;
  width: 25px !important;
  height: 47px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .30)) !important;
  transform: rotate(5deg);
}

/*
 * Die 3D-Ansicht wird auf schmalen Geräten vollständig eingepasst. Nur
 * der 2D-Plan sowie Diagramm und Zahlentabelle bleiben horizontal bedienbar.
 */
#theq3DStage.floor3d-v91.q273-fixed-3d {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  touch-action: pan-y !important;
}

#theq3DStage.q273-fixed-3d .theq-anim-viewport,
#theq3DStage.q273-fixed-3d .theq-layer-stack {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

#theq3DStage.q273-fixed-3d .theq-building,
#theq3DStage.q273-fixed-3d .theq-3d-layer {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 980px) {
  #theq-v255-body > #v169InvestmentBlock,
  #theq-v255-body > .section,
  #theq-v255-body > main.container.dash-shell,
  #theq-v255-body > .container.dash-shell,
  #wohnungslage,
  #berechnung,
  #energieeffizienz,
  #formeln,
  #reservierung,
  #finanzierungsanfrage,
  #videos,
  #atlas,
  #unterlagen,
  #afa-effekt {
    width: var(--q273-page-width) !important;
    max-width: var(--q273-page-width) !important;
  }

  #theqPlanCanvas.plan-canvas-v72.q273-scrollable-2d {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x pan-y !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: thin !important;
  }

  #theqPlanCanvas.plan-canvas-v72.q273-scrollable-2d::-webkit-scrollbar,
  .q273-sync-scroll::-webkit-scrollbar {
    height: 12px !important;
  }

  #theqPlanCanvas.plan-canvas-v72.q273-scrollable-2d::-webkit-scrollbar-thumb,
  .q273-sync-scroll::-webkit-scrollbar-thumb {
    border: 3px solid rgba(255, 255, 255, .88) !important;
    border-radius: 999px !important;
    background: rgba(16, 67, 111, .42) !important;
  }

  #portfolioBars .big-vert-scroll.q273-sync-chart,
  .v132-rentability-table-panel .year-table-wrap.fit-table.q273-sync-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x pan-y !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: thin !important;
    cursor: grab !important;
  }

  #portfolioBars .big-vert-scroll.q273-sync-chart:active,
  .v132-rentability-table-panel .year-table-wrap.fit-table.q273-sync-table:active {
    cursor: grabbing !important;
  }

  #portfolioBars .big-vert-scroll.q273-sync-chart > .big-vert-chart {
    width: var(--q273-mobile-track) !important;
    min-width: var(--q273-mobile-track) !important;
    max-width: none !important;
  }

  .v132-rentability-table-panel .year-table-wrap.fit-table.q273-sync-table > table {
    width: var(--q273-mobile-track) !important;
    min-width: var(--q273-mobile-track) !important;
    max-width: none !important;
    table-layout: fixed !important;
  }
}

@media (max-width: 520px) {
  #v169InvestmentBlock .q273-ek-showcase {
    max-width: 170px;
  }

  #v169InvestmentBlock .q273-ek-label {
    font-size: .73rem;
  }

  #v169InvestmentBlock.v187-ready .v180-tile.v187-ek-tile.q270-ek-tile .q273-ek-pill .v180-main {
    font-size: 1.15rem !important;
  }
}

/* ==========================================================================
   Q274 – deutlich hervorgehobene Ø-Eigenkapitalrendite
   ========================================================================== */

#v169InvestmentBlock .v187-ek-tile.q270-ek-tile {
  position: relative !important;
  z-index: 2;
  justify-content: center !important;
  align-content: center !important;
  justify-items: center !important;
  align-items: center !important;
  min-height: 172px !important;
  padding: 5px 3px !important;
  border: 2px solid #f29a00 !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 223, 133, .32), transparent 58%),
    linear-gradient(180deg, #fffdf8 0%, #fff4df 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    5px 5px 7px rgba(59, 35, 0, .34) !important;
}

#v169InvestmentBlock .q274-ek-showcase {
  position: relative;
  display: grid;
  grid-template-rows: 47px auto 47px;
  justify-items: center;
  align-content: center;
  gap: 4px;
  width: 100%;
  max-width: 160px;
  min-height: 160px;
  padding: 2px 1px;
  box-sizing: border-box;
  transform: none;
  transform-origin: center;
}

#v169InvestmentBlock.v187-ready .v180-tile.v187-ek-tile.q270-ek-tile .q274-ek-formula {
  display: block !important;
  grid-column: 1 !important;
  justify-self: center !important;
  align-self: center !important;
  width: 132px !important;
  height: 47px !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  filter: drop-shadow(1px 2px 1px rgba(0, 0, 0, .22)) !important;
  transform: none !important;
}

#v169InvestmentBlock .q274-ek-label {
  display: grid;
  justify-items: center;
  color: #f28a00 !important;
  font-family: Nunito, "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: clamp(.82rem, .88vw, 1rem);
  font-weight: 1000;
  line-height: 1.01;
  letter-spacing: -.015em;
  text-align: center;
  text-shadow:
    0 1px 0 #4b2a00,
    0 2px 2px rgba(0, 0, 0, .28);
}

#v169InvestmentBlock .q274-ek-label strong {
  display: block;
  color: inherit !important;
  font: inherit;
}

#v169InvestmentBlock .q274-ek-label strong {
  font-size: 1.08em;
  white-space: nowrap;
}

#v169InvestmentBlock .q274-ek-pill.q270-ek-result {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 138px !important;
  min-height: 45px !important;
  margin: 0 !important;
  padding: 5px 7px !important;
  border: 2px solid #ffe29a !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #ffc43e 0%, #f29400 48%, #d87300 100%) !important;
  box-shadow:
    inset 0 3px 0 rgba(255, 255, 255, .76),
    inset 0 -2px 0 rgba(120, 55, 0, .28),
    0 5px 8px rgba(88, 45, 0, .40),
    0 0 0 2px rgba(242, 138, 0, .18) !important;
  transform: rotate(-2.2deg) !important;
  box-sizing: border-box;
}

#v169InvestmentBlock.v187-ready .v180-tile.v187-ek-tile.q270-ek-tile .q274-ek-pill .v180-main {
  display: block !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(1.13rem, 1.2vw, 1.39rem) !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  letter-spacing: -.025em !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  text-shadow:
    0 2px 2px #3b2100,
    1px 1px 0 #3b2100,
    -1px 1px 0 rgba(59, 33, 0, .88) !important;
}

/* Persönlicher Abschluss der beiden Ansprechpartnerkarten. */
#unterlagen .about-card.team-card.q274-signed-profile .pad {
  display: flex;
  flex-direction: column;
  min-height: 250px;
}

#unterlagen .q274-signature-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(72px, auto) 1fr;
  align-items: center;
  gap: 10px;
  min-height: 92px;
  margin-top: auto;
  padding: 10px 12px;
  overflow: hidden;
  border: 1px solid rgba(20, 106, 167, .25);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(231, 245, 255, .95)),
    #fff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    0 5px 12px rgba(4, 44, 81, .13);
  box-sizing: border-box;
}

#unterlagen .q274-signature-panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, #ffbd27, #ee8600);
}

#unterlagen .q274-signature-panel > img {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
  height: 76px;
  max-width: 185px;
  object-fit: contain;
  filter: drop-shadow(1px 2px 2px rgba(0, 24, 81, .22));
}

#unterlagen .q274-signature-panel.is-ludmilla {
  grid-template-columns: 76px 1fr;
}

#unterlagen .q274-signature-panel.is-ludmilla > img {
  justify-self: center;
  height: 78px;
  max-width: 72px;
}

#unterlagen .q274-signature-panel.is-stefan > img {
  height: 67px;
  max-width: 178px;
}

#unterlagen .q274-signature-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 2px;
  min-width: 0;
}

#unterlagen .q274-signature-copy strong {
  color: #0a4d82;
  font: 1000 .9rem/1.05 Nunito, Arial, sans-serif;
}

#unterlagen .q274-signature-copy span {
  color: #24445f;
  font: 800 .72rem/1.15 Nunito, Arial, sans-serif;
}

@media (max-width: 980px) {
  #v169InvestmentBlock .q274-ek-showcase {
    max-width: 178px;
  }

  #v169InvestmentBlock.v187-ready .v180-tile.v187-ek-tile.q270-ek-tile .q274-ek-formula {
    width: 166px !important;
    height: 49px !important;
  }

  #v169InvestmentBlock .q274-ek-pill.q270-ek-result {
    width: 146px !important;
  }

  #unterlagen .about-card.team-card.q274-signed-profile .pad {
    min-height: 0;
  }
}

@media (max-width: 520px) {
  #v169InvestmentBlock .v187-ek-tile.q270-ek-tile {
    min-height: 176px !important;
  }

  #v169InvestmentBlock .q274-ek-label {
    font-size: .8rem;
  }

  #v169InvestmentBlock.v187-ready .v180-tile.v187-ek-tile.q270-ek-tile .q274-ek-pill .v180-main {
    font-size: 1.25rem !important;
  }

  #unterlagen .q274-signature-panel {
    grid-template-columns: minmax(88px, 34%) 1fr;
  }
}

/* ==========================================================================
   Q275 – kompakte 3D-Formel und eindeutige Objektintention
   ========================================================================== */

#v169InvestmentBlock .q274-ek-showcase {
  grid-template-rows: 58px auto 47px;
  min-height: 166px;
}

#v169InvestmentBlock.v187-ready .v180-tile.v187-ek-tile.q270-ek-tile .q274-ek-formula {
  width: 134px !important;
  height: 56px !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  filter:
    drop-shadow(1px 1px 0 rgba(255, 255, 255, .96))
    drop-shadow(2px 3px 0 rgba(13, 67, 111, .38))
    drop-shadow(4px 6px 4px rgba(0, 0, 0, .30)) !important;
  transform: perspective(300px) rotateX(7deg) translateY(-1px) !important;
  transform-origin: 50% 50% !important;
}

/* Orange + Fragezeichen = offen; Blau + Häkchen = ausgewählt. */
.q272-role-choice {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 24px;
  align-items: center;
  gap: 4px;
  border-color: #ffe0a0 !important;
  background: linear-gradient(180deg, #ffc642 0%, #f29400 50%, #dc7600 100%) !important;
  color: #fff !important;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, .72),
    inset 0 -2px 0 rgba(113, 53, 0, .26),
    0 3px 6px rgba(0, 0, 0, .24) !important;
}

.q272-role-choice:hover,
.q272-role-choice:focus-visible {
  border-color: #fff2cf !important;
  background: linear-gradient(180deg, #ffd25e 0%, #f7a30a 52%, #e78300 100%) !important;
  outline: none;
}

.q272-role-choice.is-active {
  border-color: #bce9ff !important;
  background: linear-gradient(180deg, #4eb5f2 0%, #2485cc 48%, #0d5b9d 100%) !important;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, .72),
    inset 0 -2px 0 rgba(2, 51, 94, .34),
    0 3px 7px rgba(0, 34, 70, .34) !important;
}

.q272-role-choice.is-active:hover,
.q272-role-choice.is-active:focus-visible {
  background: linear-gradient(180deg, #62c3f8 0%, #2d91d8 48%, #1268ae 100%) !important;
}

.q275-role-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.q275-role-state {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 2px solid rgba(255, 255, 255, .96);
  border-radius: 6px;
  background: rgba(255, 255, 255, .92);
  color: #df7900;
  font-size: .95rem;
  font-weight: 1000;
  line-height: 1;
  text-shadow: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .22);
}

.q272-role-choice.is-active .q275-role-state {
  color: #0962a6;
  background: #f4fbff;
  width: 24px;
  height: 24px;
  border-width: 2.5px;
  font-size: 1.08rem;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .24), 0 2px 5px rgba(0, 0, 0, .28);
}

@media (max-width: 980px) {
  #v169InvestmentBlock.v187-ready .v180-tile.v187-ek-tile.q270-ek-tile .q274-ek-formula {
    width: 150px !important;
    height: 63px !important;
  }

  /*
   * Mobile Wohnungsauswahl:
   * Der 2D-Plan bleibt horizontal beweglich, vertikale Fingerzüge scrollen
   * die Seite und die ETW-Marker sind groß genug zum sicheren Antippen.
   */
  #theqPlanCanvas.plan-canvas-v72.q273-scrollable-2d {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    touch-action: pan-x pan-y !important;
    overscroll-behavior-x: contain !important;
    overscroll-behavior-y: auto !important;
    scroll-behavior: auto !important;
  }

  #theqPlanCanvas .etw-marker-v72 {
    width: 72px !important;
    min-width: 72px !important;
    min-height: 36px !important;
    padding: 5px 6px !important;
    border-radius: 11px !important;
    transform: translate(-50%, -50%) scale(1) !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
  }

  #theqPlanCanvas .etw-marker-v72:hover,
  #theqPlanCanvas .etw-marker-v72:focus,
  #theqPlanCanvas .etw-marker-v72:focus-within,
  #theqPlanCanvas .etw-marker-v72.active {
    transform: translate(-50%, -50%) scale(1.06) !important;
  }

  #theqPlanCanvas .etw-marker-v72 .line1 {
    font-size: 9px !important;
    line-height: 1.05 !important;
  }

  #theqPlanCanvas .etw-marker-v72 .line2 {
    display: block !important;
    margin-top: 2px !important;
    font-size: 7px !important;
    line-height: 1 !important;
  }

  /*
   * Auf Touchgeräten ersetzt eine feste, schließbare Detailkarte den Hover.
   * Das Kreuz liegt bewusst außerhalb der Aktionsbuttons.
   */
  #theqHoverOverlayV116 {
    padding-top: 48px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  #theqHoverOverlayV116.q275-mobile-pinned {
    display: block !important;
    pointer-events: auto !important;
  }

  #theqHoverOverlayV116 .q275-mobile-detail-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 2px solid #d6e8f8;
    border-radius: 50%;
    background: linear-gradient(180deg, #fff, #e8f2fb);
    color: #0b4f89;
    font: 1000 1.55rem/1 Arial, sans-serif;
    box-shadow: 0 5px 12px rgba(9, 49, 86, .20);
    cursor: pointer;
  }

  /* 3D-Ansicht und Lagebild bewegen sich nur vertikal mit der Seite. */
  #theq3DStage.floor3d-v91.q273-fixed-3d,
  .q270-location,
  .q270-location-stage,
  .q270-location-map {
    overflow-x: hidden !important;
    max-width: 100% !important;
    touch-action: pan-y !important;
    overscroll-behavior-x: none !important;
  }
}
