/* CSS Styles for Hero Section with 3-Slide Carousel and Form */
:root {
  --bronze-gold-720d5de9: #C5A880;
  --bronze-dark-720d5de9: #2D251E;
  --ivory-white-720d5de9: #FFFFF0;
  --sand-bg-720d5de9: #F5EFEB;
  --error-color-720d5de9: #B22222;
  --success-color-720d5de9: #2E8B57;
}

.hero-carousel-wrapper-720d5de9 {
  width: 100%;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.hero-carousel-wrapper-720d5de9 *, 
.hero-carousel-wrapper-720d5de9 *::before, 
.hero-carousel-wrapper-720d5de9 *::after {
  box-sizing: border-box;
}

/* Container defining full hero setup */
.hero-carousel-container-720d5de9 {
  position: relative;
  width: 100%;
  min-height: 85vh;
  display: flex;
  flex-direction: row;
}

/* Swiper Container */
.mySwiper-720d5de9 {
  width: 100%;
  height: 85vh;
}

/* Slides styling */
.hero-slide-720d5de9 {
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: flex-end; /* positions text in the lower third */
  padding: 60px 8% 100px 8%;
}

/* Soft Bronze Dark gradient overlay (bottom-to-top, 60% to 0%) */
.slide-overlay-720d5de9 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(45, 37, 30, 0.7) 0%, rgba(45, 37, 30, 0.3) 50%, rgba(45, 37, 30, 0) 100%);
  z-index: 1;
}

/* Slide Content Container */
.slide-content-720d5de9 {
  position: relative;
  z-index: 2;
  max-width: 55%;
  text-align: left;
  margin-bottom: 20px;
}

/* Slide Content typography */
.slide-eyebrow-720d5de9 {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: var(--bronze-gold-720d5de9);
  text-transform: uppercase;
  display: block;
  margin-bottom: 12px;
}

.slide-headline-720d5de9 {
  font-family: 'Playfair Display', serif;
  font-size: 56px;
  line-height: 1.15;
  color: var(--ivory-white-720d5de9);
  font-weight: 700;
  margin: 0 0 16px 0;
}

.slide-text-720d5de9 {
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 240, 0.9);
  font-weight: 400;
  margin: 0 0 32px 0;
  max-width: 90%;
}

/* Buttons and CTAs */
.slide-ctas-720d5de9 {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.btn-primary-720d5de9, 
.btn-secondary-720d5de9 {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-block;
  text-align: center;
}

.btn-primary-720d5de9 {
  background-color: var(--bronze-gold-720d5de9);
  color: var(--bronze-dark-720d5de9);
}

.btn-primary-720d5de9:hover {
  background-color: #b5956c;
  color: #1a1511;
  transform: translateY(-2px);
}

.btn-secondary-720d5de9 {
  background-color: transparent;
  color: var(--ivory-white-720d5de9);
  border: 1.5px solid var(--ivory-white-720d5de9);
}

.btn-secondary-720d5de9:hover {
  background-color: rgba(255, 255, 240, 0.15);
  transform: translateY(-2px);
}

/* Swiper navigation and indicators customizations */
.swiper-pagination-720d5de9 {
  bottom: 40px !important;
  left: 8% !important;
  text-align: left !important;
  z-index: 10;
  width: auto !important;
}

.swiper-pagination-720d5de9 .swiper-pagination-bullet {
  background: var(--ivory-white-720d5de9);
  opacity: 0.4;
  width: 10px;
  height: 10px;
  transition: opacity 0.3s, background-color 0.3s;
}

.swiper-pagination-720d5de9 .swiper-pagination-bullet-active {
  background: var(--bronze-gold-720d5de9) !important;
  opacity: 1;
}

.swiper-nav-btn-720d5de9 {
  color: var(--ivory-white-720d5de9) !important;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: rgba(45, 37, 30, 0.4);
  backdrop-filter: blur(4px);
  transition: background-color 0.3s, color 0.3s;
}

.swiper-nav-btn-720d5de9:hover {
  background-color: var(--bronze-gold-720d5de9);
  color: var(--bronze-dark-720d5de9) !important;
}

.swiper-nav-btn-720d5de9::after {
  font-size: 18px !important;
  font-weight: bold;
}

.swiper-button-prev.swiper-nav-btn-720d5de9 {
  left: 20px;
}

.swiper-button-next.swiper-nav-btn-720d5de9 {
  right: auto;
  left: 74px; /* Grouped next to previous button for elegance, or on right depending on style. Let's make left/prev spaced nicely or default layout. We will place standard prev on left, next on right but offset with form. Since form is on right, let's keep next on the left-side cluster so it is not behind form! */
}

.swiper-button-prev {
  left: 4% !important;
}
.swiper-button-next {
  right: calc(40% + 40px) !important; /* Kept away from floating card */
}

/* Floating Enquiry Form Card (Desktop) */
.enquiry-card-container-720d5de9 {
  position: absolute;
  right: 5%;
  bottom: -40px; /* Overlaps bottom edge slightly */
  width: 400px;
  z-index: 20;
}

.enquiry-card-720d5de9 {
  background: var(--ivory-white-720d5de9);
  padding: 36px;
  border-radius: 12px;
  box-shadow: 0 15px 35px rgba(45, 37, 30, 0.12);
}

.form-heading-720d5de9 {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  color: var(--bronze-dark-720d5de9);
  margin-top: 0;
  margin-bottom: 24px;
  font-weight: 700;
  text-align: center;
}

/* Form inputs and labels */
.form-group-720d5de9 {
  margin-bottom: 18px;
  display: flex;
  flex-direction: column;
}

.form-label-720d5de9 {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--bronze-dark-720d5de9);
  margin-bottom: 6px;
}

.optional-tag-720d5de9 {
  font-weight: 400;
  opacity: 0.6;
}

.form-input-720d5de9 {
  background-color: var(--sand-bg-720d5de9);
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 12px 16px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--bronze-dark-720d5de9);
  transition: all 0.3s ease;
  outline: none;
}

.form-input-720d5de9::placeholder {
  color: rgba(45, 37, 30, 0.4);
}

.form-input-720d5de9:focus {
  border-color: var(--bronze-gold-720d5de9);
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(197, 168, 128, 0.15);
}

/* Phone validation custom prefix and alignment */
.tel-wrapper-720d5de9 {
  display: flex;
  background-color: var(--sand-bg-720d5de9);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid transparent;
  transition: all 0.3s ease;
}

.tel-wrapper-720d5de9:focus-within {
  border-color: var(--bronze-gold-720d5de9);
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(197, 168, 128, 0.15);
}

.tel-prefix-720d5de9 {
  padding: 12px 0 12px 16px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--bronze-dark-720d5de9);
  user-select: none;
  display: flex;
  align-items: center;
}

.tel-input-720d5de9 {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  flex: 1;
}

.textarea-720d5de9 {
  resize: none;
  height: 80px;
}

/* Submit Button styling */
.submit-btn-720d5de9 {
  width: 100%;
  background-color: var(--bronze-gold-720d5de9);
  color: var(--bronze-dark-720d5de9);
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.submit-btn-720d5de9:hover {
  background-color: #b5956c;
  transform: translateY(-1px);
}

/* Validation states CSS */
.form-input-720d5de9:invalid:not(:placeholder-shown):not(:focus) {
  border-color: var(--error-color-720d5de9);
}

/* Submit message styling */
.form-message-container-720d5de9 {
  margin-top: 15px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  text-align: center;
}

.form-message-success-720d5de9 {
  color: var(--success-color-720d5de9);
  font-weight: 500;
}

.form-message-error-720d5de9 {
  color: var(--error-color-720d5de9);
  font-weight: 500;
}

/* RESPONSIVE STYLES */
@media (max-width: 1024px) {
  .slide-content-720d5de9 {
    max-width: 50%;
  }
  .swiper-button-next {
    right: calc(45% + 20px) !important;
  }
  .enquiry-card-container-720d5de9 {
    right: 2%;
    width: 380px;
  }
}

@media (max-width: 900px) {
  .hero-carousel-container-720d5de9 {
    flex-direction: column;
    min-height: auto;
  }

  .mySwiper-720d5de9 {
    height: 75vh;
  }

  .hero-slide-720d5de9 {
    padding: 60px 5% 120px 5%;
  }

  .slide-content-720d5de9 {
    max-width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .slide-ctas-720d5de9 {
    justify-content: center;
  }

  .swiper-pagination-720d5de9 {
    left: 0 !important;
    right: 0 !important;
    text-align: center !important;
    bottom: 30px !important;
  }

  .swiper-button-prev {
    left: 15px !important;
  }
  .swiper-button-next {
    right: 15px !important;
  }

  .enquiry-card-container-720d5de9 {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin-top: 0;
  }

  .enquiry-card-720d5de9 {
    border-radius: 0;
    box-shadow: none;
    padding: 40px 20px;
  }
}

@media (max-width: 600px) {
  .slide-headline-720d5de9 {
    font-size: 32px;
  }
  .slide-text-720d5de9 {
    font-size: 15px;
    max-width: 100%;
  }
  .btn-primary-720d5de9, 
  .btn-secondary-720d5de9 {
    width: 100%;
  }
}
