/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

.no-bricks-pagination + .bricks-pagination {
    display: none;
}

form,
.cg-form {
    --placeholder-color: var(--neutral-trans-80);
    /* Default placeholder color */
    --label-color: var(--text-color);
}

.cg-fieldset {
    border: 0 none;
    padding: 0;
    margin: 0;
    & legend {
        font-family: var(--heading-font-family);
        font-size: var(--h2);
        font-weight: var(--heading-font-weight);
        color: var(--text-color);
        display: block;
        margin-block-end: 1em;
    }
}

/* Form Field Layout */
.cg-field-row {
    margin-bottom: 1rem;
}

.cg-field-row-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.cg-field-row-full {
    display: block;
}

.cg-field-error {
    color: var(--neutral-trans-90);
    font-size: var(--text-s);
}

.cg-legal-container a {
    text-decoration: underline;
    text-underline-offset: 0.1em;
    color: var(--text-color);
}

/* Projektweite Formularfeld-Standardisierung */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea,
.cg-input,
.cg-form select,
.cg-field-wrapper select,
.cg-form input[type="text"],
.cg-form input[type="email"],
.cg-form input[type="tel"],
.cg-form input[type="number"],
.cg-form textarea {
    background-color: var(--white);
    border: 1px solid var(--neutral-ultra-dark-trans-60);
    border-radius: var(--radius-xs);
    padding: 0.75rem;
    font-size: var(--text-m);
    color: var(--neutral-trans-80);
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus,
.cg-input:focus,
.cg-form select:focus,
.cg-field-wrapper select:focus,
.cg-form input:focus,
.cg-form textarea:focus {
    border-color: var(--primary);
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Enhanced focus indicators for buttons and interactive elements */
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
.btn--primary:focus,
.btn--secondary:focus,
.onoffice-multiselect-edit:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(227, 14, 25, 0.2);
}

/* Focus indicators for custom dropdowns */
.multiselect button:focus,
.multiselect .onoffice-multiselect-edit:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px var(--primary);
}

/* Focus indicators for range inputs */
.oo-citigrund-range_from:focus,
.oo-citigrund-range_to:focus {
    border-color: var(--primary);
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

/* Range Field Styling for citigrund_suchauftrag.php */
.cg-suchauftrag-range-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cg-suchauftrag-range-label {
    font-weight: 500;
    color: var(--label-color);
    margin-bottom: 0.25rem;
    display: block;
}

.cg-suchauftrag-range-inputs {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.cg-suchauftrag-range-input {
    flex: 1;
    position: relative;
}

.cg-suchauftrag-range-input input {
    width: 100%;
}

/* Responsive behavior for suchauftrag range inputs */
@media (max-width: 768px) {
    .cg-suchauftrag-range-inputs {
        flex-direction: column;
        gap: 0.5rem;
    }
}
/* Form Field Placeholders */
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
input[type="number"]::placeholder,
textarea::placeholder,
.cg-input::placeholder {
    color: var(--placeholder-color);
    opacity: 1;
}

input[type="text"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder,
input[type="number"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
.cg-input::-webkit-input-placeholder {
    color: var(--placeholder-color);
}

input[type="text"]::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="tel"]::-moz-placeholder,
input[type="number"]::-moz-placeholder,
textarea::-moz-placeholder,
.cg-input::-moz-placeholder {
    color: var(--placeholder-color);
    opacity: 1;
}

input[type="text"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="number"]:-ms-input-placeholder,
textarea:-ms-input-placeholder,
.cg-input:-ms-input-placeholder {
    color: var(--placeholder-color);
}

/* Form Field Labels */
.cg-field-label {
    color: var(--label-color);
}

.cg-disclaimer-label {
    color: var(--label-color);
}

.cg-checkbox-label {
    color: var(--label-color);
}

/* Checkbox and Label Layout */
.cg-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.cg-disclaimer input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 0.2rem; /* Better alignment with text baseline */
    width: 16px;
    height: 16px;
}

.cg-disclaimer-label {
    flex: 1;
    line-height: 1.4;
}

/* Boolean field checkboxes */
.cg-field-wrapper:has(input[type="checkbox"]) {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.cg-field-wrapper input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 0.2rem;
    width: 16px;
    height: 16px;
}

.cg-checkbox-label {
    flex: 1;
    line-height: 1.4;
}

/* Responsive: Stack columns on mobile */
@media (max-width: 768px) {
    .cg-field-row-columns {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
}

/* citigrund_trefferliste.php + top-angebote.php */
.ctg-oo-listtitle {
    align-items: stretch;
    justify-content: stretch;
    justify-content: center;
    flex-grow: 1;
}
body.bricks-is-frontend.bricks-is-frontend .ctg-oo-listtitle.ctg-oo-listtitle a:focus-visible,
.ctg-oo-listtitle.ctg-oo-listtitle a:focus-visible {
    outline: none;
}
.oo-listframe,
.ctg-oo-listobject {
    align-items: stretch;
}
.ctg-oo-listobject:focus-within {
    outline: var(--focus-width) solid var(--primary);
    outline-offset: var(--focus-offset);
}

.ctg-oo-listobjectwrap {
    height: 100%;
}
.ctg-trefferliste {
    align-items: stretch;
}

.ctg-oo-listinfo {
    flex-grow: 1;
    order: 2;
    background-color: var(--secondary);
}

.ctg-trefferliste .ctg-oo-listinfo {
    background-color: transparent;
    border: 1px solid var(--neutral);
    border-top: 0 none;
    border-bottom-left-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
    overflow: hidden;
}
.ctg-trefferliste .ctg-oo-listtitle {
    flex-grow: 0;
}

/* Search Form Styling - Layout like citigrund.de */
.cg-search-form {
    padding: 0;
    margin-bottom: var(--space-xl);
}

.cg-search-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--grid-gap);
}

.cg-search-field {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.cg-search-label {
    font-size: var(--text-s);
    font-weight: 600;
    color: var(--text-color);
    letter-spacing: 0.5px;
    margin-bottom: var(--space-xs);
}

.cg-search-field input,
.cg-search-field select {
    background-color: var(--white);
    border: 1px solid var(--neutral-ultra-dark-trans-60);
    border-radius: var(--radius-xs);
    padding: 0.75rem;
    font-size: var(--text-m);
    color: var(--neutral-trans-80);
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}

.cg-search-field input:focus,
.cg-search-field select:focus {
    border-color: var(--primary);
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.cg-search-field .multiselect,
.cg-search-field .multiselect .onoffice-multiselect-edit {
    width: 100%;
}

.cg-search-field .multiselect input[type="checkbox"] {
    margin-inline-end: 0.25em;
    width: auto;;
}

.onoffice-multiselect-popup input[type="button"] {
    width: 100%;
}

/* Make multiselect popup overlay instead of pushing down content */
.onoffice-multiselect-popup {
    position: absolute !important;
    z-index: 1000 !important;
    border: 1px solid var(--neutral-trans-30) !important;
    border-radius: var(--radius-xs) !important;
    box-shadow: var(--shadow-l) !important;
    max-height: 250px !important;
    overflow-y: auto !important;
    width: 100% !important;
    left: 0 !important;
    top: 100% !important;
    background-color: var(--white);
    padding: var(--space-xs);
}

.onoffice-multiselect-popup>input[type=button] {
    padding: 0.25em;
    margin-top: var(--space-xs);
    border-radius: var(--radius-xs);
}

/* Ensure the parent multiselect container is positioned relative */
.cg-search-field .multiselect,
.multiselect {
    position: relative !important;
    border-radius: var(--radius-xs);
}
.multiselect > span {
    font-size: var(--text-s);
}

/* Multiselect button styling */
.multiselect .onoffice-multiselect-edit,
.onoffice-multiselect-popup button {
    border-radius: var(--radius-xs);
}


/* Horizontal fields (Von/Bis) - Simple approach with specific targeting */
.cg-search-field {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

/* Override flexbox for range fields completely */
.cg-search-field-single {
    display: block !important;
}

/* Target the range inputs - override flexbox behavior */
.cg-search-form .cg-search-field input.oo-citigrund-range_from {
    width: calc(50% - 8px) !important;
    display: inline-block !important;
    margin-right: 16px !important;
    vertical-align: top !important;
    box-sizing: border-box !important;
    flex: none !important;
}

.cg-search-form .cg-search-field input.oo-citigrund-range_to {
    width: calc(50% - 8px) !important;
    display: inline-block !important;
    vertical-align: top !important;
    box-sizing: border-box !important;
    flex: none !important;
}

/* Create a wrapper around range inputs that ignores flex column */
.cg-search-field .oo-citigrund-range_from + .oo-citigrund-range_to {
    margin-top: 0 !important;
    margin-left: 0 !important;
}

/* Wrap both range inputs in an inline container */
.cg-search-field .oo-citigrund-range_from {
    position: relative;
}

.cg-search-field .oo-citigrund-range_from::after {
    content: '';
    position: absolute;
    top: 0;
    left: calc(100% + 16px);
    width: calc(100% - 16px);
    height: 100%;
    pointer-events: none;
}

.cg-search-field input {
    text-align: center;
}

.cg-search-field input::placeholder {
    text-align: center;
    color: var(--neutral-trans-50);
}

/* Submit button - full width in its own row */
.cg-search-field-submit {
    grid-column: 1 / -1;
}

input[type=submit].match {
    background-color: var(--primary);
    border-color: var(--primary);
}

/* Responsive Design */
@media (max-width: 768px) {
    .cg-search-grid {
        grid-template-columns: 1fr;
        gap: var(--space-m);
    }

    .cg-search-form {
        padding: var(--space-m);
    }

    .cg-search-field-range .cg-search-range-inputs {
        grid-template-columns: 1fr;
    }
}

/* Pagination Styling */
.citigrund-pagination,
.bricks-pagination,
.wp-pagenavi,
.navigation.pagination,
.page-links {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: var(--space-xl) 0;
    padding: var(--space-m) 0;
}

.citigrund-pagination .hidden-accessible {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.citigrund-pagination .pagination-list,
.bricks-pagination,
.wp-pagenavi,
.navigation.pagination .nav-links,
.page-links {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    list-style: none;
    margin: 0;
    padding: 0;
}

.citigrund-pagination .pagination-list li,
.bricks-pagination li,
.wp-pagenavi > *,
.navigation.pagination .nav-links > *,
.page-links > * {
    margin: 0;
    padding: 0;
}

.citigrund-pagination .pagination-list a,
.citigrund-pagination .pagination-list .current-page,
.bricks-pagination a,
.bricks-pagination .current,
.bricks-pagination .page-numbers,
.wp-pagenavi a,
.wp-pagenavi span,
.navigation.pagination a,
.navigation.pagination span,
.page-links a,
.page-links > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: var(--space-xs) var(--space-s);
    border: 1px solid var(--neutral-trans-30);
    border-radius: var(--radius);
    font-size: var(--text-m);
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.citigrund-pagination .pagination-list a,
.bricks-pagination a,
.bricks-pagination .page-numbers:not(.current),
.wp-pagenavi a,
.navigation.pagination a,
.page-links a {
    background-color: var(--white);
    color: var(--text-color);
}

.citigrund-pagination .pagination-list a:hover,
.citigrund-pagination .pagination-list a:focus,
.bricks-pagination a:hover,
.bricks-pagination a:focus,
.bricks-pagination .page-numbers:not(.current):hover,
.wp-pagenavi a:hover,
.wp-pagenavi a:focus,
.navigation.pagination a:hover,
.navigation.pagination a:focus,
.page-links a:hover,
.page-links a:focus {
    background-color: var(--primary);
    color: var(--white);
    border-color: var(--primary);
    transform: translateY(-1px);
    box-shadow: var(--shadow-m);
}

.citigrund-pagination .pagination-list .current-page,
.bricks-pagination .current,
.wp-pagenavi .current,
.navigation.pagination .current,
.page-links .current {
    background-color: var(--primary);
    color: var(--white);
    border-color: var(--primary);
    cursor: default;
    box-shadow: var(--shadow-s);
}

/* Handle Bricks pagination current page with JavaScript wrapper */
.bricks-pagination .current-page-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: var(--space-xs) var(--space-s);
    border: 1px solid var(--primary);
    border-radius: var(--radius);
    font-size: var(--text-m);
    font-weight: 500;
    background-color: var(--primary);
    color: var(--white);
    cursor: default;
    box-shadow: var(--shadow-s);
    box-sizing: border-box;
}

/* Navigation arrows styling */
.bricks-pagination .prev,
.bricks-pagination .next,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.navigation.pagination .nav-previous,
.navigation.pagination .nav-next {
    font-weight: 600;
}

.bricks-pagination .prev::before,
.wp-pagenavi .previouspostslink::before,
.navigation.pagination .nav-previous a::before {
    content: "‹ ";
    margin-right: 0.25em;
}

.bricks-pagination .next::after,
.wp-pagenavi .nextpostslink::after,
.navigation.pagination .nav-next a::after {
    content: " ›";
    margin-left: 0.25em;
}

/* Add "Seiten:" label styling if it exists */
.citigrund-pagination::before {
    content: "";
    margin-right: var(--space-m);
}

/* Responsive Design for Pagination */
@media (max-width: 768px) {
    .citigrund-pagination,
    .bricks-pagination,
    .wp-pagenavi,
    .navigation.pagination,
    .page-links {
        margin: var(--space-l) 0;
        padding: var(--space-s) 0;
    }

    .citigrund-pagination .pagination-list,
    .bricks-pagination,
    .wp-pagenavi,
    .navigation.pagination .nav-links,
    .page-links {
        gap: var(--space-xs);
        flex-wrap: wrap;
        justify-content: center;
    }

    .citigrund-pagination .pagination-list a,
    .citigrund-pagination .pagination-list .current-page,
    .bricks-pagination a,
    .bricks-pagination .current,
    .bricks-pagination .page-numbers,
    .wp-pagenavi a,
    .wp-pagenavi span,
    .navigation.pagination a,
    .navigation.pagination span,
    .page-links a,
    .page-links > span {
        min-width: 40px;
        height: 40px;
        font-size: var(--text-s);
    }
}

.bricks-pagination ul {
    gap: var(--space-xs);
}

.bricks-pagination li:has(.title) {
    display: none;
}

/* onOffice Plugin Styles - Konsolidiert aus onoffice-style.css */

/* estate search - Erweitert bestehende cg-search-form Regeln */
.oo-searchform {
    margin: 0 0 var(--container-gap) 0;
}

.oo-searchformfieldwrap {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
}

.oo-searchformfield {
    padding: 0 15px;
    margin-bottom: 15px;
    width: 33.33%;
}

.oo-searchformfield label {
    display: block;
    margin: 0;
    padding: 0;
}

.oo-searchformfield input,
.oo-searchformfield button,
.oo-searchformfield .multiselect {
    width: 100%;
    margin: 0 !important;
}

.oo-searchformfield input[type="checkbox"] {
    width: auto;
    margin-right: 5px;
}

.oo-searchformfield br {
    display: none;
}

/* estate map */
.oo-estate-map {
    padding: 0 15px;
    width: 100%;
}

.oo-detailsmap {
    position: relative;
    height: auto;
}

.oo-detailsmap #map,
.oo-estate-map #map,
.oo-detailsmap #gmap,
.oo-estate-map #gmap {
    height: 300px !important;
}

.oo-estate-map #map .leaflet-top,
.oo-estate-map #map .leaflet-bottom {
    z-index: 888;
}

.oo-detailsmap .oo-map,
.oo-estate-map .oo-map,
.oo-detailsmap .oo-gmap,
.oo-estate-map .oo-gmap {
    height: 300px !important;
}

.oo-estate-map .oo-map .leaflet-top,
.oo-estate-map .oo-map .leaflet-bottom {
    z-index: 888;
}

/* estate sort */
.oo-estate-sort {
    padding: 15px;
}

/* listframe */
.oo-listheadline {
    padding: 10px 15px;
}

.oo-listframe {
    display: flex;
    flex-wrap: wrap;
}

/* listobject */
.oo-listobject {
    width: 33.33%;
    padding: 0 15px;
    margin: 0 0 50px 0;
}

.oo-listobjectwrap {
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.25);
    transition: all 0.3s;
}

.oo-listobject:hover .oo-listobjectwrap {
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.50);
}

.oo-listimage {
    display: block;
    width: 100%;
    position: relative;
    height: 250px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.oo-listinfo {
    padding: 10px;
}

.oo-listtitle {
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    height: 55px;
    overflow: hidden;
    color: #4a4a4a;
}

.oo-listinfotable {
    padding: var(--space-s);
    font-size: var(--text-s);
    flex-grow: 1;
    & [role="listitem"] {
        white-space: nowrap;
    }
}

.oo-listtd {
    display: inline-block;
    width: 50%;
    border-bottom: 1px solid #efefef;
    padding: 2.5px 0;
}

.oo-detailslink a,
.favorize {
    display: block;
    text-align: center;
    color: #ffffff !important;
    padding: 5px;
    background-color: #80acd3;
    transition: all 0.3s;
    text-decoration: none;
    font-size: 16px;
    font-weight: normal;
    line-height: 28px;
}

.oo-detailslink a:hover,
.favorize:hover {
    opacity: 0.8;
    color: #ffffff !important;
    text-decoration: none !important;
}

.favorize {
    border: 1px solid #839fce;
    cursor: pointer;
}

/* details */
.oo-detailsheadline {
    padding: 10px 15px;
}

.oo-detailview {
    display: flex;
    flex-wrap: wrap;
}

.oo-details-main {
    width: 75%;
    padding: 0 15px;
}

.oo-detailsgallery {
    margin-bottom: 25px;
}

.oo-detailsgallery .slick-arrow {
    z-index: 999;
}

.oo-detailsgallery .slick-prev {
    left: 25px;
}

.oo-detailsgallery .slick-next {
    right: 25px;
}

.oo-detailspicture,
.oo-detailspicture.slick-slide {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    height: 400px;
}

.oo-detailstable {
    display: flex;
    flex-wrap: wrap;
}

.oo-detailslisttd {
    width: 25%;
    padding: 5px 0;
    border-bottom: 2px solid #efefef;
}

.oo-detailslisttd:nth-child(odd),
.oo-field-label {
    font-weight: 700;
}

.oo-detailsfreetext,
.oo-detailsmap,
.oo-area-butler,
.oo-detailspricecalculator {
    padding-bottom: 15px;
    padding-top: 15px;
    border-bottom: 2px solid #efefef;
}

.oo-details-sidebar {
    width: 25%;
    padding: 0 15px;
}

.oo-asp {
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid #efefef;
}

.oo-aspname,
.oo-video,
.oo-detailsexpose {
    margin-bottom: 15px;
}

.oo-asplocation {
    margin-bottom: 10px;
}

.oo-contact-info,
.oo-aspinfo-wrapper {
    margin-bottom: 15px;
}

.oo-contact-info p {
    margin: 0;
}

.oo-similar {
    width: 100%;
}

#oo-similarframe {
    display: inherit;
    width: 100%;
}

#oo-similarframe .oo-listobject {
    width: inherit;
}

.oo-area-butler {
    position: relative;
    height: auto;
}

.oo-area-butler .oo-area-butler-iframe {
    height: 500px;
    width: 100%;
}

.oo-costs-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.oo-costs-container .oo-donut-chart {
    width: 40%;
}

.oo-costs-container .oo-costs-overview {
    width: 55%;
}

.oo-costs-container .oo-costs-overview > div {
    margin-bottom: 5px;
}

.oo-costs-container .oo-costs-overview .oo-price-label,
.oo-costs-container .oo-costs-overview .oo-costs-item {
    display: flex;
    align-items: center;
}

.oo-costs-container .oo-costs-overview .oo-price-label {
    width: 100%;
    justify-content: space-between;
}

.oo-costs-container .oo-costs-overview .oo-total-costs-label {
    margin-left: 20px;
}

.oo-costs-notice {
    font-size: 14px;
    padding-top: 1.5rem
}

.oo-costs-container .oo-costs-overview .color-indicator {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    margin-right: 5px;
    flex-basis: 14px;
    flex-grow: 0;
    flex-shrink: 0;
}

.oo-details-energy-certificate {
    position: relative;
    height: auto;
    padding-bottom: 15px;
    padding-top: 15px;
    border-bottom: 2px solid #efefef;
}

.oo-details-energy-certificate .energy-certificate-container {
    width: 100%;
    margin-top: 1.5rem;
    margin-bottom: 2.5rem;
    padding-bottom: 2rem;
}

.oo-details-energy-certificate .segmented-bar {
    display: flex;
    white-space: nowrap;
    align-items: flex-end;
}

.oo-details-energy-certificate .segment {
    flex: 1;
    text-align: center;
    height: 5px;
    position: relative;
    border-left: 1px solid #fff;
}

.oo-details-energy-certificate .segment:first-child {
    border-left: none;
}

.oo-details-energy-certificate .segment span {
    height: 28px;
    position: absolute;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
}

.oo-details-energy-certificate .energy-certificate-label span {
    position: absolute;
    transform: translateX(-50%);
}

.oo-details-energy-certificate .segment.selected {
    height: 34px;
}

.oo-details-energy-certificate .segment.selected span {
    color: #fff;
}

/* address list */
.oo-address-listframe .oo-address-image {
    width: 100%;
    height: auto;
}

.oo-address-listframe .oo-listtd {
    word-wrap: break-word;
}

.oo-address-listframe .oo-listinfotableview {
    display: flex;
    flex-wrap: wrap;
}

/* address map */
.oo-address-map {
    padding: 0 15px;
    width: 100%;
    margin-bottom: 15px;
}

.oo-address-map .oo-gmap,
.oo-address-map .oo-map {
    height: 300px !important;
}

.oo-address-map .oo-map .leaflet-top,
.oo-address-map .oo-map .leaflet-bottom {
    z-index: 888;
}

.oo-donut-chart-color0 {
    fill:#3F9DE4;
    background-color:#3F9DE4;
}

.oo-donut-chart-color1 {
    fill:#3ac411;
    background-color:#3ac411;
}

.oo-donut-chart-color2 {
    fill:#9C27B0;
    background-color:#9C27B0;
}

.oo-donut-chart-color3 {
    fill:#D81B60;
    background-color:#D81B60;
}

.oo-donut-chart-color4 {
    fill:#FEC800;
    background-color:#FEC800;
}

#TB_overlay, #TB_window {
    z-index: 1050 !important;
}

/* onOffice responsive - Erweitert bestehende responsive Regeln */
@media only screen and (max-width: 991px) {
    .oo-listobject,
    .oo-searchformfield {
        width: 50%;
    }

    .oo-details-main {
        width: 100%;
    }

    .oo-details-sidebar {
        width: 50%;
    }

    .oo-costs-container {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        gap: 2rem;
    }

    .oo-costs-container .oo-donut-chart {
        width: 100%;
    }

    .oo-costs-container .oo-costs-overview {
        width: 100%;
    }
}

@media only screen and (max-width: 700px) {
    .oo-detailslisttd {
        width: 50%;
    }
}

@media only screen and (max-width: 575px) {
    .oo-listobject,
    .oo-searchformfield,
    .oo-details-sidebar {
        width: 100%;
    }
}

.estate-status.estate-status--sold {
    background-color: var(--secondary);
}

body.wp-singular.estate-status--archiviert .hidden-on-estate-status--archiviert {
    display: none !important;
}

/* Block Editor Image Styles */
.wp-block-image.is-style-radius-oben {
    overflow: hidden;
    border-radius: 0 none;
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
}

.wp-block-image.is-style-radius {
    border-radius: var(--radius);
    overflow: hidden;
}