.rim-search-box,
.rim-properties-section,
.rim-property-detail {
    --rim-navy: #10233f;
    --rim-navy-2: #17365f;
    --rim-gold: #e6b84c;
    --rim-bg: #f5f7fa;
    --rim-text: #1e293b;
    --rim-muted: #667085;
    --rim-border: #dde4ec;
    color: var(--rim-text);
    font-family: inherit;
}

.rim-property-detail {
    width: min(1180px, calc(100% - 40px));
    box-sizing: border-box;
    margin: 0 auto;
    padding: 14px 0 28px;
}

.rim-search-box *,
.rim-properties-section *,
.rim-property-detail * {
    box-sizing: border-box;
}

.rim-search-box {
    margin: 0 0 28px;
    padding: 26px;
    border: 1px solid var(--rim-border);
    border-radius: 20px;
    background:
        radial-gradient(circle at 95% 5%, rgba(230,184,76,.18), transparent 28%),
        linear-gradient(145deg, #fff, #f7f9fc);
    box-shadow: 0 15px 40px rgba(16,35,63,.08);
}

.rim-search-heading span,
.rim-properties-heading span {
    display: block;
    color: #9b741d;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.rim-search-heading h2,
.rim-properties-heading h2 {
    margin: 5px 0 20px;
    color: var(--rim-navy);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.15;
}

.rim-search-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.rim-search-field.is-wide {
    grid-column: span 2;
}

.rim-search-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--rim-navy);
    font-size: 13px;
    font-weight: 700;
}

.rim-search-field input,
.rim-search-field select {
    width: 100%;
    min-height: 48px;
    padding: 0 13px;
    border: 1px solid #cfd8e3;
    border-radius: 11px;
    background: #fff;
    color: var(--rim-text);
    box-shadow: inset 0 1px 2px rgba(16,35,63,.03);
}

.rim-search-field input:focus,
.rim-search-field select:focus {
    outline: none;
    border-color: var(--rim-gold);
    box-shadow: 0 0 0 3px rgba(230,184,76,.18);
}

.rim-search-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    padding-top: 4px;
}

.rim-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 11px;
    text-decoration: none !important;
    font-weight: 800;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.rim-button:hover,
.rim-button:focus {
    transform: translateY(-2px);
}

.rim-button-primary {
    color: #fff !important;
    background: linear-gradient(145deg, var(--rim-navy-2), var(--rim-navy));
    box-shadow: 0 8px 18px rgba(16,35,63,.20);
}

.rim-button-primary:hover,
.rim-button-primary:focus {
    box-shadow: 0 12px 24px rgba(16,35,63,.26);
}

.rim-button-secondary {
    color: var(--rim-navy) !important;
    border-color: #d6dee8;
    background: #fff;
}

.rim-properties-section {
    margin: 28px 0;
}

/* Public rent and sale directories use the exact Home search component. */
.rim-listing-archive-search {
    width: min(1180px, calc(100% - 40px));
    box-sizing: border-box;
    margin: 30px auto 24px;
}
.rim-listing-archive-search .rim-home-search { width: min(920px, 100%); margin: 0 auto; }
.rim-listing-archive-search__reset {
    display: block;
    width: min(920px, 100%);
    margin: 12px auto 0;
    color: #e5bb4f;
    text-align: right;
    font-size: 13px;
    font-weight: 700;
    text-decoration: underline;
}
.rim-directory-extras {
    grid-column: 1 / -1;
    min-width: 0;
    margin: 0 14px;
    padding: 5px 2px 11px;
    border-top: 1px solid rgba(255,255,255,.09);
}
.rim-directory-extras > summary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 0;
    color: #efd076;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}
.rim-directory-extras > summary::-webkit-details-marker { display: none; }
.rim-directory-extras > summary::after { content: '⌄'; font-size: 16px; }
.rim-directory-extras[open] > summary::after { transform: rotate(180deg); }
.rim-directory-extras > summary:focus-visible { outline: 2px solid #efd076; outline-offset: 3px; }
.rim-directory-extras__count { display: inline-grid; place-items: center; min-width: 19px; height: 19px; border-radius: 50%; color: #15222b; background: #efd076; font-size: 11px; }
.rim-directory-extras__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding-top: 9px; }
.rim-directory-extras__grid label { display: grid; gap: 5px; min-width: 0; }
.rim-directory-extras__grid label > span { color: #9fb0bf; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.rim-directory-extras__grid input,.rim-directory-extras__grid select { width: 100%; min-width: 0; height: 40px; padding: 0 11px; border: 1px solid #294151; border-radius: 10px; color: #eef5f8; background: #071f31; box-shadow: inset 0 3px 8px rgba(0,0,0,.42); font: inherit; color-scheme: dark; }
.rim-directory-extras__grid input::placeholder { color: #92a5b5; }
.rim-directory-extras__grid select option,.rim-directory-extras__grid select optgroup { color: #f4f8fc; background: #10283b; }
@media (max-width: 720px) {
    .rim-listing-archive-search { width: calc(100% - 28px); }
    .rim-directory-extras__grid { grid-template-columns: 1fr; }
}

.rim-properties-section.rim-listing-archive-results {
    width: min(1180px, calc(100% - 40px));
    max-width: none;
    margin: 0 auto 48px;
    box-sizing: border-box;
}

@media (max-width: 580px) {
    .rim-properties-section.rim-listing-archive-results { width: calc(100% - 28px); }
}

.rim-properties-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.rim-properties-heading h2 {
    margin-bottom: 0;
}

.rim-properties-heading > strong {
    padding: 8px 12px;
    border-radius: 999px;
    background: #fff4d6;
    color: #735515;
    font-size: 13px;
}

.rim-property-grid {
    display: grid;
    gap: 22px;
}

.rim-property-grid.rim-columns-1 { grid-template-columns: 1fr; }
.rim-property-grid.rim-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rim-property-grid.rim-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rim-property-grid.rim-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.rim-property-card {
    overflow: hidden;
    border: 1px solid var(--rim-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(16,35,63,.07);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.rim-property-card:hover {
    transform: translateY(-4px);
    border-color: #e5c76e;
    box-shadow: 0 18px 38px rgba(16,35,63,.13);
}

.rim-property-card.is-featured {
    border: 1px solid rgba(201, 164, 70, .72);
    border-left: 5px solid var(--rim-gold);
    box-shadow: 0 14px 34px rgba(16,35,63,.10);
}

.rim-property-image {
    position: relative;
    display: block;
    height: 225px;
    overflow: hidden;
    background: #e9eef4;
}

.rim-property-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.rim-property-card:hover .rim-property-image img {
    transform: scale(1.035);
}

.rim-property-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 220px;
    background: linear-gradient(145deg, #e9eef4, #f8fafc);
    color: #8190a3;
}

.rim-property-placeholder .dashicons {
    width: auto;
    height: auto;
    font-size: 48px;
}

.rim-property-type,
.rim-property-featured {
    position: absolute;
    top: 14px;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.rim-property-type {
    left: 14px;
    color: #fff;
    background: rgba(16,35,63,.90);
}

.rim-property-featured {
    top: 52px;
    left: 14px;
    right: auto;
    color: #241a05;
    background: var(--rim-gold);
    border-radius: 5px;
    letter-spacing: .12em;
    box-shadow: 0 7px 18px rgba(0,0,0,.18);
}

.rim-property-symbolbild {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 2;
    max-width: calc(100% - 24px);
    padding: 7px 11px;
    border-radius: 8px;
    color: #fff;
    background: rgba(9, 22, 38, .93);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.rim-property-detail-image { position: relative; }
.rim-property-viewer__disclosure { margin-left: auto; color: #fff; font-size: 12px; font-weight: 700; }

/* Existing availability state, visible on every property image and beside its price. */
.rim-property-availability {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    background: #146947;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    box-shadow: 0 6px 18px rgba(0,0,0,.24);
}
.rim-property-availability.is-reserved { background: #966313; }
.rim-property-availability.is-rented,
.rim-property-availability.is-sold { background: #445365; }
.rim-property-availability.is-inactive { background: #7b2933; }
.rim-property-availability.is-image { position: absolute; z-index: 4; right: 12px; bottom: 12px; max-width: calc(100% - 24px); }
.rim-property-card.has-illustrative-images .rim-property-availability.is-image,
.rim-property-card.has-distance .rim-property-availability.is-image,
.rim-property-detail-image.has-illustrative-images .rim-property-availability.is-image { bottom: 52px; }
.rim-property-card__price-status { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.rim-property-card__price-status .rim-property-availability { flex: none; }
.rim-property-summary > .rim-property-availability { margin: -4px 0 16px; }

.rim-property-card-body {
    padding: 20px;
}

.rim-property-price {
    color: #a47711;
    font-size: 15px;
    font-weight: 900;
}

.rim-property-card h3 {
    margin: 7px 0 10px;
    font-size: 20px;
    line-height: 1.25;
}

.rim-property-card h3 a {
    color: var(--rim-navy);
    text-decoration: none;
}

.rim-property-location {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--rim-muted);
    font-size: 14px;
}

.rim-property-location .dashicons {
    font-size: 18px;
}

.rim-property-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 16px 0;
}

.rim-property-facts span {
    padding: 7px 9px;
    border-radius: 8px;
    background: var(--rim-bg);
    color: var(--rim-muted);
    font-size: 12px;
}

.rim-card-link {
    color: var(--rim-navy);
    text-decoration: none;
    font-weight: 800;
}

.rim-card-link span {
    color: #b48721;
}

.rim-empty-state {
    padding: 34px;
    border: 1px dashed #c9d3df;
    border-radius: 16px;
    background: #f8fafc;
    text-align: center;
}

.rim-empty-state strong {
    color: var(--rim-navy);
    font-size: 18px;
}

.rim-empty-state p {
    margin: 7px 0 0;
    color: var(--rim-muted);
}

.rim-pagination ul {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.rim-pagination a,
.rim-pagination span {
    display: grid;
    place-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid var(--rim-border);
    border-radius: 9px;
    background: #fff;
    color: var(--rim-navy);
    text-decoration: none;
}

.rim-pagination .current {
    border-color: var(--rim-navy);
    background: var(--rim-navy);
    color: #fff;
}

.rim-property-detail-title {
    margin: 0 0 18px;
    color: var(--rim-navy);
    font-size: clamp(25px, 3vw, 38px);
    line-height: 1.12;
}

.rim-property-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    align-items: stretch;
    gap: 20px;
}

.rim-property-detail-image {
    overflow: hidden;
    min-width: 0;
    min-height: 0;
    max-height: 470px;
    aspect-ratio: 16 / 10;
    border-radius: 20px;
    background: #e9eef4;
}

.rim-property-detail-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}

.rim-property-summary {
    min-width: 0;
    padding: clamp(22px, 2.4vw, 34px);
    border-radius: 20px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(230,184,76,.23), transparent 32%),
        linear-gradient(145deg, var(--rim-navy-2), var(--rim-navy));
    box-shadow: 0 18px 42px rgba(16,35,63,.17);
}

.rim-property-summary-label {
    display: block;
    color: rgba(255,255,255,.65);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.rim-property-summary > strong {
    display: block;
    margin: 7px 0 17px;
    color: #fff;
    font-size: 27px;
    line-height: 1.2;
}

.rim-property-summary p {
    display: flex;
    gap: 7px;
    margin: 0 0 18px;
    color: rgba(255,255,255,.78);
}

.rim-property-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 20px;
}

.rim-property-tags span {
    padding: 6px 9px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 11px;
}

.rim-property-summary .rim-button-primary {
    width: 100%;
    color: #2c2208 !important;
    background: var(--rim-gold);
}

.rim-property-summary .rim-property-secondary-button {
    display: inline-flex;
    width: 100%;
    margin-top: 12px;
    border: 1px solid rgba(230, 184, 76, .65);
    background: #23445a;
    color: #f4d16b !important;
}
.rim-property-summary .rim-property-secondary-button:hover:not(:disabled),
.rim-property-summary .rim-property-secondary-button:focus:not(:disabled) {
    background: #e6b84c;
    color: #142b3b !important;
}
.rim-property-summary .rim-property-secondary-button:disabled {
    opacity: .72;
    cursor: not-allowed;
}

.rim-property-fact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
}

.rim-property-fact-grid > div {
    padding: 16px;
    border: 1px solid var(--rim-border);
    border-radius: 13px;
    background: #fff;
}

.rim-property-fact-grid span,
.rim-property-fact-grid strong {
    display: block;
}

.rim-property-fact-grid span {
    color: var(--rim-muted);
    font-size: 12px;
}

.rim-property-fact-grid strong {
    margin-top: 5px;
    color: var(--rim-navy);
    font-size: 17px;
}

.rim-property-description,
.rim-property-features {
    margin-top: 22px;
    padding: 25px;
    border: 1px solid var(--rim-border);
    border-radius: 18px;
    background: #fff;
}

.rim-property-description h2,
.rim-property-features h2 {
    margin-top: 0;
    color: var(--rim-navy);
}

.rim-property-features > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rim-property-features > div > span {
    padding: 9px 11px;
    border-radius: 9px;
    background: #f6f8fb;
    color: var(--rim-text);
    font-size: 13px;
}

.rim-property-features > div > span > span {
    margin-right: 5px;
    color: #1f8b5d;
    font-weight: 900;
}

@media (max-width: 1050px) {
    .rim-search-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rim-property-grid.rim-columns-3,
    .rim-property-grid.rim-columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rim-property-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .rim-property-detail-hero { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .rim-property-detail { width: min(1180px, calc(100% - 24px)); padding-top: 8px; }
    .rim-search-box { padding: 18px; border-radius: 15px; }
    .rim-search-form { grid-template-columns: 1fr; }
    .rim-search-field.is-wide { grid-column: auto; }
    .rim-search-actions { grid-column: auto; }
    .rim-search-actions .rim-button { width: 100%; }
    .rim-property-grid.rim-columns-2,
    .rim-property-grid.rim-columns-3,
    .rim-property-grid.rim-columns-4 { grid-template-columns: 1fr; }
    .rim-properties-heading { align-items: flex-start; flex-direction: column; }
    .rim-property-detail-image { max-height: 360px; }
    .rim-property-detail-image img { min-height: 0; }
    .rim-property-fact-grid { grid-template-columns: 1fr 1fr; }
}


.rim-property-image-opener { display:block;width:100%;height:100%;cursor:zoom-in; }
.rim-map-consent { margin:20px 0;padding:20px;border:1px solid rgba(230,184,76,.36);border-radius:18px;background:#11283a;color:#f4f7fb; }
.rim-map-consent strong { display:block;margin-bottom:6px;color:#fff; }
.rim-map-consent p { margin:0 0 14px;color:#cad9e4; }
.rim-property-image-opener img { display:block;width:100%;height:100%;object-fit:cover; }
.rim-property-viewer[hidden], .rim-property-viewer [hidden] { display:none!important; }
.rim-property-viewer { position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px;color:#eef4f8; }
.rim-property-viewer__backdrop { position:absolute;inset:0;background:rgba(3,9,16,.92);cursor:zoom-out; }
.rim-property-viewer__panel { position:relative;display:flex;flex-direction:column;width:min(1120px,100%);max-height:calc(100dvh - 40px);min-height:0;border:1px solid #395166;border-radius:18px;background:#101e2b;box-shadow:0 24px 80px rgba(0,0,0,.5);overflow:hidden; }
.rim-property-viewer__top { display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:8px 18px;color:#fff; }
.rim-property-viewer__close,.rim-property-viewer__arrow { display:grid;place-items:center;border:1px solid #6a8398;border-radius:50%;background:#18354e;color:#f4c550;cursor:pointer;line-height:1; }
.rim-property-viewer__close { width:40px;height:40px;font-size:30px; }
.rim-property-viewer__gallery { position:relative;display:flex;align-items:center;justify-content:center;min-height:0;flex:1;padding:0 66px 38px; }
.rim-property-viewer__gallery img { display:block;max-width:100%;max-height:calc(100dvh - 155px);width:auto;height:auto;object-fit:contain;cursor:zoom-out; }
.rim-property-viewer__arrow { position:absolute;top:50%;width:46px;height:46px;font-size:36px;transform:translateY(-50%); }
.rim-property-viewer__arrow[data-rim-gallery-prev] { left:12px; }
.rim-property-viewer__arrow[data-rim-gallery-next] { right:12px; }
.rim-property-viewer__count { position:absolute;bottom:9px;left:0;right:0;text-align:center;color:#dce8ef;font-size:13px; }
.rim-property-viewer__media { min-height:0;overflow-y:auto;padding:0 20px 20px;display:grid;gap:16px; }
.rim-property-viewer__media .rim-property-media-card { background:#172d3d;color:#eef4f8;border-color:#3a5569; }
.rim-property-viewer__media .rim-property-media-card h3 { color:#fff; }
.rim-property-viewer__media iframe,.rim-property-viewer__media video { width:100%;min-height:min(55vh,510px);background:#07121c; }
.rim-property-viewer__media a { color:#f4c550; }
body.rim-property-viewer-open { overflow:hidden; }
@media(max-width:600px) { .rim-property-viewer { padding:8px; }.rim-property-viewer__panel { max-height:calc(100dvh - 16px); }.rim-property-viewer__gallery { padding:0 40px 34px; }.rim-property-viewer__arrow { width:34px;height:34px;font-size:27px; }.rim-property-viewer__arrow[data-rim-gallery-prev] { left:4px; }.rim-property-viewer__arrow[data-rim-gallery-next] { right:4px; }.rim-property-viewer__gallery img { max-height:calc(100dvh - 115px); } }

/* v0.5.0 – Favoriten, Kontaktanfragen und Besichtigungstermine */
.rim-property-card{position:relative}
.rim-favorite-form{margin:0}
.rim-property-card>.rim-favorite-form,.rim-property-card>.rim-favorite-button{position:absolute;z-index:4;top:14px;right:14px}
.rim-favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 14px;border:1px solid #d8e0e8;border-radius:999px;color:var(--rim-navy,#10233f)!important;background:#fff;text-decoration:none!important;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(16,35,63,.14);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.rim-favorite-button:hover{transform:translateY(-1px);box-shadow:0 11px 26px rgba(16,35,63,.18)}
.rim-favorite-button.is-compact{width:42px;min-width:42px;padding:0;border-radius:50%}
.rim-favorite-button.is-active{color:#fff!important;border-color:#c83f4a;background:#c83f4a}
.rim-favorite-button .dashicons{width:19px;height:19px;font-size:19px}
.rim-home-listings .rim-favorite-button{color:#bf2f48!important;background:#fff!important;border-color:rgba(191,47,72,.45)!important}
.rim-home-listings .rim-favorite-button .dashicons{color:#bf2f48!important}
.rim-home-listings .rim-favorite-button.is-active{color:#fff!important;background:#bf2f48!important}
.rim-home-listings .rim-favorite-button.is-active .dashicons{color:#fff!important}
.rim-home-listings-more{display:flex;justify-content:center;margin:28px 0 0}
.rim-home-listings-more__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 23px;border:1px solid #d6ae4b;border-radius:12px;background:#e6b84c;color:#172532!important;text-decoration:none!important;font-weight:800;box-shadow:0 10px 26px rgba(0,0,0,.16);transition:transform .18s ease,box-shadow .18s ease}
.rim-home-listings-more__link:hover,.rim-home-listings-more__link:focus-visible{transform:translateY(-2px);box-shadow:0 13px 28px rgba(0,0,0,.22)}
.rim-property-interactions{margin-top:34px;padding:30px;scroll-margin-top:105px;border:1px solid var(--rim-border);border-radius:22px;background:linear-gradient(145deg,#fff,#f7f9fc);box-shadow:0 18px 44px rgba(16,35,63,.08)}
.rim-interaction-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.rim-interaction-heading>div>span{display:block;color:#9b741d;font-size:11px;font-weight:800;letter-spacing:.12em}
.rim-interaction-heading h2{margin:5px 0 0;color:var(--rim-navy);font-size:28px}
.rim-interaction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px}
.rim-interaction-card{display:flex;min-width:0;flex-direction:column;padding:24px;border:1px solid var(--rim-border);border-radius:18px;background:#fff}
.rim-interaction-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;margin-bottom:14px;border:1px solid rgba(16,35,63,.16);border-radius:50%;color:#fff;background:var(--rim-navy)}
.rim-interaction-icon svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rim-interaction-card.is-viewing .rim-interaction-icon{color:var(--rim-navy);border-color:rgba(230,184,76,.55);background:var(--rim-gold)}
.rim-interaction-card h3{margin:0 0 6px;color:var(--rim-navy);font-size:22px}
.rim-interaction-card>p{margin:0 0 18px;color:var(--rim-muted);line-height:1.55}
.rim-interaction-form{display:flex;flex:1;flex-direction:column;gap:13px}
.rim-interaction-form label{display:grid;gap:6px;color:var(--rim-navy);font-size:13px;font-weight:800}
.rim-interaction-form input,.rim-interaction-form textarea,.rim-interaction-form select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cfd8df;border-radius:10px;background:#fff;color:var(--rim-text);font:inherit;box-shadow:none}
.rim-interaction-form textarea{min-height:96px;resize:vertical}
.rim-interaction-form input:focus,.rim-interaction-form textarea:focus,.rim-interaction-form select:focus{outline:0;border-color:var(--rim-gold);box-shadow:0 0 0 3px rgba(230,184,76,.17)}
.rim-interaction-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rim-interaction-form>button{align-self:stretch;min-height:48px;margin-top:auto;border-radius:10px;font-weight:800}
.rim-consent-row{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;color:var(--rim-muted)!important;font-size:12px!important;font-weight:500!important}
.rim-consent-row input{flex:0 0 auto;width:17px!important;min-height:17px!important;margin-top:2px;padding:0}
.rim-interaction-notice{margin:0 0 18px;padding:14px 16px;border:1px solid #bfd8c8;border-radius:12px;color:#146c43;background:#e9f8ef}
.rim-interaction-notice.is-error{color:#9d2c2c;border-color:#efc1c1;background:#fff0f0}
.rim-interaction-notice.is-warning{color:#775612;border-color:#ead59f;background:#fff9e8}
.rim-interaction-notice.is-login-required{padding:20px 22px;border:1px solid #d3a52f;color:#171b1d!important;background:#f5c94f!important;font-size:15px;font-weight:750;line-height:1.5;box-shadow:0 10px 28px rgba(0,0,0,.15)}
.rim-interaction-auth-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.rim-interaction-notice.is-login-required .rim-interaction-auth-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 17px;border:1px solid #222;color:#111!important;background:#fff2b9!important;border-radius:10px;font-weight:850;text-decoration:none!important;transition:transform .18s ease,background .18s ease}
.rim-interaction-notice.is-login-required .rim-interaction-auth-button.is-login{background:transparent!important}
.rim-interaction-notice.is-login-required .rim-interaction-auth-button:hover,.rim-interaction-notice.is-login-required .rim-interaction-auth-button:focus{transform:translateY(-2px);background:#fff9d9!important}
.rim-interaction-notice.is-info{color:#24567d;border-color:#bfd8ea;background:#eef7fd}
.rim-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:820px){.rim-interaction-grid{grid-template-columns:1fr}.rim-property-interactions{padding:22px}.rim-interaction-heading{align-items:stretch;flex-direction:column}.rim-interaction-heading .rim-favorite-button{align-self:flex-start}}
@media(max-width:520px){.rim-interaction-row{grid-template-columns:1fr}.rim-property-interactions{padding:18px}.rim-interaction-card{padding:18px}}

/* v0.6.0 – Öffentliche, freigegebene Immobilienbewertungen */
.rim-public-reviews{margin:38px 0;padding:28px;border:1px solid #dce3e8;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(16,43,63,.06)}
.rim-public-reviews-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.rim-public-reviews-head>div:first-child>span{color:#b48622;font-size:11px;font-weight:900;letter-spacing:.12em}.rim-public-reviews-head h2{margin:6px 0 0;color:#102b3f}.rim-public-rating{text-align:right}.rim-public-rating strong,.rim-public-rating span,.rim-public-rating small{display:block}.rim-public-rating strong{color:#102b3f;font-size:30px}.rim-public-rating span{color:#d49f22;font-size:19px;letter-spacing:2px}.rim-public-rating small{color:#667085}.rim-public-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rim-public-review-grid article{padding:18px;border:1px solid #e1e7ec;border-radius:13px;background:#f8fafc}.rim-public-review-grid article>div{display:flex;justify-content:space-between;gap:10px}.rim-public-review-grid article>div span{color:#d49f22;letter-spacing:2px}.rim-public-review-grid h3{margin:10px 0 6px;color:#102b3f;font-size:17px}.rim-public-review-grid p{margin:0 0 10px;color:#374151;line-height:1.55}.rim-public-review-grid small{color:#667085}@media(max-width:720px){.rim-public-reviews-head{flex-direction:column}.rim-public-rating{text-align:left}.rim-public-review-grid{grid-template-columns:1fr}}

/* v0.8.0 – Geo-, Radius- und mehrsprachige Suche */
.rim-search-notice {
    margin: 0 0 18px;
    padding: 13px 16px;
    border: 1px solid #d9b83f;
    border-radius: 12px;
    background: #fff9df;
    color: #3c3520;
    font-weight: 600;
}

.rim-property-distance {
    position: absolute;
    left: 14px;
    bottom: 14px;
    z-index: 3;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(8, 25, 47, .9);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(8, 25, 47, .2);
}

.rim-language-switcher {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.rim-language-switcher a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 11px;
    border: 1px solid rgba(12, 35, 63, .16);
    border-radius: 999px;
    background: #fff;
    color: #0c233f;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.rim-language-switcher a:hover,
.rim-language-switcher a.is-active {
    border-color: #e0b52f;
    background: #f7d667;
    color: #111;
}

/* v0.9.2 – Public application and save-search entry points */
.rim-application-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:38px 0;padding:26px;border:1px solid #dce3e8;border-radius:18px;background:linear-gradient(145deg,#fffdf7,#f3f7fa);box-shadow:0 14px 34px rgba(16,43,63,.07)}
.rim-application-callout>div>span{display:block;color:#a1781f;font-size:11px;font-weight:900;letter-spacing:.13em}.rim-application-callout h2{margin:6px 0;color:#102b3f}.rim-application-callout p{max-width:720px;margin:0;color:#566574;line-height:1.58}.rim-application-callout>.rim-button{flex:0 0 auto}
.rim-search-alert-capture{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:16px;padding:16px;border:1px solid #dce3e8;border-radius:14px;background:#fff}.rim-search-alert-capture label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 9px;flex:1;color:#102b3f}.rim-search-alert-capture label .dashicons{grid-row:1/3;color:#b38620}.rim-search-alert-capture label strong{font-size:13px}.rim-search-alert-capture input[type=text]{grid-column:2;width:100%;min-height:40px;padding:8px 10px;border:1px solid #cfd8df;border-radius:9px}
@media(max-width:760px){.rim-application-callout,.rim-search-alert-capture{align-items:stretch;flex-direction:column}.rim-application-callout>.rim-button,.rim-search-alert-capture>.rim-button{width:100%;text-align:center}}

/* v0.9.3 – short-stay booking engine */
.rim-booking-card {
    margin: 28px 0;
    padding: clamp(20px, 3vw, 32px);
    border: 1px solid rgba(15, 44, 74, .14);
    border-radius: 24px;
    background: linear-gradient(145deg, #ffffff, #f5f8fb);
    box-shadow: 0 18px 40px rgba(15, 44, 74, .12), inset 0 1px 0 rgba(255,255,255,.9);
}
.rim-booking-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}
.rim-booking-card-head h2 { margin: 4px 0 0; }
.rim-booking-card-head > strong {
    white-space: nowrap;
    padding: 10px 14px;
    border-radius: 14px;
    background: #f2c94c;
    color: #132c46;
    box-shadow: 0 6px 0 #c9a62f;
}
.rim-booking-notice { margin: 12px 0 18px; color: #526579; font-size: .92rem; }
@media (max-width: 680px) {
    .rim-booking-card-head { flex-direction: column; }
    .rim-booking-card-head > strong { white-space: normal; }
}

/* v0.9.4 consent-first newsletter */
.rim-newsletter{max-width:760px;margin:28px auto;padding:28px;border:1px solid rgba(15,35,60,.12);border-radius:22px;background:#fff;box-shadow:0 18px 42px rgba(15,35,60,.10)}
.rim-newsletter h3{margin:0 0 14px;font-size:clamp(1.35rem,2.5vw,2rem)}
.rim-newsletter input[type="email"]{width:100%;max-width:520px;padding:13px 15px;border:1px solid rgba(15,35,60,.22);border-radius:12px}
.rim-newsletter .rim-notice{padding:11px 13px;border-radius:12px;background:rgba(230,176,47,.14)}
.rim-newsletter .rim-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* v0.9.23 – Property Detail data structure. Final DOMRENTO dark redesign follows later. */
.rim-property-summary-warm {
    display: block;
    margin: -10px 0 17px;
    color: rgba(255,255,255,.78);
    font-size: 13px;
    font-weight: 700;
}

.rim-property-info-section {
    margin-top: 22px;
    padding: 25px;
    border: 1px solid var(--rim-border);
    border-radius: 18px;
    background: #fff;
}

.rim-property-info-section > h2 {
    margin-top: 0;
    color: var(--rim-navy);
}

.rim-property-cost-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
}

.rim-property-cost-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 11px 0;
    border-bottom: 1px solid var(--rim-border);
}

.rim-property-cost-list > div.is-total {
    font-size: 17px;
    font-weight: 800;
}

.rim-property-inline-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rim-property-inline-facts > span {
    padding: 9px 12px;
    border-radius: 10px;
    background: #f6f8fb;
    color: var(--rim-text);
    font-size: 13px;
}

.rim-property-media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.rim-property-media-card {
    overflow: hidden;
    padding: 16px;
    border: 1px solid var(--rim-border);
    border-radius: 14px;
    background: #f8fafc;
}

.rim-property-media-card h3 { margin-top: 0; color: var(--rim-navy); }
.rim-property-media-card img,
.rim-property-media-card iframe,
.rim-property-media-card video {
    display: block;
    width: 100%;
    max-width: 100%;
    border: 0;
    border-radius: 10px;
}

.rim-current-document {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid #dfe5ec;
    border-radius: 10px;
    background: #f8fafc;
}

@media (max-width: 700px) {
    .rim-property-cost-list,
    .rim-property-media-grid { grid-template-columns: 1fr; }
}

/* 1.0.7 – Rental-first transaction foundation. */
.rim-transaction-switch > div { display:flex; flex-wrap:wrap; gap:8px; }
.rim-transaction-switch label { position:relative; display:inline-flex; align-items:center; cursor:pointer; }
.rim-transaction-switch input { position:absolute; opacity:0; pointer-events:none; }
.rim-transaction-switch span { display:inline-flex; align-items:center; min-height:40px; padding:8px 15px; border:1px solid var(--rim-border); border-radius:999px; background:#fff; color:var(--rim-text); font-weight:800; }
.rim-transaction-switch input:checked + span { border-color:var(--rim-gold); color:var(--rim-navy); background:#fff7df; box-shadow:0 0 0 2px rgba(215,180,90,.12); }
.rim-property-transaction { display:inline-flex; align-items:center; padding:5px 9px; border:1px solid rgba(215,180,90,.55); border-radius:999px; color:#8a6a19; background:#fff7df; font-size:11px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }

/* 1.0.45 – Canonical public Neubau project presentation. */
.rim-project-archive,
.rim-project-detail,
.rim-project-grid {
    --rim-navy: #10233f;
    --rim-navy-2: #17365f;
    --rim-gold: #e6b84c;
    --rim-bg: #f5f7fa;
    --rim-text: #1e293b;
    --rim-muted: #667085;
    --rim-border: #dde4ec;
    box-sizing: border-box;
}
.rim-project-archive *,
.rim-project-detail *,
.rim-project-grid * { box-sizing: border-box; }
.rim-project-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.rim-project-card { overflow:hidden;border:1px solid var(--rim-border);border-radius:22px;background:#fff;box-shadow:0 13px 36px rgba(16,35,63,.09);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.rim-project-card:hover { transform:translateY(-5px);border-color:#ddbd62;box-shadow:0 22px 48px rgba(16,35,63,.15); }
.rim-project-card__image { position:relative;display:block;height:260px;overflow:hidden;background:linear-gradient(145deg,#e6ebf0,#f8fafc); }
.rim-project-card__image img { width:100%;height:100%;object-fit:cover;transition:transform .38s ease; }
.rim-project-card:hover .rim-project-card__image img { transform:scale(1.035); }
.rim-project-card__placeholder { display:grid;place-items:center;width:100%;height:100%;color:#8291a0;background:linear-gradient(145deg,#e9eef4,#f8fafc); }
.rim-project-card__placeholder .dashicons { width:auto;height:auto;font-size:58px; }
.rim-project-cover__label { position:absolute;z-index:2;bottom:16px;left:16px;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(6,20,31,.84);color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(8px); }
.rim-project-card__badge,.rim-project-card__phase { position:absolute;top:16px;display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(9px); }
.rim-project-card__badge { left:16px;color:#17120a;background:rgba(230,184,76,.96); }
.rim-project-card__phase { right:16px;color:#fff;background:rgba(7,21,34,.82);border:1px solid rgba(255,255,255,.15); }
.rim-project-availability { display:flex;flex-wrap:wrap;gap:6px;align-items:center; }
.rim-project-availability > span { display:inline-flex;align-items:center;gap:4px;padding:6px 9px;border:1px solid rgba(16,35,63,.15);border-radius:999px;background:#e7f5ed;color:#145c3e;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap; }
.rim-project-availability > .is-reserved { background:#fff2d4;color:#75500c; }
.rim-project-availability > .is-sold,
.rim-project-availability > .is-rented { background:#e9edf2;color:#425369; }
.rim-project-availability > .is-inactive { background:#f4e4e6;color:#7b2933; }
.rim-project-availability.is-image { position:absolute;z-index:3;right:12px;bottom:52px;justify-content:flex-end;max-width:calc(100% - 24px);pointer-events:none; }
.rim-project-availability.is-image > span { border-color:rgba(255,255,255,.25);background:rgba(12,35,47,.94);color:#fff;box-shadow:0 5px 15px rgba(0,0,0,.32); }
.rim-project-availability.is-image > .is-available { background:rgba(12,92,61,.95); }
.rim-project-availability.is-image > .is-reserved { background:rgba(133,85,10,.95); }
.rim-project-availability.is-card { margin:13px 0 3px; }
.rim-project-availability.is-detail { margin:0 0 16px; }
.rim-project-availability.is-home { margin:12px 0 0; }
.rim-project-card__body { padding:22px; }
.rim-project-card__meta { display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--rim-muted);font-size:12px;font-weight:700; }
.rim-project-card__meta span:first-child { display:inline-flex;align-items:center;gap:5px;min-width:0; }
.rim-project-card__meta .dashicons { width:16px;height:16px;font-size:16px;color:#9b741d; }
.rim-project-card h3 { margin:13px 0 17px;font-size:23px;line-height:1.18; }
.rim-project-card h3 a { color:var(--rim-navy);text-decoration:none; }
.rim-project-card__facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 0;border-top:1px solid var(--rim-border);border-bottom:1px solid var(--rim-border); }
.rim-project-card__facts span { color:var(--rim-muted);font-size:11px;line-height:1.35; }
.rim-project-card__facts strong { display:block;color:var(--rim-navy);font-size:15px; }
.rim-project-card__foot { display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:16px; }
.rim-project-card__foot>strong { color:var(--rim-navy);font-size:16px; }
.rim-project-card__foot>a,.rim-project-card__foot>span { color:#8b6817;font-size:12px;font-weight:800;text-decoration:none;text-align:right; }
.rim-project-archive { min-height:70vh;background:var(--rim-bg);color:var(--rim-text); }
.rim-project-archive__hero { padding:76px 0 58px;background:radial-gradient(circle at 85% 15%,rgba(230,184,76,.18),transparent 30%),linear-gradient(135deg,var(--rim-navy),#081a2d);color:#fff; }
.rim-project-archive__hero span,.rim-project-detail__section>span,.rim-project-detail__section-head span,.rim-project-developer-cta span { display:block;color:var(--rim-gold);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase; }
.rim-project-archive__hero h1 { margin:9px 0 12px;color:#fff;font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.04em; }
.rim-project-archive__hero p { max-width:760px;margin:0;color:rgba(255,255,255,.74);font-size:17px;line-height:1.65; }
.rim-project-archive__body { padding:46px 0 82px; }
.rim-project-filter,.rim-home-mini-search.is-project { display:grid;grid-template-columns:minmax(160px,1.35fr) minmax(125px,.9fr) minmax(140px,1fr) minmax(155px,1fr) auto;gap:10px;align-items:end;width:min(920px,100%);margin:20px auto 40px;padding:18px;border:1px solid var(--rim-border);border-radius:20px;background:#fff;box-shadow:0 7px 0 #cbd5df,0 18px 36px rgba(16,35,63,.13),inset 0 1px 0 #fff; }
.rim-project-filter.is-home { margin:20px 0 26px; }
.rim-project-filter__extras,.rim-project-filter .rim-home-mini-search__intro { grid-column:1/-1; }
.rim-project-filter__extras summary { cursor:pointer;color:#8b6817;font-size:12px;font-weight:800; }
.rim-project-filter__extras-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px; }
.rim-project-filter .is-location { position:relative;z-index:5; }
.rim-project-filter .rim-location-suggestions { position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:280px;overflow-y:auto;border:1px solid #8eabbd;border-radius:10px;background:#10283b;box-shadow:0 15px 36px rgba(0,0,0,.45); }
.rim-project-filter .rim-location-suggestions[hidden] { display:none; }
.rim-project-filter .rim-location-suggestions__item { display:block;padding:10px 12px;color:#f3f7fb;font-size:13px;letter-spacing:normal;text-transform:none;cursor:pointer; }
.rim-project-filter .rim-location-suggestions__item:hover,.rim-project-filter .rim-location-suggestions__item.is-active { background:#255472;color:#fff; }
.rim-project-filter label { display:grid;gap:6px; }
.rim-project-filter label>span { color:var(--rim-muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase; }
.rim-project-filter input,.rim-project-filter select { width:100%;min-height:46px;padding:0 12px;border:1px solid #b6c8d5;border-radius:10px;background:#eef3f7;color:var(--rim-text);box-shadow:inset 0 3px 7px rgba(16,35,63,.18),0 1px 0 #fff; }
.rim-project-filter input:focus,.rim-project-filter select:focus { outline:none;border-color:var(--rim-gold);box-shadow:inset 0 3px 7px rgba(16,35,63,.18),0 0 0 3px rgba(230,184,76,.16); }
.rim-project-filter>.rim-button { min-height:46px;white-space:nowrap; }
.rim-project-archive__heading { display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px; }
.rim-project-archive__heading span { color:#9b741d;font-size:10px;font-weight:900;letter-spacing:.14em; }
.rim-project-archive__heading h2 { margin:5px 0 0;color:var(--rim-navy);font-size:clamp(28px,3.4vw,42px); }
.rim-project-archive__heading>strong { color:var(--rim-muted);font-size:13px; }
.rim-project-detail { width:min(1240px,calc(100% - 32px));margin:34px auto 78px;color:var(--rim-text); }
.rim-project-detail__demo-notice { margin-bottom:18px;padding:15px 18px;border:1px solid #e0b953;border-radius:14px;background:#fff2c9;color:#2b2515;line-height:1.55; }
.rim-project-detail__demo-notice strong { display:block;letter-spacing:.08em;font-size:11px; }
.rim-project-detail__topline { display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px; }
.rim-project-detail__topline a { color:var(--rim-muted);font-weight:800;text-decoration:none; }
.rim-project-detail__topline>span { padding:7px 11px;border-radius:999px;color:#735515;background:#fff4d6;font-size:11px;font-weight:900; }
.rim-project-detail__hero { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);overflow:hidden;border:1px solid var(--rim-border);border-radius:28px;background:#fff;box-shadow:0 20px 58px rgba(16,35,63,.1); }
.rim-project-detail__media { position:relative;min-height:470px;background:#e9eef4; }
.rim-project-detail__media { overflow:hidden; }
.rim-project-detail__media img,.rim-project-detail__media>.rim-project-card__placeholder { width:100%;height:100%;min-height:470px;object-fit:cover; }
.rim-project-detail__summary { display:flex;flex-direction:column;justify-content:center;padding:42px; }
.rim-project-detail__summary>span { color:#9b741d;font-size:10px;font-weight:900;letter-spacing:.14em; }
.rim-project-detail__summary h2 { margin:10px 0 14px;color:var(--rim-navy);font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.04em; }
.rim-project-detail__location { display:flex;gap:6px;align-items:flex-start;color:var(--rim-muted);line-height:1.55; }
.rim-project-detail__price { margin:18px 0;color:var(--rim-navy);font-size:24px;font-weight:900; }
.rim-project-detail__developer { display:grid;gap:4px;padding-top:17px;border-top:1px solid var(--rim-border); }
.rim-project-detail__developer small { color:var(--rim-muted); }
.rim-project-detail__developer a,.rim-project-detail__developer strong { color:#8b6817;font-weight:850;text-decoration:none; }
.rim-project-detail__facts { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0 30px; }
.rim-project-detail__facts>div { padding:17px;border:1px solid var(--rim-border);border-radius:14px;background:#fff; }
.rim-project-detail__facts span,.rim-project-detail__facts strong { display:block; }
.rim-project-detail__facts span { color:var(--rim-muted);font-size:11px; }
.rim-project-detail__facts strong { margin-top:5px;color:var(--rim-navy);font-size:16px; }
.rim-project-detail__section { margin:20px 0;padding:28px;border:1px solid var(--rim-border);border-radius:20px;background:#fff; }
.rim-project-detail__section h2 { margin:5px 0 15px;color:var(--rim-navy);font-size:29px; }
.rim-project-detail__section p { color:var(--rim-text);line-height:1.75; }
.rim-project-inventory__notice { padding:11px 15px;border:1px solid #e1c77b;border-radius:12px;background:#fff7dc;font-size:13px; }
.rim-project-inventory__stats { display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;margin:20px 0 24px; }
.rim-project-inventory__stats>span { display:grid;gap:4px;padding:13px 16px;border:1px solid #dce5ed;border-radius:13px;background:#f3f7fa;color:#566677;font-size:12px;font-weight:750; }
.rim-project-inventory__stats strong { color:#122b42;font-size:25px;line-height:1; }
.rim-project-inventory__stats .is-available strong { color:#137653; }
.rim-project-inventory__stats .is-reserved strong { color:#9c6b14; }
.rim-project-inventory__stats .is-sold strong { color:#697586; }
.rim-project-inventory__group { margin:15px 0;border:1px solid #d5e1eb;border-radius:15px;overflow:hidden;background:#fff; }
.rim-project-inventory__group summary { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 19px;cursor:pointer;background:#eaf1f6;color:#172f44;font-size:16px;font-weight:850; }
.rim-project-inventory__group summary::marker { color:#ac8128; }
.rim-project-inventory__group summary strong { display:inline-flex;justify-content:center;min-width:30px;padding:4px 9px;border-radius:999px;background:#17354c;color:#fff;font-size:12px; }
.rim-project-inventory__scroll { max-height:610px;overflow:auto; }
.rim-project-inventory table { width:100%;min-width:680px;border-collapse:collapse;text-align:left; }
.rim-project-inventory th,.rim-project-inventory td { padding:12px 14px;border-bottom:1px solid #e6edf2;color:#20394e;font-size:13px;white-space:nowrap; }
.rim-project-inventory thead th { position:sticky;top:0;z-index:1;background:#eff4f7;color:#4c6272;font-size:10px;text-transform:uppercase;letter-spacing:.08em; }
.rim-project-inventory tbody tr:hover { background:#f5f9fb; }
.rim-project-inventory tbody a { color:#176493;font-weight:800; }
.rim-project-inventory__status { display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef2f5;color:#46566a;font-size:11px;font-weight:850; }
.rim-project-inventory__status.is-available { background:#e0f5e9;color:#166141; }
.rim-project-inventory__status.is-reserved { background:#fff1c9;color:#76530d; }
.rim-project-inventory__status.is-sold,.rim-project-inventory__status.is-rented { background:#e9edf2;color:#53616e; }
@media(max-width:680px){.rim-project-inventory__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rim-project-inventory__scroll{max-height:440px}.rim-project-inventory th,.rim-project-inventory td{padding:10px}.rim-project-availability.is-image{bottom:48px}.rim-project-availability>span{font-size:10px;padding:5px 7px}}
.rim-project-detail__section-head { display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px; }
.rim-project-detail__section-head h2 { margin-bottom:0; }
.rim-project-detail__section-head>strong { color:var(--rim-muted);font-size:13px; }
.rim-project-gallery { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.rim-project-gallery a { display:block;height:220px;overflow:hidden;border-radius:14px; }
.rim-project-gallery img { width:100%;height:100%;object-fit:cover;transition:transform .28s ease; }
.rim-project-gallery a:hover img { transform:scale(1.025); }
.rim-project-resources { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.rim-project-resources a { display:flex;align-items:center;gap:10px;padding:15px;border:1px solid var(--rim-border);border-radius:12px;color:var(--rim-navy);font-weight:800;text-decoration:none;background:#f8fafc; }
.rim-project-resources .dashicons { color:#9b741d; }
.rim-project-developer-cta { display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:22px;padding:30px;border:1px solid #dfc573;border-radius:22px;background:linear-gradient(135deg,#fffaf0,#fff); }
.rim-project-developer-cta h2 { margin:5px 0 7px;color:var(--rim-navy); }
.rim-project-developer-cta p { max-width:700px;margin:0;color:var(--rim-muted); }
@media(max-width:1050px){.rim-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rim-project-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.rim-project-filter .rim-button{min-height:46px}.rim-project-detail__hero{grid-template-columns:1fr}.rim-project-detail__media,.rim-project-detail__media img,.rim-project-detail__media>.rim-project-card__placeholder{min-height:380px;max-height:540px}.rim-project-detail__facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.rim-project-grid,.rim-project-filter,.rim-project-gallery,.rim-project-resources{grid-template-columns:1fr}.rim-project-card__image{height:235px}.rim-project-card__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.rim-project-archive__hero{padding:58px 0 44px}.rim-project-archive__body{padding:30px 0 62px}.rim-project-archive__heading,.rim-project-detail__topline,.rim-project-detail__section-head,.rim-project-developer-cta{align-items:flex-start;flex-direction:column}.rim-project-detail{width:min(100% - 20px,1240px);margin-top:18px}.rim-project-detail__summary{padding:27px 22px}.rim-project-detail__summary h2{font-size:36px}.rim-project-detail__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.rim-project-detail__section{padding:22px 18px}.rim-project-gallery a{height:210px}.rim-project-developer-cta .rim-button{width:100%}}

.rim-project-detail__hero { grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr); }
.rim-project-detail__media,.rim-project-detail__media img,.rim-project-detail__media>.rim-project-card__placeholder { min-height:390px;max-height:430px; }
.rim-project-detail__summary { padding:30px 34px; }
.rim-project-detail__summary h2 { font-size:clamp(32px,3.4vw,48px); }
.rim-project-detail__media-actions { display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 24px; }
.rim-project-detail__media-actions .rim-button { min-width:175px;text-align:center; }
.rim-project-detail__media-actions .rim-property-secondary-button { display:inline-flex;justify-content:center;align-items:center;border:1px solid rgba(230,184,76,.65);background:#23445a;color:#f4d16b!important; }
.rim-project-detail__media-actions .rim-property-secondary-button:hover:not(:disabled),.rim-project-detail__media-actions .rim-property-secondary-button:focus:not(:disabled) { background:#e6b84c;color:#142b3b!important; }
.rim-project-detail__media-actions .rim-property-secondary-button:disabled { opacity:.72;cursor:not-allowed; }
.rim-project-detail__contact-cta { display:inline-flex;align-items:center;justify-content:center;margin-top:23px;text-align:center; }
.rim-project-interactions { margin:22px 0; }
.rim-project-interactions .rim-interaction-card { max-width:700px; }
.rim-project-contact-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,2fr);align-items:stretch;gap:20px}
.rim-project-top-ribbon{position:absolute;z-index:4;top:0;right:0;display:block;width:135px;height:135px;clip-path:polygon(0 0,100% 0,100% 100%);background:linear-gradient(135deg,#f45360 0%,#ce2835 48%,#8f1221 100%);color:#fff;filter:drop-shadow(-5px 7px 9px rgba(0,0,0,.34));pointer-events:none}
.rim-project-top-ribbon>span{position:absolute;top:43px;right:-15px;display:block;width:150px;transform:rotate(45deg);text-align:center;color:#fff;font-size:11px;font-weight:900;line-height:1.2;letter-spacing:.09em;text-shadow:0 1px 3px rgba(56,0,0,.55);white-space:nowrap}
.rim-project-card.is-featured .rim-project-card__phase{top:143px}
.rim-project-card__cta{display:inline-flex;margin:0 22px 22px;color:#c18b1f;font-weight:800;text-decoration:none}
.rim-project-contact-layout>.rim-interaction-card{max-width:none}
.rim-project-contact-side{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:20px}
.rim-project-contact-option{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--rim-border);border-radius:18px;background:linear-gradient(145deg,#17364e,#0d2233);color:#f5f8fb;box-shadow:0 12px 28px rgba(0,0,0,.17)}
.rim-project-contact-option h3{margin:0 0 10px;color:inherit;font-size:20px}
.rim-project-contact-option p{margin:0 0 20px;color:#c4d2de;line-height:1.5}
.rim-project-contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:43px;margin-top:auto;padding:9px 14px;border-radius:10px;background:#e5bb4f;color:#15202a!important;text-decoration:none!important;font-weight:800}
.rim-project-contact-link.is-disabled{opacity:.65}
.rim-project-contact-whatsapp{margin-top:14px;color:#d9edf4!important;font-weight:750}
@media(max-width:820px){.rim-project-contact-layout{grid-template-columns:1fr}.rim-project-contact-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}}
@media(max-width:600px){.rim-project-contact-side{grid-template-columns:1fr}}
@media(max-width:1050px) {
    .rim-project-detail__hero { grid-template-columns:1fr; }
    .rim-project-detail__media,.rim-project-detail__media img,.rim-project-detail__media>.rim-project-card__placeholder { min-height:0;max-height:none;aspect-ratio:16/9; }
}
@media(max-width:680px) {
    .rim-project-detail__summary { padding:27px 22px; }
    .rim-project-detail__media-actions .rim-button { flex:1 1 150px;min-width:0; }
}
@media(max-width:1050px){.rim-project-filter,.rim-home-mini-search.is-project{grid-template-columns:repeat(2,minmax(0,1fr))}.rim-project-filter>.rim-button{align-self:end}}
@media(max-width:680px){.rim-project-filter,.rim-home-mini-search.is-project,.rim-project-filter__extras-grid{grid-template-columns:1fr}.rim-project-filter>.rim-button{width:100%}}

/* 2.0.2 – editorial mandate disclosure on existing property detail flow */
.rim-property-editorial-disclosure {
    margin-top: 22px;
    padding: 18px 20px;
    border: 1px solid var(--rim-border);
    border-left: 4px solid var(--rim-gold);
    border-radius: 16px;
    background: #fffdf7;
    color: var(--rim-text);
}
.rim-property-editorial-disclosure__eyebrow {
    display: block;
    margin-bottom: 7px;
    color: #8a671c;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.rim-property-editorial-disclosure p { margin: 0; line-height: 1.65; }


/* 2.0.19 Neubau marketing switcher */
.rim-project-marketing-switch{display:flex;gap:8px;align-items:center}.rim-project-marketing-switch label{margin:0}.rim-project-marketing-switch input{position:absolute;opacity:0;pointer-events:none}.rim-project-marketing-switch span{display:block;padding:10px 15px;border:1px solid #cfd8df;border-radius:11px;background:#fff;color:#102b3f;font-weight:800;cursor:pointer}.rim-project-marketing-switch input:checked+span{border-color:#c89d31;background:#f7d667;color:#111;box-shadow:0 7px 18px rgba(16,43,63,.10)}
