/* css/booking-widget.css */

#banner,
#herobanner,
#pagebanner {
  position: relative !important;
}

.booking-widget-wrapper {
  position: absolute !important;
  bottom: 25px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100% !important;
  max-width: 1100px !important;
  z-index: 9999 !important;
  padding: 0 15px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.booking-widget-container {
  background: #ffffff !important;
  border-radius: 30px !important;
  padding: 20px 30px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
  box-sizing: border-box !important;
  height: auto !important;
  width: 100% !important;
}

.booking-form {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 15px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.booking-group {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 170px !important;
  min-width: 150px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.booking-group label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #444 !important;
  margin-bottom: 6px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  letter-spacing: 0.5px !important;
}

.booking-group label i {
  margin-right: 5px !important;
  color: #888 !important;
}

.input-wrapper,
.counter-wrapper {
  display: flex !important;
  align-items: center !important;
  background: #f8f9fa !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 20px !important;
  padding: 0 15px !important;
  height: 48px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.input-wrapper i.input-icon {
  color: #c79a55 !important;
  margin-right: 10px !important;
  font-size: 14px !important;
  flex-shrink: 0 !important;
}

.input-wrapper input {
  border: none !important;
  background: transparent !important;
  outline: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #333 !important;
  width: 100% !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.counter-wrapper {
  justify-content: space-between !important;
}

.counter-wrapper button {
  background: transparent !important;
  border: none !important;
  font-size: 18px !important;
  font-weight: bold !important;
  color: #555 !important;
  cursor: pointer !important;
  outline: none !important;
  padding: 0 8px !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.counter-wrapper input {
  border: none !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  width: 40px !important;
  pointer-events: none !important;
  padding: 0 !important;
  color: #333 !important;
}

.booking-submit {
  flex: 1 1 170px !important;
  min-width: 160px !important;
  box-sizing: border-box !important;
}

.btn-book {
  background: #4caf50 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 20px !important;
  height: 48px !important;
  width: 100% !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background 0.3s ease !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.btn-book:hover {
  background: #45a049 !important;
}

.child-ages-wrapper {
  width: 100% !important;
  display: flex !important;
  gap: 15px !important;
  margin-top: 15px !important;
  padding-top: 15px !important;
  border-top: 1px dashed #e0e0e0 !important;
}

.child-age-group {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.child-age-group label {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #555 !important;
  margin-bottom: 5px !important;
}

.child-age-select {
  background: #f8f9fa !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 20px !important;
  padding: 0 15px !important;
  height: 40px !important;
  font-size: 14px !important;
  outline: none !important;
  color: #333 !important;
  cursor: pointer !important;
}

/* =========================================
   TABLET (max-width: 992px)
   ========================================= */
@media (max-width: 992px) {
  .booking-widget-wrapper {
    bottom: 15px !important;
    padding: 0 12px !important;
  }

  .booking-group {
    flex: 1 1 calc(50% - 10px) !important;
    min-width: calc(50% - 10px) !important;
  }

  .booking-submit {
    flex: 1 1 100% !important;
    min-width: 100% !important;
  }

  .booking-widget-container {
    border-radius: 20px !important;
    padding: 15px 20px !important;
  }

  .child-ages-wrapper {
    flex-wrap: wrap !important;
  }
}

/* =========================================
   MOBİL (max-width: 576px)
   ========================================= */
@media (max-width: 576px) {
  .booking-widget-wrapper {
    bottom: 10px !important;
    padding: 0 10px !important;
  }

  .booking-form {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .booking-group {
    flex: 1 1 100% !important;
    min-width: 100% !important;
    width: 100% !important;
  }

  .booking-submit {
    flex: 1 1 100% !important;
    min-width: 100% !important;
    width: 100% !important;
  }

  .booking-widget-container {
    border-radius: 16px !important;
    padding: 12px !important;
  }

  .child-ages-wrapper {
    flex-direction: column !important;
  }

  .booking-group label {
    font-size: 10px !important;
  }

  .input-wrapper,
  .counter-wrapper {
    height: 40px !important;
  }

  .btn-book {
    height: 42px !important;
    font-size: 14px !important;
  }
}

#rez-button {
  display: none !important;
}

/* =========================================
   MOBİL MENÜ AÇILMA GARANTİSİ
   ========================================= */
.headerBottom.showMenu {
  left: 0 !important;
  display: block !important;
  z-index: 9999999999 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* =========================================
   SADECE MOBİL EKRANLAR: BANNER YÜKSEKLİK AYARI
   ========================================= */
@media (max-width: 768px) {
  #banner,
  #herobanner,
  #pagebanner {
    min-height: 540px !important;
    height: 75vh !important;
    position: relative !important;
  }

  #banner .banner,
  #banner .swiper-container,
  #herobanner .swiper-container,
  #herobanner .mySwiper,
  #pagebanner .swiper-container {
    min-height: 540px !important;
    height: 75vh !important;
  }

  #banner .swiper-slide > img,
  #herobanner .swiper-slide > img,
  #pagebanner .swiper-slide > img,
  #banner .swiper-slide > a > img,
  #herobanner .swiper-slide > a > img,
  #pagebanner .swiper-slide > a > img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
  }
}
