/* global styling */
* { 
  box-sizing: border-box; 
}

body { 
  overflow-x: hidden; 
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* scrolling */
html { scroll-behavior: smooth; }
section { scroll-margin-top: 60px; }


/*  ROOM CARDsss */

.probootstrap-room {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  margin-bottom: 30px;
}


#rooms .row { 
  display: flex;
  flex-wrap: wrap;
}

/* Equal cols in a row  */
#rooms .col-md-4 {
  display: flex;
}

/* Image ratio*/
/* .probootstrap-room img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
} */
.probootstrap-room img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}


/* Content text card */
/* .probootstrap-room .text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 15px;
} */

.probootstrap-room .text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding:15px;
  text-align:center;
}


/* FLUID TYPOGRAPHY  */
h1 { font-size: clamp(24px, 4vw, 42px); }
h2 { font-size: clamp(20px, 3vw, 32px); }
h3 { font-size: clamp(18px, 2.5vw, 24px); }

.probootstrap-sub-wrap {
  font-size: clamp(14px, 2vw, 18px);
}


/*  SECTION  */
.probootstrap-section {
  padding: clamp(40px, 6vw, 90px) 5%;
}


/*  SLIDER HEIGHT  */
.probootstrap-slider,
.probootstrap-inner {
  min-height: 70vh;
}
/* video styling in event section */

/* Make event gallery  */
#events-carousel .probootstrap-image {
  height: 170px;    
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
  transition: transform 0.3s ease;
}
#events-carousel .probootstrap-image:hover {
  transform: translateY(-5px);
}

/* Maked video fit  */
#events-carousel video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* overlay */
#events-carousel .probootstrap-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
}


#rooms.flexslider.probootstrap-inner,
#dining.flexslider.probootstrap-inner{
  height: 100vh !important;    
  min-height: 100vh !important;
}

#rooms.flexslider .slides > li,
#dining.flexslider .slides > li{
  height: 100vh !important;    
  background-position: center 80% !important; 
  background-size: cover !important;
}

/* Couple slide: use real <img> so no zoom/crop */
.probootstrap-slider .slides > li.couple-slide{
  position: relative;
  overflow: hidden;
  background: #000; /* side gaps if image ratio differs */
}

/* remove any background-image effects */
.probootstrap-slider .slides > li.couple-slide{
  background-image: none !important;
}

/* image full visible */
.probootstrap-slider .slides > li.couple-slide .couple-bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;   /* FULL image */
  object-position: center;
  z-index: 0;
}

/* keep text above image */
.probootstrap-slider .slides > li.couple-slide .container{
  position: relative;
  z-index: 2;
}

/* keep overlay working but not hiding image */
.probootstrap-slider .slides > li.couple-slide.overlay:before{
  z-index: 1;
}

/* Same "card" look for iframe videos */
#events-carousel .probootstrap-image{
  height: 170px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}

#events-carousel .video-wrap{
  width: 100%;
  height: 100%;
}

#events-carousel .video-wrap iframe{
  width: 100%;
  height: 100%;
  border: 0;
}


@media (max-width: 480px){
  #rooms.flexslider.probootstrap-inner,
  #dining.flexslider.probootstrap-inner,
  #rooms.flexslider .slides > li,
  #dining.flexslider .slides > li{
    height: 70vh !important;
    min-height: 70vh !important;
    background-position: center 85% !important;
  }
}

/*  MOBILE  */
@media (max-width: 767px) {

  body { font-size: 14px; line-height: 1.6; }

  .probootstrap-main-nav li {
    display: block;
    margin: 10px 0;
  }

  .probootstrap-room { margin-bottom: 25px; }

  .carousel-inner .col-md-4 {
    width: 100%;
  }

  .probootstrap-logo img { max-width: 120px; }

}

/*  LARGE SCREENS  */
@media (min-width: 1400px) {
  .container { max-width: 1300px; }
}
