@font-face { font-family: "Libre Bodoni"; font-style: normal;
    font-weight: 400 700; font-display: swap;
    src: url(fonts/LibreBodoni-latin.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Libre Bodoni"; font-style: normal;
    font-weight: 400 700; font-display: swap;
    src: url(fonts/LibreBodoni-latin-ext.woff2) format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Libre Bodoni"; font-style: italic;
    font-weight: 400 700; font-display: swap;
    src: url(fonts/LibreBodoni-italic-latin.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Libre Bodoni"; font-style: italic;
    font-weight: 400 700; font-display: swap;
    src: url(fonts/LibreBodoni-italic-latin-ext.woff2) format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "DM Sans"; font-style: normal;
    font-weight: 300 700; font-display: swap;
    src: url(fonts/DMSans-latin.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "DM Sans"; font-style: normal;
    font-weight: 300 700; font-display: swap;
    src: url(fonts/DMSans-latin-ext.woff2) format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
/* ROHRER VERWALTUNG – Navy #021C48 / Gold #AB904F. Scoped to this form. */
:root {
  --je-bg: #FBFAF7; --je-surface: #F0F2F5; --je-surface-2: #E5EAF1;
  --je-text: #021C48; --je-text-muted: #536079;
  --je-gold: #AB904F; --je-gold-hover: #806A36; --je-gold-light: #C9B279;
  --je-border: #CBD1DB; --je-white: #FFFFFF; --je-success: #356742;
  --je-warning: #806A36; --je-danger: #A03531;
  --shadow-sm: none; --shadow-md: 0 4px 14px rgba(2,28,72,.06);
  --shadow-lg: 0 8px 28px rgba(2,28,72,.1); --radius: 3px;
}
body { font-family: 'DM Sans', sans-serif; color: var(--je-text); background: var(--je-bg); }
h1, h2, h3 { font-family: 'Libre Bodoni', Georgia, serif; font-weight: 500; letter-spacing: -.015em; }
.page-wrapper { max-width: 860px; padding: 0 24px; }
a, .footer a { color: #021C48; text-decoration: underline; text-underline-offset: 3px; }
a:hover, .footer a:hover { color: #62502A; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible {
  outline: 3px solid #021C48; outline-offset: 4px;
}
.brand-masthead { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 30px 0; }
.brand-logo { display: block; width: 230px; height: auto; max-width: 100%; }
.brand-home { font-size: .8rem; text-decoration: none; white-space: nowrap; }
.brand-home span { color: #806A36; margin-left: .35rem; }
.header.form-intro { background: #021C48; padding: 32px 36px; margin-bottom: 28px; text-align: left; border-bottom: 3px solid #AB904F; }
.header.form-intro h1 { color: #fff; font-size: clamp(2.2rem, 6vw, 3rem); line-height: 1.15; margin: 12px 0 0; }
.header.form-intro p { color: #E0E5ED; font-size: .95rem; max-width: 55ch; }
.header.form-intro .brand-eyebrow { color: #D6C391; text-transform: uppercase; letter-spacing: .16em; font-size: .65rem; font-weight: 600; }
.header.form-intro .gold-line { margin: 20px 0; width: 44px; height: 1px; }
.header.form-intro .garage-intro { margin-top: .75rem; font-size: .85rem; }
.card, .content { padding: 28px; border-color: #D8DCE3; box-shadow: none; }
.card-title { font-size: 1.45rem; gap: .7rem; }
.card-title i { color: #806A36; }
.property-card { border-width: 1px; padding: 18px; transition: border-color 180ms ease, background 180ms ease; }
.property-card:hover { border-color: #021C48; box-shadow: none; }
.property-card.selected { border-color: #021C48; background: #EFF3F9; box-shadow: inset 0 0 0 1px #021C48; }
.property-card .name { font-family: 'DM Sans', sans-serif; font-size: .98rem; font-weight: 600; padding-right: 14px; }
.property-card .address { font-size: .8rem; }
.property-card .type-badge { font-size: .65rem; background: #E9EDF3; color: #41506A; }
.property-card .check-icon, .property-card .distance { color: #021C48; }
.property-card .nearest-badge { background: #021C48; }
.garage-plan-hint { display: none; color: #62502A; font-size: .75rem; font-weight: 600; margin: .35rem 0; }
.property-grid[data-interest="garage"] .garage-plan-hint { display: block; }
.interest-pills { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: .5rem; }
.interest-pill { min-height: 46px; border-radius: 3px; font: 500 .8rem/1.3 'DM Sans', sans-serif; color: #021C48; padding: .7rem .5rem; }
.interest-pill.active, .type-toggle input:checked + label, .btn-submit { background: #021C48; color: #fff; border-color: #021C48; }
.interest-pill:hover { border-color: #021C48; }
.btn-submit { min-height: 54px; font-weight: 600; }
.btn-submit:hover { background: #16305C; }
.btn-submit:disabled { opacity: .65; }
input:focus, select:focus, textarea:focus { border-color: #021C48; box-shadow: 0 0 0 3px rgba(2,28,72,.13); }
input::placeholder { color: #637087; opacity: 1; }
.checkbox-wrap input[type="checkbox"] { accent-color: #021C48; }
.geo-hint { color: #41506A; }
.geo-hint i { color: #021C48; }
.privacy-card { background: #F5F6F8; }
.type-toggle { position: relative; }
.type-toggle input { display: block; position: absolute; width: 1px; height: 1px; opacity: 0; padding: 0; }
.type-toggle input:focus-visible + label { outline: 3px solid #AB904F; outline-offset: -4px; }
.footer { border-top: 1px solid #D8DCE3; margin-top: 30px; padding: 25px 0 35px; overflow-wrap: anywhere; }
.content h2 { font-size: 1.5rem; }
.content table { display: block; overflow-x: auto; }
@media (max-width: 760px) {
  .interest-pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .page-wrapper { padding: 0 16px; }
  .brand-masthead { padding: 22px 0; gap: 12px; }
  .brand-logo { width: 185px; }
  .brand-home { font-size: .7rem; white-space: normal; text-align: right; }
  .header.form-intro { padding: 26px 22px; margin-bottom: 20px; }
  .card, .content { padding: 20px; }
  .interest-pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

.property-grid[data-interest="garage"] .property-card[data-id="6"],
.property-grid[data-interest="garage"] .property-card[data-id="7"] { order: -1; }
/* Current offers: apartments only; garages use their own native link. */
.interest-pill.garage-category-link { display: flex; align-items: center; justify-content: center; gap: .35rem; text-align: center; text-decoration: none; background: #edf3fa; white-space: normal; }
.interest-pill.garage-category-link:hover { background: #e1ecf9; color: #021c48; }
.interest-pill.garage-category-link:focus-visible { outline: 3px solid #245daf; outline-offset: 3px; }
.garage-category-label { min-width: 0; overflow-wrap: anywhere; }
.garage-category-link > i, .garage-category-link > span[aria-hidden] { flex: 0 0 auto; }
.offer-notice { padding: 22px; margin-top: 20px; border: 1px solid #cbd1db; background: #f0f2f5; color: #41506a; font-size: .95rem; line-height: 1.6; }
.offer-notice p { margin: 0; }
.offer-notice a { display: inline-block; margin-top: 12px; font-weight: 600; }
.prospect-details { border: 0; padding: 0; margin: 0; min-width: 0; }
.prospect-details > legend { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#offerNotice[hidden], #prospectDetails[hidden], #propertyGrid[hidden], #geoHint[hidden], #garageLegacyLink[hidden] { display: none !important; }
