.immo-bridge-page {
  width: min(100% - 40px, 1280px);
  margin: clamp(24px, 4vw, 64px) auto 96px;
}
.immo-bridge-object {
  --immo-ink: #172536;
  --immo-muted: #617082;
  --immo-accent: #a51436;
  --immo-button: #a51436;
  --immo-button-text: #fff;
  --immo-decor: #f7e9ee;
  --immo-decor-text: #172536;
  --immo-line: #e4e8eb;
  --immo-soft: #f6f7f8;
  color: var(--immo-ink);
  font-size: 16px;
  line-height: 1.6;
}
.immo-bridge-object * { box-sizing: border-box; }
.immo-bridge-object h1,
.immo-bridge-object h2 { color: var(--immo-ink); }
.immo-bridge-object :focus-visible,
.immo-bridge-search :focus-visible,
.immo-bridge-request :focus-visible,
.immo-bridge-revocation :focus-visible { outline: 3px solid #e9a83b; outline-offset: 3px; }
.immo-bridge-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 36px;
  align-items: end;
  margin-bottom: 30px;
}
.immo-bridge-kicker {
  margin: 0 0 12px;
  color: var(--immo-accent, #b80e2d);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.immo-bridge-intro h1 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(29px, 3.4vw, 50px);
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.14;
}
.immo-bridge-summary {
  max-width: 800px;
  margin: 16px 0 0;
  color: var(--immo-muted);
  font-size: clamp(16px, 1.4vw, 19px);
}
.immo-bridge-object-id { margin: 13px 0 0; color: var(--immo-muted); font-size: 13px; }
.immo-bridge-price {
  display: grid;
  gap: 3px;
  min-width: 220px;
  padding: 20px 24px;
  border: 1px solid var(--immo-line);
  border-top: 4px solid var(--immo-accent);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgb(23 37 54 / 6%);
}
.immo-bridge-price span,
.immo-bridge-price small { color: var(--immo-muted); font-size: 13px; }
.immo-bridge-price strong { font-size: clamp(25px, 2.4vw, 35px); line-height: 1.2; white-space: nowrap; }
.immo-bridge-price small { margin-top: 7px; overflow-wrap: anywhere; }
.immo-bridge-gallery { margin: 0; }
.immo-bridge-gallery__mosaic {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 10px;
  height: clamp(360px, 42vw, 590px);
  overflow: hidden;
  border-radius: 12px;
  background: #e8e9e8;
}
.immo-bridge-gallery__mosaic--1 { grid-template-columns: 1fr; }
.immo-bridge-gallery__mosaic--2 { grid-template-rows: 1fr; }
.immo-bridge-gallery__item {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #e8e9e8 !important;
  cursor: zoom-in;
}
.immo-bridge-gallery__item:first-child { grid-row: 1 / -1; }
.immo-bridge-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.immo-bridge-gallery__item:hover img { transform: scale(1.035); }
.immo-bridge-gallery__count {
  position: absolute;
  right: 16px;
  bottom: 16px;
  padding: 10px 15px;
  border-radius: 5px;
  background: rgb(23 37 54 / 92%);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.immo-bridge-highlights {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1px;
  margin: 16px 0 54px;
  overflow: hidden;
  border: 1px solid var(--immo-line);
  border-radius: 9px;
  background: var(--immo-line);
}
.immo-bridge-highlights > div { display: grid; gap: 4px; padding: 20px 24px; background: #fff; }
.immo-bridge-highlights span { color: var(--immo-muted); font-size: 13px; }
.immo-bridge-highlights strong { color: var(--immo-ink); font-size: clamp(19px, 2vw, 26px); line-height: 1.2; }
.immo-bridge-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr); gap: clamp(30px, 5vw, 76px); align-items: start; }
.immo-bridge-section { margin: 0 0 52px; }
.immo-bridge-section h2 {
  margin: 0 0 22px;
  padding: 0 0 15px;
  border-bottom: 1px solid var(--immo-line);
  font-size: clamp(23px, 2.2vw, 30px);
  font-weight: 750;
  letter-spacing: -.025em;
  line-height: 1.25;
}
.immo-bridge-section p { margin: 0 0 16px; line-height: 1.75; }
.immo-bridge-section p:last-child { margin-bottom: 0; }
.immo-bridge-description { font-size: 16px; }
.immo-bridge-description a,
.immo-bridge-contact a { color: var(--immo-accent); text-decoration: underline; text-underline-offset: 3px; }
.immo-bridge-object :is(.immo-bridge-main, .immo-bridge-full-details) > .immo-bridge-copy {
  margin-bottom: 24px;
  overflow: hidden;
  border: 1px solid #e3e7eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgb(23 37 54 / 5%);
}
.immo-bridge-object :is(.immo-bridge-main, .immo-bridge-full-details) > .immo-bridge-copy h2 {
  position: relative;
  margin: 0;
  padding: 22px 27px 22px 34px;
  border-bottom: 1px solid #e7eaed;
  background: #f7f8f9;
  font-size: clamp(21px, 2vw, 26px);
}
.immo-bridge-object :is(.immo-bridge-main, .immo-bridge-full-details) > .immo-bridge-copy h2::before {
  position: absolute;
  top: 23px;
  bottom: 23px;
  left: 18px;
  width: 4px;
  border-radius: 4px;
  background: var(--immo-accent);
  content: '';
}
.immo-bridge-copy__body { padding: 27px 30px 31px; color: #334153; }
.immo-bridge-copy__body p { margin: 0 0 18px; line-height: 1.78; }
.immo-bridge-copy__body :is(h3, h4) { margin: 28px 0 11px; color: var(--immo-ink); line-height: 1.3; }
.immo-bridge-copy__body :is(ul, ol) { margin: 12px 0 20px; padding-left: 1.35em; }
.immo-bridge-copy__body li { margin-bottom: 9px; padding-left: 3px; line-height: 1.65; }
.immo-bridge-copy__body li::marker { color: var(--immo-accent); }
.immo-bridge-copy--location h2 { background: #f4f6f7 !important; }
.immo-bridge-copy--equipment h2 { background: #fbf8f7 !important; }
.immo-bridge-full-details { margin-top: 18px; }
.immo-bridge-panel {
  margin-bottom: 20px;
  padding: 25px 27px;
  border: 1px solid var(--immo-line);
  border-radius: 9px;
  background: #fff;
}
.immo-bridge-panel h2 { margin-bottom: 19px; padding-bottom: 15px; font-size: 21px; }
.immo-bridge-facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 14px; margin: 0; }
.immo-bridge-facts dt,
.immo-bridge-facts dd { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--immo-line); font-size: 14px; line-height: 1.45; }
.immo-bridge-facts dt { color: var(--immo-muted); }
.immo-bridge-facts dd { text-align: right; font-weight: 700; overflow-wrap: anywhere; }
.immo-bridge-facts dt:nth-last-of-type(1),
.immo-bridge-facts dd:last-child { border-bottom: 0; }
.immo-bridge-contact { border-top: 4px solid var(--immo-accent); background: var(--immo-soft); background: color-mix(in srgb, var(--immo-decor) 18%, #fff); }
.immo-bridge-contact p { margin-bottom: 9px; overflow-wrap: anywhere; }
.immo-bridge-contact__identity { display: flex; align-items: center; gap: 17px; margin-bottom: 15px; }
.immo-bridge-contact .immo-bridge-contact__name { margin: 0; font-size: 19px; line-height: 1.3; }
.immo-bridge-contact__photo { display: block; flex: 0 0 86px; width: 86px; height: 86px; border: 3px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 5px 18px rgb(23 37 54 / 14%); }
.immo-bridge-inquiry { min-width: 0; }
.immo-bridge-request,
.immo-bridge-revocation,
.immo-bridge-search {
  max-width: 760px;
  margin: 1.5rem 0;
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid var(--immo-line, #d9e0e5);
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 12px 30px rgb(14 31 45 / 5%);
}
.immo-bridge-request input:not([type="checkbox"]),
.immo-bridge-revocation input:not([type="checkbox"]),
.immo-bridge-search input {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-top: 5px;
  padding: 11px 13px;
  border: 1px solid #9baab4;
  border-radius: 6px;
  font: inherit;
}
.immo-bridge-request label,
.immo-bridge-revocation label { display: inline-block; line-height: 1.5; }
.immo-bridge-request details { border-top: 1px solid #e5e9ed; padding: 12px 0; }
.immo-bridge-request summary { cursor: pointer; font-weight: 700; }
.immo-bridge-request pre { font: inherit; overflow-wrap: anywhere; }
.immo-bridge-request button,
.immo-bridge-revocation button,
.immo-bridge-search button {
  padding: 12px 18px;
  border: 0;
  border-radius: 6px;
  background: var(--immo-button, #a51436);
  color: var(--immo-button-text, #fff);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.immo-bridge-request button:hover,
.immo-bridge-revocation button:hover,
.immo-bridge-search button:hover { filter: brightness(.92); }
.immo-bridge-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1rem; }
.immo-bridge-list article { padding: 1.25rem; border: 1px solid #d9e0e5; border-radius: 9px; background: #fff; }
.immo-bridge-list article img { display: block; width: 100%; height: 190px; object-fit: cover; border-radius: 5px; margin-bottom: 1rem; }
.immo-bridge-list h3 { margin: 0 0 .6rem; font-size: 1.15rem; }
.immo-bridge-tour { margin: 0 0 54px; }
.immo-bridge-tour__placeholder { display: grid; place-items: center; min-height: 360px; padding: 2rem; border-radius: 12px; background: linear-gradient(145deg, #172536, #37465a); color: #fff; text-align: center; }
.immo-bridge-tour__placeholder > div { max-width: 580px; }
.immo-bridge-tour__placeholder h2 { margin: .5rem 0 1rem; color: #fff; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.immo-bridge-tour__placeholder p { line-height: 1.6; }
.immo-bridge-tour__placeholder a { color: #fff; text-underline-offset: .2em; }
.immo-bridge-tour__start { margin: 1rem 0 .3rem; padding: .85rem 1.5rem; border: 0; border-radius: 6px; background: var(--immo-button, #a51436); color: var(--immo-button-text, #fff); font: inherit; font-weight: 800; cursor: pointer; }
.immo-bridge-tour__start:hover { filter: brightness(.92); }
.immo-bridge-tour iframe { display: block; width: 100%; height: min(70vh, 720px); min-height: 440px; border: 0; border-radius: 12px; background: #172536; }
.immo-bridge-lightbox { width: min(96vw, 1400px); max-width: none; max-height: 96vh; padding: 16px; border: 0; border-radius: 9px; background: #101925; color: #fff; }
.immo-bridge-lightbox::backdrop { background: rgb(6 13 23 / 88%); }
.immo-bridge-lightbox__toolbar { display: flex; justify-content: space-between; align-items: center; min-height: 42px; font-weight: 700; }
.immo-bridge-lightbox button { border: 0 !important; background: transparent !important; color: #fff; font: inherit; cursor: pointer; }
.immo-bridge-lightbox__close { font-size: 32px !important; line-height: 1; }
.immo-bridge-lightbox__stage { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 6px; }
.immo-bridge-lightbox__stage img { display: block; width: 100%; height: min(75vh, 880px); object-fit: contain; }
.immo-bridge-lightbox__previous,
.immo-bridge-lightbox__next { font-size: 44px !important; line-height: 1; }
.immo-bridge-lightbox__caption { margin: 10px 0 2px; text-align: center; }
.immo-bridge-bottom {
  margin: clamp(32px, 5vw, 72px) 0 0;
  padding: clamp(22px, 3.8vw, 48px);
  border-radius: 16px;
  background: #f3f5f6;
  background: color-mix(in srgb, var(--immo-decor) 15%, #f3f5f6);
}
.immo-bridge-bottom__intro { margin: 0 0 27px; }
.immo-bridge-bottom__intro h2 { margin: 0 0 4px; font-size: clamp(25px, 2.7vw, 36px); line-height: 1.2; letter-spacing: -.025em; }
.immo-bridge-bottom__intro p:last-child { margin: 0; color: var(--immo-muted); }
.immo-bridge-bottom__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(20px, 3vw, 36px); align-items: start; }
.immo-bridge-bottom__grid--single { grid-template-columns: 1fr; }
.immo-bridge-bottom__map { position: sticky; top: 24px; }
.immo-bridge-bottom__card,
.immo-bridge-bottom .immo-bridge-request {
  margin: 0;
  max-width: none;
  padding: clamp(22px, 2.5vw, 34px);
  border: 1px solid var(--immo-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 30px rgb(23 37 54 / 5%);
}
.immo-bridge-bottom__card h3 { margin: 0 0 20px; color: var(--immo-ink); font-size: 21px; }
.immo-bridge-map__placeholder {
  display: flex;
  min-height: 355px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px;
  border-radius: 9px;
  background: radial-gradient(circle at 48% 52%, #e7dcca 0 8%, transparent 9%), linear-gradient(135deg, transparent 0 38%, #d8e0d3 39% 44%, transparent 45%), repeating-linear-gradient(30deg, #e8eee8 0 25px, #dfe9df 26px 27px, #e8eee8 28px 50px);
  text-align: center;
}
.immo-bridge-map__pin { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 15px; border-radius: 50%; background: var(--immo-button); color: var(--immo-button-text); font-size: 37px; line-height: 1; box-shadow: 0 9px 20px rgb(23 37 54 / 20%); }
.immo-bridge-map__placeholder h3 { margin: 0 0 8px; font-size: 20px; }
.immo-bridge-map__placeholder p { max-width: 340px; margin: 0 0 17px; font-size: 14px; line-height: 1.55; }
.immo-bridge-map__load { padding: 12px 22px; border: 0 !important; border-radius: 6px; background: var(--immo-button) !important; color: var(--immo-button-text) !important; font: inherit; font-weight: 700; cursor: pointer; }
.immo-bridge-map__privacy { margin: 16px 0 0 !important; font-size: 12px !important; }
.immo-bridge-map__privacy a { color: var(--immo-ink); text-decoration: underline; }
.immo-bridge-map iframe { display: block; width: 100%; height: 355px; border: 0; border-radius: 9px; }
.immo-bridge-map__note { margin: 12px 0 0; color: var(--immo-muted); font-size: 13px; }
.immo-bridge-request__heading { margin-bottom: 24px; }
.immo-bridge-request__heading .immo-bridge-kicker { margin-bottom: 7px; }
.immo-bridge-request__heading h3 { margin: 0 0 7px; color: var(--immo-ink); font-size: clamp(22px, 2vw, 28px); line-height: 1.2; }
.immo-bridge-request__heading p:last-child { margin: 0; color: var(--immo-muted); font-size: 14px; }
.immo-bridge-request__notice { padding: 13px 15px; border-left: 3px solid var(--immo-accent); border-radius: 4px; background: #fff4f4; color: var(--immo-ink); font-size: 14px; }
.immo-bridge-request__commission { padding: 12px 15px; border-radius: 6px; background: var(--immo-soft); }
.immo-bridge-request__commission strong { display: block; color: var(--immo-ink); font-size: 18px; }
.immo-bridge-request__links { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.immo-bridge-request__links a { display: inline-flex; align-items: center; min-height: 38px; padding: 7px 12px; border: 1px solid var(--immo-line); border-radius: 6px; background: var(--immo-soft); color: var(--immo-accent); font-size: 13px; font-weight: 700; text-decoration: none; }
.immo-bridge-request__links a:hover { border-color: var(--immo-accent); background: #fff; }
.immo-bridge-request__document { padding: 12px 0; border-top: 1px solid var(--immo-line); }
.immo-bridge-request__document summary { cursor: pointer; font-weight: 700; }
.immo-bridge-request__document pre { max-height: 320px; overflow: auto; font: inherit; font-size: 13px; white-space: pre-wrap; }
.immo-bridge-request__broker { font-size: 13px; }
.immo-bridge-request__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.immo-bridge-request__fields label { display: block; min-width: 0; color: var(--immo-ink); font-size: 13px; font-weight: 700; }
.immo-bridge-request__wide { grid-column: 1 / -1; }
.immo-bridge-request__fields input,
.immo-bridge-request__fields select,
.immo-bridge-request__fields textarea {
  display: block;
  width: 100%;
  max-width: none;
  min-height: 44px;
  margin: 6px 0 0;
  padding: 10px 12px;
  border: 1px solid #bdc8d1;
  border-radius: 6px;
  background: #fff;
  color: var(--immo-ink);
  font: inherit;
  font-size: 15px;
  font-weight: 400;
}
.immo-bridge-request__fields textarea { min-height: 118px; resize: vertical; }
.immo-bridge-request__honeypot { position: absolute; left: -9999px; }
.immo-bridge-request__checks { display: grid; gap: 13px; margin-top: 25px; padding-top: 22px; border-top: 1px solid var(--immo-line); }
.immo-bridge-request__checks label { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.5; }
.immo-bridge-request__checks input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--immo-accent); }
.immo-bridge-request__checks em { color: var(--immo-accent); font-style: normal; }
.immo-bridge-request__checks a,
.immo-bridge-request__revoke a { color: var(--immo-accent); text-decoration: underline; }
.immo-bridge-request__required { margin: 15px 0 5px; color: var(--immo-muted); font-size: 12px; }
.immo-bridge-request__revoke { margin: 5px 0 14px; font-size: 13px; }
.immo-bridge-request button[type="submit"] { width: 100%; margin-top: 13px; padding: 15px 20px; border: 0 !important; background: var(--immo-accent) !important; color: #fff !important; }
.immo-bridge-request button[type="submit"]:disabled { opacity: .55; cursor: not-allowed; }
.immo-bridge-request,
.immo-bridge-revocation {
  --immo-accent: #a51436;
  --immo-button: #a51436;
  --immo-button-text: #fff;
  --immo-decor: #f7e9ee;
  position: relative;
  overflow: hidden;
  border: 1px solid #e2e6e9;
  border-radius: 16px;
  box-shadow: 0 22px 60px rgb(23 37 54 / 8%);
}
.immo-bridge-request::before,
.immo-bridge-revocation::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: var(--immo-accent); }
.immo-bridge-request__heading { padding-bottom: 19px; border-bottom: 1px solid #e9edf0; }
.immo-bridge-request__heading h3,
.immo-bridge-revocation h2 { letter-spacing: -.025em; }
.immo-bridge-request__notice,
.immo-bridge-request__commission { border-radius: 9px; background: var(--immo-decor); color: var(--immo-decor-text); }
.immo-bridge-request__commission strong { color: var(--immo-decor-text); }
.immo-bridge-request__commission { border-left: 3px solid var(--immo-accent); }
.immo-bridge-request__links a { background: #fff; border-radius: 999px; }
.immo-bridge-request__document { margin: 8px 0; padding: 13px 16px; border: 1px solid #e5e9ed; border-radius: 8px; background: #fbfcfd; }
.immo-bridge-request__document summary { color: var(--immo-accent); }
.immo-bridge-request__broker { padding: 16px 18px; border-radius: 8px; background: var(--immo-decor); color: var(--immo-decor-text); }
.immo-bridge-request__fields { gap: 18px; }
.immo-bridge-request__fields input,
.immo-bridge-request__fields select,
.immo-bridge-request__fields textarea,
.immo-bridge-revocation input:not([type="checkbox"]) { border-color: #cbd4db; border-radius: 8px; background: #fbfcfd; }
.immo-bridge-request__fields input:focus,
.immo-bridge-request__fields select:focus,
.immo-bridge-request__fields textarea:focus,
.immo-bridge-revocation input:focus { outline: 2px solid var(--immo-accent); outline-offset: 1px; background: #fff; }
.immo-bridge-request__checks { padding: 22px; border: 1px solid #e5e9ed; border-radius: 10px; background: #fbfcfd; }
.immo-bridge-request__checks label + label { padding-top: 12px; border-top: 1px solid #e9edf0; }
.immo-bridge-request button[type="submit"],
.immo-bridge-revocation button[type="submit"] { min-height: 52px; padding: 14px 22px; border-radius: 8px; background: var(--immo-button) !important; color: var(--immo-button-text) !important; box-shadow: 0 9px 20px rgb(23 37 54 / 14%); transition: transform .15s ease, box-shadow .15s ease; }
.immo-bridge-request button[type="submit"]:hover,
.immo-bridge-revocation button[type="submit"]:hover { transform: translateY(-1px); box-shadow: 0 13px 26px rgb(23 37 54 / 19%); }
.immo-bridge-revocation { max-width: 780px; margin-inline: auto; }
.immo-bridge-revocation label { display: block; font-weight: 700; }
.immo-bridge-revocation form { display: grid; gap: 12px; }
.immo-bridge-revocation form p { margin: 0; }
@media (max-width: 900px) {
  .immo-bridge-layout { grid-template-columns: 1fr; gap: 0; }
  .immo-bridge-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .immo-bridge-sidebar .immo-bridge-panel { margin: 0; }
  .immo-bridge-bottom__grid { grid-template-columns: 1fr; }
  .immo-bridge-bottom__map { position: static; }
}
@media (max-width: 680px) {
  .immo-bridge-page { width: min(100% - 28px, 1280px); margin-top: 28px; }
  .immo-bridge-intro { grid-template-columns: 1fr; gap: 18px; }
  .immo-bridge-price { width: fit-content; min-width: 200px; }
  .immo-bridge-gallery__mosaic { height: 330px; grid-template-columns: 1fr 1fr; gap: 5px; }
  .immo-bridge-gallery__item:first-child { grid-column: 1 / -1; grid-row: 1; }
  .immo-bridge-gallery__count { right: 8px; bottom: 8px; padding: 7px 9px; font-size: 12px; }
  .immo-bridge-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 36px; }
  .immo-bridge-highlights > div { padding: 15px; }
  .immo-bridge-sidebar { grid-template-columns: 1fr; }
  .immo-bridge-panel { padding: 22px; }
  .immo-bridge-object :is(.immo-bridge-main, .immo-bridge-full-details) > .immo-bridge-copy h2 { padding: 19px 20px 19px 31px; }
  .immo-bridge-object :is(.immo-bridge-main, .immo-bridge-full-details) > .immo-bridge-copy h2::before { left: 16px; top: 19px; bottom: 19px; }
  .immo-bridge-copy__body { padding: 22px; }
  .immo-bridge-lightbox { width: 100vw; height: 100vh; max-height: none; border-radius: 0; }
  .immo-bridge-lightbox__stage { grid-template-columns: 32px minmax(0, 1fr) 32px; gap: 0; }
  .immo-bridge-lightbox__stage img { height: 75vh; }
  .immo-bridge-bottom { padding: 18px; }
  .immo-bridge-request__fields { grid-template-columns: 1fr; }
  .immo-bridge-request__fields > span[aria-hidden="true"] { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .immo-bridge-gallery__item img { transition: none; }
}

/* Immobilienübersicht und Kategorienavigation */
.immo-bridge-archive-page { width: min(100% - 40px, 1280px); margin: 48px auto 90px; }
.immo-bridge-archive { --immo-accent: #a51436; --immo-button: #a51436; --immo-button-text: #fff; --immo-decor: #f7e9ee; color: #17212c; font-family: inherit; }
.immo-bridge-archive *, .immo-bridge-archive *::before, .immo-bridge-archive *::after { box-sizing: border-box; }
.immo-bridge-archive__heading { margin: 0 0 32px; }
.immo-bridge-archive__eyebrow { margin: 0 0 8px; color: var(--immo-accent); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.immo-bridge-archive__heading h1 { margin: 0 0 10px; color: #152332; font-size: clamp(2rem, 4vw, 3.35rem); font-weight: 750; line-height: 1.1; }
.immo-bridge-archive__heading > p:last-child { margin: 0; color: #66727d; font-size: 1.05rem; }
.immo-bridge-archive .immo-bridge-search { display: grid; grid-template-columns: minmax(170px, 1.25fr) repeat(3, minmax(140px, 1fr)) auto; gap: 16px; align-items: end; max-width: none; margin: 0 0 30px; padding: 24px; border: 1px solid #dfe5e9; border-radius: 14px; background: #f6f8f9; background: color-mix(in srgb, var(--immo-decor) 18%, #f6f8f9); box-shadow: 0 9px 30px rgb(19 33 48 / 4%); }
.immo-bridge-search__intro { display: flex; flex-direction: column; gap: 3px; align-self: center; }
.immo-bridge-search__intro strong { font-size: 1.04rem; color: #17212c; }
.immo-bridge-search__intro span { color: #66727d; font-size: .84rem; }
.immo-bridge-search label { display: flex; flex-direction: column; gap: 7px; color: #3c4955; font-size: .82rem; font-weight: 700; }
.immo-bridge-search input, .immo-bridge-search select { width: 100%; height: 44px; margin-top: 0; padding: 0 12px; border: 1px solid #cfd8df; border-radius: 7px; background: #fff; color: #17212c; font: inherit; font-size: .94rem; font-weight: 400; }
.immo-bridge-search button { min-height: 44px; white-space: nowrap; }
.immo-bridge-archive__toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 0 0 22px; padding: 0 0 16px; border-bottom: 1px solid #dce3e8; font-size: .92rem; color: #61707b; }
.immo-bridge-archive__sort { display: flex; align-items: center; gap: 8px; }
.immo-bridge-archive__sort label { white-space: nowrap; }
.immo-bridge-archive__sort select { min-height: 38px; padding: 5px 10px; border: 1px solid #d6dee4; border-radius: 7px; background: #fff; color: #243341; font: inherit; }
.immo-bridge-archive .immo-bridge-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; align-items: stretch; }
.immo-bridge-archive .immo-bridge-list article { padding: 0; overflow: hidden; border: 1px solid #e1e6ea; border-radius: 13px; background: #fff; box-shadow: 0 6px 25px rgb(20 33 48 / 7%); transition: transform .2s ease, box-shadow .2s ease; }
.immo-bridge-archive .immo-bridge-list article:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgb(20 33 48 / 13%); }
.immo-bridge-card__media { position: relative; display: block; height: 248px; overflow: hidden; background: #d9e1e5; }
.immo-bridge-archive .immo-bridge-list article img { width: 100%; height: 100%; margin: 0; border-radius: 0; object-fit: cover; transition: transform .35s ease; }
.immo-bridge-card:hover .immo-bridge-card__media img { transform: scale(1.035); }
.immo-bridge-card__placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: #6a7985; font-weight: 800; letter-spacing: .08em; background: linear-gradient(135deg, #e9eff2, #cbd7dd); }
.immo-bridge-card__badge { position: absolute; top: 16px; left: 16px; padding: 8px 13px; border-radius: 5px; background: var(--immo-button); color: var(--immo-button-text); font-size: .73rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 3px 12px rgb(0 0 0 / 15%); }
.immo-bridge-card__badge--verkauft, .immo-bridge-card__badge--vermietet { background: #263846; }
.immo-bridge-card__badge--reserviert { background: #a8680e; }
.immo-bridge-card__body { display: flex; flex-direction: column; min-height: 296px; padding: 23px 24px 22px; }
.immo-bridge-card__category { margin: 0 0 7px; color: var(--immo-accent); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.immo-bridge-archive .immo-bridge-list h2 { margin: 0 0 9px; color: #182734; font-size: clamp(1.13rem, 1.45vw, 1.35rem); line-height: 1.32; font-weight: 700; }
.immo-bridge-card h2 a { color: inherit; text-decoration: none; }
.immo-bridge-card h2 a:hover { color: var(--immo-accent); }
.immo-bridge-card__place { margin: 0 0 16px; color: #65717c; font-size: .9rem; }
.immo-bridge-card__facts { display: flex; flex-wrap: wrap; gap: 9px 17px; margin: 0 0 19px; }
.immo-bridge-card__facts div { display: flex; gap: 5px; color: #44515c; font-size: .83rem; }
.immo-bridge-card__facts dt { font-weight: 400; }
.immo-bridge-card__facts dd { margin: 0; font-weight: 700; }
.immo-bridge-card__footer { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 17px; border-top: 1px solid #edf0f2; }
.immo-bridge-card__price { display: flex; flex-direction: column; gap: 1px; }
.immo-bridge-card__price small { color: #7c8791; font-size: .74rem; }
.immo-bridge-card__price strong { color: #17212c; font-size: 1.14rem; white-space: nowrap; }
.immo-bridge-card__link { margin-left: auto; color: var(--immo-accent); font-size: .84rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.immo-bridge-card__link:hover { text-decoration: underline; }
.immo-bridge-archive__empty { grid-column: 1 / -1; padding: 55px 24px; border: 1px solid #e1e6ea; border-radius: 12px; background: #f8fafb; color: #5a6874; text-align: center; }
.immo-bridge-archive__pages { margin: 32px 0 0; }
.immo-bridge-archive__pages ul { display: flex; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.immo-bridge-archive__pages a, .immo-bridge-archive__pages span { display: grid; place-items: center; min-width: 39px; height: 39px; padding: 0 10px; border: 1px solid #dce3e8; border-radius: 6px; color: #283946; text-decoration: none; }
.immo-bridge-archive__pages .current { border-color: var(--immo-button); background: var(--immo-button); color: var(--immo-button-text); }
@media (max-width: 1050px) { .immo-bridge-archive .immo-bridge-search { grid-template-columns: repeat(2, minmax(0, 1fr)); } .immo-bridge-search__intro { grid-column: 1 / -1; } .immo-bridge-search button { align-self: end; } .immo-bridge-archive .immo-bridge-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .immo-bridge-archive-page { width: min(100% - 28px, 1280px); margin: 24px auto 60px; } .immo-bridge-archive__heading { margin-bottom: 24px; } .immo-bridge-archive .immo-bridge-search { grid-template-columns: 1fr; padding: 18px; } .immo-bridge-search__intro { grid-column: auto; } .immo-bridge-archive__toolbar { align-items: flex-start; flex-direction: column; gap: 10px; } .immo-bridge-archive .immo-bridge-list { grid-template-columns: 1fr; gap: 20px; } .immo-bridge-card__media { height: 235px; } .immo-bridge-card__body { min-height: 0; } }

/* Weiterführende Social-Media-Links aus OpenImmo-Freitext */
.immo-bridge-social { display: flex; align-items: center; gap: 18px; margin: 12px 0 26px; padding: 18px 20px; border: 1px solid #dfe5e9; border-left: 4px solid var(--immo-accent, #b80e2d); border-radius: 9px; background: #f7f9fa; }
.immo-bridge-social__mark { display: grid; flex: 0 0 40px; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--immo-accent, #b80e2d); font-size: 22px; font-weight: 700; }
.immo-bridge-social__copy { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0; }
.immo-bridge-social__network { color: var(--immo-accent, #b80e2d); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.immo-bridge-social__copy strong { color: #243341; font-size: .97rem; line-height: 1.35; }
.immo-bridge-social a { display: inline-flex; justify-content: center; align-items: center; gap: 7px; min-height: 42px; padding: 9px 13px; border-radius: 6px; background: var(--immo-button, #a51436); color: var(--immo-button-text, #fff) !important; font-size: .86rem; font-weight: 700; line-height: 1.3; text-decoration: none; white-space: nowrap; }
.immo-bridge-social a:hover { filter: brightness(.92); }
@media (max-width: 680px) { .immo-bridge-social { flex-wrap: wrap; gap: 12px; padding: 16px; } .immo-bridge-social__copy { flex-basis: calc(100% - 55px); } .immo-bridge-social a { width: 100%; } }
