.elementor-362 .elementor-element.elementor-element-31090ae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS for shortcode, class: .elementor-element-da46a01 *//* ===================================
   KASA GALLERY SIDEBAR
=================================== */

.kasa-detail__gallery{

    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
    gap:20px;

    margin-bottom:30px;
}

.kasa-detail__gallery-main{

    position:relative;
    overflow:hidden;

    border-radius:4px;
}

.kasa-detail__gallery-main img{

    width:100%;
    height:700px;

    object-fit:cover;
}

.kasa-detail__gallery-sidebar{

    display:flex;
    flex-direction:column;

    gap:12px;

    max-height:700px;

    overflow-y:auto;

    padding-right:5px;
}

.kasa-detail__gallery-sidebar::-webkit-scrollbar{
    width:8px;
}

.kasa-detail__gallery-sidebar::-webkit-scrollbar-thumb{
    background:#d3d3d3;
    border-radius:10px;
}

.kasa-detail__thumb{

    border-radius:4px;

    overflow:hidden;

    cursor:pointer;

    flex-shrink:0;
}

.kasa-detail__thumb img{

    width:100%;
    height:140px;

    object-fit:cover;

    transition:.3s;
}

.kasa-detail__thumb:hover img{

    transform:scale(1.03);
}

.kasa-detail__hero-overlay{

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    padding:40px;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.72),
        rgba(0,0,0,0)
    );
}

.kasa-detail__title{

    color:#fff;
}

.kasa-detail__meta{

    color:#fff;
}

/* Responsive */

@media(max-width:1200px){

    .kasa-detail__gallery{

        grid-template-columns:1fr;
    }

    .kasa-detail__gallery-sidebar{

        display:grid;

        grid-template-columns:
        repeat(4,minmax(0,1fr));

        max-height:none;
    }

    .kasa-detail__thumb img{

        height:110px;
    }

    .kasa-detail__gallery-main img{

        height:500px;
    }
}

@media(max-width:767px){

    .kasa-detail__gallery-sidebar{

        grid-template-columns:
        repeat(2,minmax(0,1fr));
    }

    .kasa-detail__gallery-main img{

        height:320px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-31090ae *//* ==============================
   KASA Detail Fixes
   Bilder, Sidebar, Titel-Dopplung
   ============================== */

/* Exposé-Titel ausblenden, weil Titel bereits im Hero steht */
.kasa-detail__summary-label,
.kasa-detail__summary-title {
	display: none !important;
}

/* Summary-Box dadurch kompakter und klarer */
.kasa-detail__summary-main {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
}

/* Sidebar deutlich breiter */
.kasa-detail__layout {
	grid-template-columns: minmax(0, 1fr) 440px !important;
	gap: 42px !important;
}

/* Preisbox oben ebenfalls etwas breiter */
.kasa-detail__summary {
	grid-template-columns: minmax(0, 1fr) 420px !important;
	gap: 34px !important;
}

/* Container insgesamt etwas breiter, falls Elementor genug Platz gibt */
.oo-detailview,
.detail-contact-form {
	max-width: 1440px !important;
}

/* Hero-Bild sicher sichtbar halten */
.kasa-detail__hero-media picture,
.kasa-detail__hero-media .oo-picture,
.kasa-detail__hero-media img,
.kasa-detail__image {
	position: relative !important;
	z-index: 1 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 1 !important;
	visibility: visible !important;
	object-fit: cover !important;
}

/* Overlay darf nur Text-Gradient sein, nicht Bild verdecken */
.kasa-detail__hero-overlay {
	z-index: 3 !important;
	pointer-events: none !important;
}

/* Thumbnail-Galerie ohne onOffice-Slider-Verhalten */
.kasa-detail__thumbs {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 12px !important;
	margin-top: 14px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.kasa-detail__thumb {
	height: 150px !important;
	overflow: hidden !important;
	border-radius: 4px !important;
	background: #e9e4da !important;
	box-shadow: 0 8px 22px rgba(0,0,0,.06) !important;
}

.kasa-detail__thumb picture,
.kasa-detail__thumb .oo-picture,
.kasa-detail__thumb img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.kasa-detail__thumb img {
	object-fit: cover !important;
	object-position: center center !important;
}

/* Ansprechpartner-Karte bekommt mehr Luft */
.oo-asp,
.kasa-detail__sidebar-card {
	padding: 32px 32px !important;
}

/* Buttons in Sidebar nicht so winzig */
.kasa-detail__cta,
.oo-detailsexpose a {
	min-height: 50px !important;
	font-size: 15px !important;
}

/* Preis größer und hochwertiger */
.kasa-detail__price strong {
	font-size: 36px !important;
}

/* Tablet wieder einspaltig */
@media (max-width: 1100px) {
	.kasa-detail__layout,
	.kasa-detail__summary {
		grid-template-columns: 1fr !important;
	}

	.kasa-detail__sidebar {
		position: static !important;
	}
}

@media (max-width: 767px) {
	.kasa-detail__thumbs {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.kasa-detail__thumb {
		height: 120px !important;
	}
}/* End custom CSS */