/* ------------------------
   Lovro Slider (Swiper)
------------------------ */
.slider,
.slider .swiper,
.slider .swiper-wrapper,
.slider .swiper-slide {
  height: auto !important;
  min-height: unset !important;
}

.slider .swiper-slide {
  display: flex !important;
  flex-direction: column;
  justify-content: center !important;
  align-items: center !important;
  text-align: center;
  box-sizing: border-box;
}

.slider .swiper-slide > * {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  max-width: 90%;
  padding: 0 50px;
}

@media (max-width: 767px) {
  .slider .swiper-slide > * {
    padding: 0 40px;
    max-width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .slider .swiper-slide > * {
    padding: 0 45px;
  }
}

.slider .swiper-button-prev,
.slider .swiper-button-next {
  color: #1A1A1A !important;
  fill: #1A1A1A !important;
  opacity: 0.9;
  transition: all 0.25s ease;
  width: 36px;
  height: 36px;
  z-index: 10;
}

.slider .swiper-button-prev {
  left: 8px;
}

.slider .swiper-button-next {
  right: 8px;
}

.slider .swiper-button-prev:hover,
.slider .swiper-button-next:hover {
  color: #000 !important;
  fill: #000 !important;
  opacity: 1;
  transform: scale(1.1);
}

@media (max-width: 767px) {
  .slider .swiper-button-prev,
  .slider .swiper-button-next {
    width: 24px;
    height: 24px;
  }
  .slider .swiper-button-prev {
    left: 4px;
  }
  .slider .swiper-button-next {
    right: 4px;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .slider .swiper-button-prev,
  .slider .swiper-button-next {
    width: 30px;
    height: 30px;
  }
  .slider .swiper-button-prev {
    left: 6px;
  }
  .slider .swiper-button-next {
    right: 6px;
  }
}

.slider .swiper-pagination-bullet {
  background: #999 !important;
  opacity: 0.7;
}

.slider .swiper-pagination-bullet-active {
  background: #1A1A1A !important;
  opacity: 1;
}

/* ------------------------
   CTA Button Layout (Default)
------------------------ */
.kt-buttons-wrap,
.wp-block-kadence-advancedbtn {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}

/* CTA visual baseline */
.wp-block-button__link,
.kadence-blocks-btn,
.kt-button,
.button {
  border-radius: 8px;
  padding: 10px 18px;
  font-weight: 600;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ------------------------
   FIX CTA CLICK HANDLING
------------------------ */
.open-amelia-modal,
.open-chat-modal, 
.open-newsletter-modal {
  cursor: pointer !important;
  pointer-events: auto !important;
}

.open-amelia-modal *,
.open-chat-modal *,
.open-newsletter-modal * {
  pointer-events: none !important;
}

/* ------------------------
   Special stacking: only when wrapper has .special-cta
------------------------ */
.special-cta .kt-buttons-wrap,
.special-cta .wp-block-kadence-advancedbtn {
  flex-direction: column !important;
  align-items: center !important;
  width: 100%;
}

.special-cta .kt-button,
.special-cta .wp-block-button__link {
  width: 100% !important;
  max-width: 320px;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .special-cta .kt-button {
    max-width: 100%;
  }
}

/* ------------------------
   Small device tweaks
------------------------ */
@media (max-width: 600px) {
  .kt-buttons-wrap,
  .wp-block-kadence-advancedbtn {
    flex-direction: column;
    align-items: center;
  }
}

/* ===============================
   AMELIA MODAL
================================== */

#ameliaModal .custom-modal-inner {
  max-width: 520px;
  max-height: 75vh;
}

/* ------------------------
   Modal mobile scroll fix (All modals)
------------------------ */
@media (max-width: 767px) {
  #ameliaModal,
  #chatWithUsModal,
  #newsletterModal {
    align-items: flex-start !important;
    overflow-y: auto !important;
    padding: 40px 12px !important;
  }

  #ameliaModal .custom-modal-inner,
  #chatWithUsModal .custom-modal-inner,
  #newsletterModal .custom-modal-inner {
    max-height: none !important;
    height: auto !important;
    margin: 40px auto !important;
    border-radius: 10px !important;
    max-width: 100% !important;
  }

  body[style*="overflow: hidden"] {
    position: fixed;
    width: 100%;
  }
}

/* ===============================
   Newsletter Modal Styles
================================== */
#newsletterModal {
  display: none;
  visibility: hidden;
  opacity: 0;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 99999;
  justify-content: center;
  align-items: center;
  padding: 20px;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#newsletterModal > div {
  background: #fff;
  border-radius: 12px;
  max-width: 680px;
  width: 100%;
  padding: 24px;
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

#newsletterModal button[id^="close"] {
  position: absolute;
  top: 10px;
  right: 14px;
  font-size: 28px;
  background: none;
  border: none;
  cursor: pointer;
  color: #666;
  transition: color 0.2s ease;
}

#newsletterModal button[id^="close"]:hover {
  color: #000;
}

#newsletterModal .forminator-modal-form {
  display: none;
}

@media (max-width: 480px) {
  #newsletterModal > div {
    padding: 18px;
    max-width: 90%;
  }
  #newsletterModal button[id^="close"] {
    font-size: 24px;
  }
}