/* Accordion Styles */

.accordion{
    width: 100%;
 
    margin-left : auto;
    margin-right: auto;
}
.accordion h2{
    font-size: 20px;
    font-weight: 600;
    line-height: 32px;
    margin: 0 0 5px;
}

.accordion-section .accordion-item {
    border: none;
    margin-bottom: 15px;
    background-color: red !important;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    padding: 15px;
}

.accordion-item {
    border: none;
    margin-bottom: 15px;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 0px 7px rgba(0, 0, 0, 0.1);
    padding: 15px;
}

.accordion-section .accordion-button {
    padding: 1.25rem 0rem;
    padding-left: 0 !important;
    padding-inline-start: 0 !important;
   
}

.accordion-section .accordion-button:not(.collapsed) {
    color: #333;
    box-shadow: none;
}

.accordion-section .accordion-button:focus {
    box-shadow: none;
  
}
.accordion-button,
#accordionHome .accordion-button,
.accordion-item .accordion-button,
.accordion-header .accordion-button {
    background-color: unset;
    color: #00375E;
    font-weight: 600;
    border: none;
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
   
    cursor: pointer;
    padding-left: 0 !important;
    padding-top: 10px !important;
  
}


/* Custom Accordion Plus/Minus Icon */
.accordion-button::after {
    background-image: none !important;
    content: "+" !important;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
    transition: transform 0.2s ease-in-out;
    margin-left: 15px;
    margin-top:-10px;

}

.accordion-button:not(.collapsed)::after {
    content: "−" !important; /* En dash for a cleaner minus */
    transform: none;
}

.accordion-section .accordion-button::after {
    background-size: 1.25rem;
}




/* Flexible content shared styles across page.php, page-uber-uns-2025.php, and page-immobilienmakler.php */

/* --- Bottimmos widgets --------------------------------------------------- */
btm-widget[widget="list"] btm-list {
    font-family: inherit !important;
    font-weight: normal !important;
}

/* No underline on text links when hovering within flexible content */
a:hover,
a:focus,
a:active {
    text-decoration: none;
}

h2 btm-widget [widget="list"] {
    font-family: inherit !important;
    font-weight: normal !important;
    color: green !important;
}

/* Bewertung */
btm-widget[widget="valuation"] btm-valuation {
    font-size: 15px !important;
    color: #00375E !important;
}

btm-widget[widget="valuation"] btm-icon-select-label {
    font-weight: 600 !important;
    margin: var(--size-2);
}

.btm-icon-select-label {
    font-weight: 600 !important;
    color: var(--primary) !important;
    margin: var(--size-2);
}

/* --- Kreditrechner Optifin ----------------------------------------------- */
.tooltip {
    opacity: 1;
}

#formContainer {
    border-radius: 10px;
    background-color: blue !important;
}

.c-calc-form,
.c-calc-form__form-wrapper,
.c-calc-form__inner {
    border-radius: 10px;
}

.c-calc-form__inner {
    background: #FFFFFF;
}

.c-calc-form__button {
    padding: 10px 20px !important;
    background-color: #f58220 !important;
    border-radius: 10px !important;
}

.c-calc-form__result-big-text {
    color: #f58220 !important;
}

.c-calc-form__result-first-col {
    padding-bottom: 20px;
}

.c-calc-form__title--bold {
    color: #f58220 !important;
}

.c-calc-form__result {
    border: radius 10px;
}

/* --- Hero / mid-wrap / badges -------------------------------------------- */
#main-slider.liquid-slider {
    border-radius: 0 !important;
}

.hero-background {
    width: 100%;
    min-height: 400px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Base Sub-Header styles moved back to css/style.css */

@media (min-width: 768px) {
    .hero-background {
        min-height: 500px;
    }
}

@media (min-width: 1200px) {
    .hero-background {
        min-height: 600px;
    }
}

/* Sub-Header responsive heights moved back to css/style.css */

.mid-wrap {
    background-color: inherit;
}

.kurier-1 {
    position: relative;
    left: 0;
    top: 70px;
}

.kurier-2 {
    position: relative;
    left: 220px;
    top: -70px;
}

/* --- CTA buttons --------------------------------------------------------- */
button.termin {
    background-color: #00375e;
    color: #FFFFFF;
    padding: 10px;
    border: none;
    border-radius: 15px;
    width: 250px;
    margin-right: 20px;
    margin-top: 20px;
}

button.termin a {
    color: #FFFFFF;
}

button.whatsapp {
    background-color: #25D366;
    color: #FFFFFF;
    padding: 10px;
    border: none;
    border-radius: 10px;
    min-width: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 17px !important;
}

button.whatsapp a {
    color: #FFFFFF;
}

button.whatsapp i {
    font-size: 24px;
}

button.call {
    background-color: #00375e;
    color: #FFFFFF;
    padding: 10px;
    border: none;
    border-radius: 10px;
    min-width: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 17px !important;
}

button.call a {
    color: #FFFFFF;
}

button.call a:hover {
    color: #5e97bf;
}

button.call i {
    font-size: 24px;
}

/* --- Embedded forms (iframes) ------------------------------------------- */
.block-width {
    width: 400px;
    padding-top: 20px;
    min-height: 550px;
    height: auto;
    border: none;
    background-color: #FFF;
   
}

@media (max-width: 440px) {
    .block-width {
        width: 100%;
        height: 550px;
        padding: 10px;
        margin: 0;
    }
}

/* --- Slick slider ------------------------------------------------------- */
.slider-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 60px;
    padding-bottom: 35px;
    box-sizing: border-box;
}

.slider-wrapper .arrowss,
.slider-wrapper .slick-prev,
.slider-wrapper .slick-next {
    position: relative !important;
    z-index: 10;
    width: 50px;
    min-width: 50px;
    height: 40px;
    flex-shrink: 0;
    top: auto !important;
    left: auto !important;
    right: auto !important;
}

.slider-wrapper .slick-prev,
.slider-wrapper .arrow-left {
    margin-right: 15px;
    order: -1;
    text-align: right;
}

.slider-wrapper .slick-next,
.slider-wrapper .arrow-right {
    margin-left: 15px;
    order: 1;
}

.slider-wrapper .arrowss img,
.slider-wrapper .slick-prev img,
.slider-wrapper .slick-next img {
    height: 100%;
    width: auto;
}

.slider-container {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

#slickslider-cards {
    margin: 0;
}


.slick-slide {
    outline: none;
}

.slick-slide a {
    color: #00375E;
    text-decoration: none;
}

.slick-slide a:hover {
    color: #00375E;
    text-decoration: none;
}

.image-wrapper {
    height: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-body {
    height: 100%;
}

.card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0;
    margin: 0;
}

.card-text-related {
    height: 120px;
    line-height: 1.4;
}

.card-img-top {
    height: 220px;
    width: 100%;
    object-fit: cover;
    padding: 0;
    margin: 0;
}

/* --- Responsive adjustments --------------------------------------------- */

@media (max-width: 480px) {
    .card-text-related {
        height: 130px;
        line-height: 1.3;
        font-size: 0.875rem;
    }
}

@media (max-width: 767.98px) {
    .slider-wrapper {
        padding-top: 30px;
    }

    .slider-wrapper .slick-prev,
    .slider-wrapper .arrow-left {
        margin-right: 10px;
        width: 40px;
    }

    .slider-wrapper .slick-next,
    .slider-wrapper .arrow-right {
        margin-left: 10px;
        width: 40px;
    }
}

@media (max-width: 1199px) {
    .kurier-1 {
        position: relative;
        float: left;
        left: 20%;
        top: auto;
        margin-top: 50px;
    }

    .kurier-1 img {
        max-width: 93%;
    }

    .kurier-2 {
        position: relative;
        float: left;
        left: 20%;
        top: auto;
        margin: auto auto;
        margin-top: 20px;
        clear: both;
    }

    .kurier-2 img {
        max-width: 91%;
    }
}

@media (max-width: 991px) {
    .kurier-1 {
        position: auto;
        float: left;
        left: auto;
        top: auto;
        margin-bottom: 20px;
        margin-top: 0;
    }

    .kurier-1 img {
        max-width: 93%;
    }

    .kurier-2 {
        position: auto;
        float: left;
        left: inherit;
        top: auto;
        margin: auto auto;
        clear: none;
        margin-top: 0;
    }

    .kurier-2 img {
        max-width: 91%;
    }
}

@media (max-width: 767px) {

    button.termin,
    button.whatsapp {
        margin: 20px auto 0px auto;
        width: 100%;
    }

    button.call {
        width: 100%;
        margin: auto;
    }

    .col-md-11 {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .kurier-1 {
        position: relative;
        float: left;
        left: auto;
        top: 0;
        margin-bottom: 20px;
    }

    .kurier-1 img {
        max-width: 93%;
    }

    .kurier-2 {
        position: inherit;
        float: left;
        left: auto;
        top: 0;
        margin-bottom: 20px;
    }

    .kurier-2 img {
        max-width: 91%;
    }
}

@media (max-width: 650px) {
    .position-relative {
        position: relative;
        width: 100%;
    }

    .overlay {
        top: 25%;
        left: 5%;
        width: 80% !important;
    }

    .overlay h4 {
        font-size: 15px;
    }

    .overlay h2 {
        font-size: 24px;
    }
}

/* --- Flexible content sections ------------------------------------------ */
.bild-text-buttons-section,
.editor-shortcode-section {
    width: 100%;
}

.bild-text-buttons-section .mid-wrap.container,
.editor-shortcode-section .mid-wrap.container {
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 576px) {

    .bild-text-buttons-section .mid-wrap.container,
    .editor-shortcode-section .mid-wrap.container {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (min-width: 1200px) {

    .bild-text-buttons-section .mid-wrap.container,
    .editor-shortcode-section .mid-wrap.container {
        max-width: 1140px;
    }
}

/* --- Über-uns specific styling ------------------------------------------ */
li.bezirk {
    float: left;
    list-style: none;
}

li.bezirk:after {
    content: '|';
    padding-right: 7px;
}

li.bezirk:last-child:after {
    content: '';
}

h3.uber-uns {
    font-size: 24px;
    padding: 0;
    line-height: 32px;
    margin: 0 0 5px;
}

h4.uber-uns-links {
    font-size: 20px;
}

.rounded,
.rounded img {
    border-radius: 15px !important;
    width: 100%;
    height: auto;
}

.function {
    line-height: 1.4;
}

.team-wrap {
    margin: 0;
    padding: 0;
    color: #00375E;

}


.team-wrap .team-item {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

.team-wrap .team-item .t-image {
    display: block;
    width: 100px;
    flex: 0 0 100px;
}

.team-wrap .team-item .t-image img {
    max-width: 100%;
    height: auto;
    display: block;
}

.team-wrap .team-item .kontakt-info {
    width: auto;
    flex: 1 1 auto;
}

.team-wrap .team-item .kontakt-info .name {
    font-weight: 600 !important;
    font-size: 20px;
    line-height: 1;
    margin-bottom: 5px;
}

.team-wrap .team-item .kontakt-info .function {
    font-size: 1rem;
}

/* duplicate empty block removed */

.contacts {
    margin-top: 0.5rem;

}

.team-wrap .team-item .kontakt-info .contacts a {
    display: block;

    color: #00375E;
}

.team-wrap .team-item .kontakt-info .contacts a:hover {
    color: #00375E;
    opacity: 0.8;
    text-decoration: none;
}

/* Team listing and details (merged from flexible-content.css) */
.team-wrap {
    margin: 0;
    padding: 0;
    color: #00375E;

}

.team-wrap .team-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}



.team-wrap .team-item .t-image {
    display: block;
    width: 110px;
    flex: 0 0 110px;
}

.team-wrap .team-item .t-image img {
    max-width: 100%;
    height: auto;
    display: block;
}

.team-wrap .team-item .kontakt-info {
    width: auto;
    flex: 1 1 auto;
}

.team-wrap .team-item .kontakt-info .name {
    font-weight: 600 !important;
    font-size: 20px;
    line-height: 1;
    margin-bottom: 5px;
}

.team-wrap .team-item .kontakt-info .function {
    font-size: 1rem;
}

.contacts {
    margin-top: 0.5rem;
}

.team-wrap .team-item .kontakt-info .contacts a {
    display: block;
    color: #00375E;
}

.team-wrap .team-item .kontakt-info .contacts a:hover {
    color: #00375E;
    text-decoration: none;
}

.ueber-uns-hero {
    padding-top: 450px;
}

@media (max-width: 1500px) {
    .sub-header {
        position: relative;
        background-size: 100%;
        background-position: top center;
        background-repeat: no-repeat;
    }

    .uber-uns .sub-header h1 {
        padding: 390px 0 120px;
    }
}

@media (max-width: 1400px) {
    .uber-uns .sub-header h1 {
        padding: 353px 0 105px;
    }
}

@media (max-width: 1280px) {
    .uber-uns .sub-header h1 {
        padding: 223px 0 167px;
    }
}

@media (max-width: 1141px) {
    .uber-uns .sub-header h1 {
        padding: 143px 0 187px;
    }
}

@media (max-width: 1024px) {
    .sub-header {
        margin-top: 90px;
    }

    .uber-uns .sub-header h1 {
        padding: 247px 0 107px;
    }
}

@media (max-width: 834px) {
    .sub-header {
        margin-top: 0;
        background-size: auto;
    }

    .ueber-uns-hero {
        padding-top: 200px;
    }
}

@media (max-width: 480px) {
    .sub-header {
        margin-top: 90px;
    }

    .uber-uns .sub-header h1 {
        padding: 90px 0 20px;
    }

    li.bezirk {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    li.bezirk:after {
        content: '|';
        padding-right: 10px;
        padding-left: 3px;
    }
}

@media (max-width: 320px) {
    .sub-header {
        margin-top: 90px;
    }

    .uber-uns .sub-header h1 {
        padding: 60px 0 25px;
    }
}

/* --- Container utilities ------------------------------------------------- */
.container-sm {
    padding-left: 0;
    padding-right: 0;
}

@media (min-width: 768px) {
    .container-md {
        padding-left: 25px;
        padding-right: 25px;
    }
}