/* Premium Luxury Travel Color Scheme with Standout Buttons */

/* General Styles */
.topNavContainer, .copyright {
  background: #FFFFFF; /* Clean white */
  border-bottom: 1px solid #E5E7EB; /* Subtle border */
  color: #1F2937; /* Dark charcoal text */
}

.copyright a {
  color: #4B5563; /* Medium gray for links */
}

h1, h2 {
  color: #1E293B; /* Rich dark blue-gray for headings */
}

.fa-bars, .fa-times, a.mobileHomeLink, a.mobileHomeLink:hover, .mobileMenuLink, .mobileMenuLink:hover {
  color: #475569 !important; /* Slate gray */
}

.visitorRating {
  color: #475569 !important; /* Slate gray */
}

.topNav a {
  color: #334155; /* Deep slate for navigation */
}

.topNav a:hover {
  color: #7C3AED; /* Vibrant purple for hover state */
}

a {
  color: #334155; /* Deep slate for links */

}

a:hover {
  color: #7C3AED; /* Vibrant purple for hover */
}

.breadcrumbsContainer {
  background: #F1F5F9; /* Light cool gray */
}

.breadcrumbs li a::after, .breadcrumbs li div::after { 
  border-left: 30px solid #F1F5F9; /* Match breadcrumb container */
}

.breadcrumbs li a:hover { 
  background: #E2E8F0; /* Slightly darker shade for hover */
}

.breadcrumbs li a:hover:after { 
  border-left-color: #E2E8F0 !important; /* Match hover background */
}

a {
  text-decoration: none !important;
}

.breadcrumbs li a, .breadcrumbs li div {
  background: #F1F5F9; /* Light cool gray */
  color: #334155; /* Deep slate text */
}

h1.showLodgesHeader, .footer, .a3AccommName, h2.newHeader, h4.newHeader, .attractionsTitle {
  background: #8685b3; /* Deep indigo for headers */
  color: #ffffff;
}

.attractionsTitle span {
  color: #312E81; /* Deep indigo */
}

h2.foundNum {
  color: #475569; /* Slate gray */
}

.refineHeader, .destinationsHeader, .listPropertyContainer, .leftMenuHeader {
  background: #F1F5F9; /* Light cool gray */
  color: #1E293B; /* Rich dark blue-gray text */
  border-left: 4px solid #7C3AED; /* Vibrant purple accent */
}

.container {
  color: #334155; /* Deep slate for body text */
}

/* ★★★ STANDOUT BUTTONS - THE FOCAL POINT ★★★ */
.viewButton, .moreInfoButton, .viewAccomsButtonDesktop, .viewAccomsButtonMobile, .newButton, .carousel-view-button {
  font-size: 16px;
  padding: 16px 14px;
  box-sizing: border-box;
  border-radius: 10px;
  color: white;
  background: #8B5CF6; /* Vibrant purple - eye-catching and distinctive */
  text-align: center;
  width: 100%;
  font-weight: bold;
  border: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4); /* Subtle glow effect */
  position: relative;
  overflow: hidden;
}

.viewButton:hover, .newButton:hover, .moreInfoButton:hover, .carousel-view-button:hover {
  background: #7C3AED; /* Deeper purple for hover */
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 7px 20px rgba(124, 58, 237, 0.5); /* Enhanced glow on hover */
  color: white;
}

/* Button after effect - subtle shine animation */
.viewButton:after, .newButton:after, .moreInfoButton:after, .carousel-view-button:after {
  content: "";
  position: absolute;
  top: -50%;
  left: -60%;
  width: 20%;
  height: 200%;
  background: rgba(255, 255, 255, 0.3);
  transform: rotate(30deg);
  transition: all 0.8s;
}

.viewButton:hover:after, .newButton:hover:after, .moreInfoButton:hover:after, .carousel-view-button:hover:after {
  left: 120%;
}

/* Rating Element */
.reevooScore, .ratingMobile {
  background: #F8FAFC; /* Very light gray */
  color: #1E293B; /* Rich dark blue-gray text */
  padding: 5px 10px;
  border-radius: 4px;
  border: 1px solid #E2E8F0;
}

.innerLogo img {
  max-width: 190px;
}

/* Info Text */
.infoTextContainer {
  display: flex;
  flex-wrap: wrap;
}

.infoTextContainer i {
  color: #7C3AED !important; /* Vibrant purple */
}

.infoText {
  margin-right: 15px;
  color: #334155; /* Deep slate */
}

.infoText i {
  color: #7C3AED; /* Vibrant purple */
  margin-right: 5px;
}

/* Hero Section */
.availabilityHeaderContainer {
  position: relative;
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.6)), url('/images/cottage-hero.jpg') no-repeat center center;
  background-size: cover;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 10px;
}

.heroTitle {
  color: white !important;
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: 2px;
  margin-bottom: 5px;
  text-transform: uppercase;
  animation: fadeInDown 1.2s ease-out;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.heroSubtitle {
  color: white !important;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 1px;
  margin-bottom: 15px;
  text-transform: uppercase;
  animation: fadeInDown 1.2s ease-out 0.2s;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.heroDivider {
  width: 120px;
  height: 4px;
  background: #8B5CF6; /* Purple accent to match buttons */
  margin: 15px auto;
  animation: scaleIn 1.5s ease-out;
}

.heroTagline {
  color: white !important;
  font-size: 1.1rem;
  margin-top: 0;
  animation: fadeInLeft 1.2s ease-out;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

/* Banner text - ensuring visibility */
.bannerText, .bannerContainer h1, .bannerContainer h2, .bannerContainer p {
  color: white !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
  background-color: rgba(30, 41, 59, 0.7); /* Semi-transparent rich dark blue-gray */
  padding: 8px 15px;
  border-radius: 6px;
}

/* Mobile Adjustments */
@media only screen and (max-width: 768px) {
  h1.showLodgesHeader {
    color: white;
  }

  .newButton {
    border-radius: 8px;
    margin: 10px 0;
  }
  
  .mobAvailButt {
    background: #8B5CF6; /* Purple to match desktop buttons */
    color: white;
    padding: 12px;
    text-align: center;
    border-radius: 8px;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 1px;
    box-shadow: 0 4px 10px rgba(139, 92, 246, 0.3);
  }
  
  .favourites {
    color: #E2E8F0; /* Light gray */
  }
}

/* Mobile Adjustments */
@media only screen and (max-width: 600px) {
  .infoTextContainer {
    justify-content: center !important;
    gap: 20px;
  }
 
  .infoText {
    font-size: 12pt !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .infoText i {
    font-size: 15pt !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-bottom: 10px !important;
    color: #7C3AED !important; /* Vibrant purple */
  }

  .shortDescriptionMob {
    font-size: 11pt !important;
  }
}