
/* Sticky wrapper styles - applies to both left and right columns */
.sticky-wrapper {
transition: none;
}
.sticky-wrapper.sticky {
position: fixed;
top: 60px;
z-index: 1000;
}
/* Placeholder to prevent layout jump - applies to both columns */
.sticky-placeholder {
display: none;
height: 0;
margin: 0;
padding: 0;
}
.sticky-placeholder.active {
display: block;
}
/* Disable sticky behavior on screens below */
@media (max-width: 991px) {
.sticky-wrapper.sticky {
position: static !important;
}
.sticky-placeholder.active {
display: none !important;
}
}

/* ============================================
STICKY STYLES - BASE
============================================ */

/* Left column sticky */
.sticky-wrapper {
transition: none;
}

.sticky-wrapper.sticky {
position: fixed;
top: 60px;
z-index: 1000;
}

.sticky-placeholder {
display: none;
height: 0;
margin: 0;
padding: 0;
width: 100%;
}

.sticky-placeholder.active {
display: block;
}

/* Booking overview sticky */
.sticky-wrapper-booking {
transition: none;
}

.sticky-wrapper-booking.sticky {
position: fixed;
top: 60px; /* Default 60px */
z-index: 1000;
}

.sticky-placeholder-booking {
display: none;
height: 0;
margin: 0;
padding: 0;
width: 100%;
}

.sticky-placeholder-booking.active {
display: block;
}

/* ============================================
ABOVE 997px HEIGHT - Disable booking sticky, enable combined
============================================ */

@media (min-width: 992px) and (min-height: 980px) {

/* DISABLE booking overview independent sticky */
.sticky-wrapper-booking.sticky {
position: static !important;
}

.sticky-placeholder-booking.active {
display: none !important;
}

/* ENABLE right column sticky (beide sections together) */
#stickyWrapperRight.sticky {
position: fixed !important;
top: 60px;
z-index: 1000;
}

#stickyPlaceholderRight.active {
display: block !important;
}
}

/* ============================================
BELOW 997px HEIGHT - Special behavior
============================================ */

@media (min-width: 992px) and (max-height: 979px) {

/* Disable LEFT column sticky */
#stickyWrapperLeft.sticky {
position: static !important;
}

#stickyPlaceholderLeft.active {
display: none !important;
}

/* Disable RIGHT column (Weitere Daten) sticky */
#stickyWrapperRight.sticky {
position: static !important;
}

#stickyPlaceholderRight.active {
display: none !important;
}

/* ENABLE Booking Overview sticky at 37px with higher z-index */
.sticky-wrapper-booking.sticky {
position: fixed !important;
top: 37px !important; 
z-index: 1001 !important; /* Higher than menu so it doesn't slide under */
}

.sticky-placeholder-booking.active {
display: block !important;
}

/* Remove top border-radius when booking is sticky */
.sticky-wrapper-booking.sticky section.ba-tile {
border-top-left-radius: 0 !important;
border-top-right-radius: 0 !important;
}
}


/* ============================================
BOOKING OVERVIEW BORDER-RADIUS
============================================ */

/* Above 997px - Full 5px border-radius with blue border */
@media (min-width: 992px) and (min-height: 980px) {
#stickyWrapperBooking section.ba-tile.va-color-blau {
border-radius: 5px !important;
border: 1px solid #4a90e2;
overflow: hidden;
padding-bottom: 0;
}
}

/* Below 997px */
@media (min-width: 992px) and (max-height: 979px) {

/* When NOT sticky - full 5px radius with border */
#stickyWrapperBooking:not(.sticky) section.ba-tile.va-color-blau {
border-radius: 5px !important;
border: 1px solid #4a90e2;
overflow: hidden;
padding-bottom: 0;
}

/* When sticky - remove top radius, keep bottom */
#stickyWrapperBooking.sticky section.ba-tile.va-color-blau {
border-top-left-radius: 0 !important;
border-top-right-radius: 0 !important;
border-bottom-left-radius: 5px !important;
border-bottom-right-radius: 5px !important;
border: 1px solid #4a90e2;
border-top: none; /* Remove top border when sticky */
overflow: hidden;
padding-bottom: 0;
}
}

/* Base overflow hidden */
#stickyWrapperBooking section.ba-tile.va-color-blau {
overflow: hidden;
}

/* No transition - instant positioning */
.booking-overview-container {
margin-bottom: 15px !important;
}

.booking-overview-container.sticky {
position: fixed;
top: 40px;
z-index: 1000;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
border-radius:0px 0px 5px 5px;
}

/* Remove top border-radius when sticky */
.booking-overview-container.sticky section.ba-tile {
border-top-left-radius: 0 !important;
border-top-right-radius: 0 !important;
}

/* Fix border-radius artifacts - clip the border properly */
.booking-overview-container section.ba-tile {
margin-bottom: 0 !important;
overflow: hidden; /* This clips the border to match border-radius */
}

/* Maintain spacing between this div and next div */
.booking-overview-container + .col-lg-12 {
margin-top: 0px;
}
/* Remove any extra padding/margin from section */
.booking-overview-container section.ba-tile {
margin-bottom: 0 !important;
}
/* Keep internal padding as designed */
.booking-overview-container .ba-tile > div {
padding-bottom: 0px;
}
/* Placeholder to prevent layout jump when element becomes fixed */
.booking-overview-placeholder {
display: none;
height: 0;
margin: 0;
padding: 0;

}
.booking-overview-placeholder.active {
display: block;
margin-bottom: 20px;
}
/* Disable sticky behavior on screens below 992px */
@media (max-width: 991px) {
.booking-overview-container.sticky {
position: static !important;
box-shadow: none !important;
}

.booking-overview-placeholder.active {
display: none !important;
}
}
/* end Warenkorb */


.warenkorb-blau {
background:#367bbf;color:#fff;font-size:100%;padding-left:20px;padding-right:20px;border-radius:0px 0px 0px 0px;margin-left:-20px;margin-right:-20px;margin-top:-10px;text-align:center;
}