@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

/* 
   Villa Roma Resort - Custom Stylesheet for New Pages
   Identity: vr-styles.css
   Global elements (header, footer, fonts, color themes) are inherited from stylesheet.css.
*/

/* Core Design Tokens & Theme Colors */
:root {
  --vr-maroon: #6c011d;
  --vr-gold: #b5873c;
  --vr-gold-hover: #9c712e;
  --vr-light-bg: #fbf9f6;
  --vr-border-color: #ebdcd0;
  --vr-dark-text: #2c2520;
  --vr-muted-text: #706259;

  --category-family: #2e7d32;
  --category-active: #d84315;
  --category-creative: #6a1b9a;
  --category-entertainment: #1565c0;
  --vr-sans: 'Plus Jakarta Sans', sans-serif;
  --vr-serif: 'Plus Jakarta Sans', sans-serif;
}

/* Page Hero Section */
.vr-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 10rem 0 6rem 0;
  color: #fff;
  text-align: center;
}

.celebrations-package {
  background: #4b0e1b !important;
}

.vr-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(44, 37, 32, 0.6) 0%, rgba(108, 1, 29, 0.75) 100%);
  z-index: 1;
}

.vr-hero-content {
  position: relative;
  z-index: 2;
}

.vr-hero h1 {
  font-family: var(--vr-sans);
  font-size: 3.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 1rem;
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.vr-hero p {
  font-family: var(--vr-sans);
  font-size: 1.25rem;
  font-weight: 500;
  color: #ebdcd0;
  max-width: 600px;
  margin: 0 auto;
}

/* Scheduler & Universal Section */
.vr-scheduler-sec,
.vr-section {
  background-color: var(--vr-light-bg);
  padding: 4rem 0;
}

/* =========================================================================
   GLOBAL SECTION SPACING OVERRIDE
   Forces a consistent 3rem (48px) top/bottom padding on ALL major sections
   Overrides Bootstrap classes (py-5, mt-4, etc.) to fix inconsistent gaps
========================================================================= */
section:not(.vr-hero):not(.hero):not(.inner-hero):not(.vr-unified-hero):not(.vr-booking-form-section):not(.vr-trust-banner):not(.vr-common-help-banner):not([class*="pb-0"]):not([class*="pt-0"]):not([class*="p-0"]):not(.vr-highlights-bar-section):not(.vr-hero-highlights-bar-section) {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 991px) {
  section:not(.vr-hero):not(.hero):not(.inner-hero):not(.vr-unified-hero):not(.vr-booking-form-section):not(.vr-trust-banner):not(.vr-common-help-banner):not([class*="pb-0"]):not([class*="pt-0"]):not([class*="p-0"]):not(.vr-highlights-bar-section):not(.vr-hero-highlights-bar-section) {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}

/* Prevent double padding when sections with the same background are adjacent */
section.bg-light-1+section.bg-light-1,
section.bg-white+section.bg-white,
section:not([class*="bg-"])+section:not([class*="bg-"]) {
  padding-top: 0 !important;
}

/* Date/Step Bar */
.vr-step-bar {
  background: #ffffff;
  border-radius: 12px;
  padding: 1.25rem 2rem;
  box-shadow: 0 4px 15px rgba(108, 1, 29, 0.05);
  border: 1px solid var(--vr-border-color);
  margin-bottom: 2rem;
}

.vr-step-title {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--vr-gold);
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.vr-step-desc {
  font-family: var(--vr-sans);
  font-size: 1.4rem;
  color: var(--vr-maroon);
  font-weight: 800;
  margin: 0;
}

/* Date Navigation Carousel */
.vr-date-carousel {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 2.5rem;
  overflow-x: auto;
  padding-bottom: 10px;
}

.vr-date-carousel::-webkit-scrollbar {
  height: 5px;
}

.vr-date-carousel::-webkit-scrollbar-thumb {
  background: var(--vr-border-color);
  border-radius: 10px;
}

.vr-date-btn {
  flex: 0 0 auto;
  width: 90px;
  height: 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid var(--vr-border-color);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
}

.vr-date-btn .day {
  font-size: 0.8rem;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--vr-muted-text);
  margin-bottom: 5px;
}

.vr-date-btn .date {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--vr-dark-text);
}

.vr-date-btn:hover {
  border-color: var(--vr-gold);
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(181, 135, 60, 0.15);
}

.vr-date-btn.active {
  background: var(--vr-maroon);
  border-color: var(--vr-maroon);
  box-shadow: 0 6px 15px rgba(108, 1, 29, 0.3);
}

.vr-date-btn.active .day,
.vr-date-btn.active .date {
  color: #ffffff;
}

/* 3-Column Layout Styling */

/* 1. Filters Card */
.vr-filter-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 2rem;
  border: 1px solid var(--vr-border-color);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

.vr-filter-card h4 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--vr-maroon);
  margin-bottom: 1.5rem;
  font-family: var(--vr-sans);
}

.vr-filter-group {
  margin-bottom: 1.5rem;
}

.vr-filter-label {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--vr-muted-text);
  margin-bottom: 0.75rem;
  display: block;
}

.vr-select {
  width: 100%;
  padding: 0.85rem 1rem;
  border-radius: 8px;
  border: 1px solid var(--vr-border-color);
  font-size: 0.95rem;
  color: var(--vr-dark-text);
  background-color: #fff;
  transition: all 0.2s ease;
}

.vr-select:focus {
  border-color: var(--vr-maroon);
  outline: none;
  box-shadow: 0 0 0 3px rgba(108, 1, 29, 0.1);
}

/* Time Button Options */
.vr-time-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vr-time-option-btn {
  width: 100%;
  padding: 0.8rem;
  border: 1px solid var(--vr-border-color);
  background: #fff;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--vr-dark-text);
  text-align: left;
  transition: all 0.2s ease;
}

.vr-time-option-btn:hover {
  border-color: var(--vr-gold);
  background: var(--vr-light-bg);
}

.vr-time-option-btn.active {
  background: var(--vr-gold);
  border-color: var(--vr-gold);
  color: #fff;
}

.vr-clear-btn {
  background: transparent;
  border: none;
  color: var(--vr-maroon);
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0;
  cursor: pointer;
  transition: color 0.2s ease;
}

.vr-clear-btn:hover {
  color: var(--vr-gold);
}

/* 2. Sessions List */
.vr-sessions-header {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin-bottom: 1.25rem;
}

.vr-session-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.vr-session-card {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--vr-border-color);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.vr-session-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: transparent;
  border-radius: 12px 0 0 12px;
  transition: background 0.2s ease;
}

.vr-session-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.04);
  border-color: var(--vr-gold);
}

.vr-session-card.active {
  border-color: var(--vr-maroon);
  box-shadow: 0 8px 25px rgba(108, 1, 29, 0.08);
}

.vr-session-card.active::before {
  background: var(--vr-maroon);
}

.vr-session-time {
  flex: 0 0 130px;
}

.vr-session-time .time-range {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--vr-maroon);
}

.vr-session-time .duration {
  font-size: 0.8rem;
  color: var(--vr-muted-text);
  font-weight: 600;
}

.vr-session-info {
  flex: 1 1 auto;
  padding-left: 1rem;
}

.vr-session-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin-bottom: 4px;
}

.vr-session-instructor {
  font-size: 0.9rem;
  color: var(--vr-muted-text);
}

.vr-session-price-box {
  text-align: right;
  padding-right: 1.5rem;
}

.vr-session-price {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--vr-dark-text);
}

.vr-session-tax {
  font-size: 0.75rem;
  color: var(--vr-muted-text);
  display: block;
}

.vr-session-action {
  flex: 0 0 auto;
  color: var(--vr-muted-text);
  font-size: 1.2rem;
}

.vr-session-card.active .vr-session-action {
  color: var(--vr-maroon);
}

.vr-session-badge {
  background: #fdf5f5;
  color: var(--vr-maroon);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
  display: inline-block;
  margin-top: 5px;
}

/* 3. Detail & Booking Column */
.vr-detail-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid var(--vr-border-color);
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.03);
  overflow: hidden;
  position: sticky;
  top: 100px;
}

.vr-detail-img-wrapper {
  position: relative;
  height: 200px;
  overflow: hidden;
}

.vr-detail-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vr-like-btn {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vr-maroon);
  font-size: 1.1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.vr-like-btn:hover {
  transform: scale(1.1);
  background: #ffffff;
}

.vr-detail-content {
  padding: 2rem;
}

.vr-detail-category {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--vr-gold);
  letter-spacing: 1px;
  margin-bottom: 0.5rem;
  display: block;
}

.vr-detail-title {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--vr-maroon);
  margin-bottom: 1rem;
  font-family: var(--vr-sans);
}

.vr-detail-time {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.vr-detail-time i {
  color: var(--vr-gold);
}

.vr-detail-desc {
  font-size: 0.95rem;
  color: var(--vr-muted-text);
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.vr-detail-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 2rem;
}

.vr-badge-info {
  background: var(--vr-light-bg);
  border: 1px solid var(--vr-border-color);
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--vr-dark-text);
  display: flex;
  align-items: center;
  gap: 6px;
}

.vr-badge-info i {
  color: var(--vr-gold);
}

/* Practitioner Info block */
.vr-practitioner-box {
  background: var(--vr-light-bg);
  border-radius: 12px;
  padding: 1.25rem;
  border: 1px solid var(--vr-border-color);
  margin-bottom: 2rem;
}

.vr-practitioner-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 0.75rem;
}

.vr-practitioner-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--vr-gold);
}

.vr-practitioner-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin: 0;
}

.vr-practitioner-role {
  font-size: 0.8rem;
  color: var(--vr-muted-text);
  margin: 0;
}

.vr-practitioner-rating {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--vr-dark-text);
}

.vr-practitioner-rating i {
  color: #ffc107;
}

.vr-practitioner-bio {
  font-size: 0.85rem;
  color: var(--vr-muted-text);
  line-height: 1.5;
  margin: 0;
}

/* Form Styles */
.vr-booking-form {
  border-top: 1px solid var(--vr-border-color);
  padding-top: 1.5rem;
}

.vr-form-group {
  margin-bottom: 1.25rem;
}

.vr-form-group label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--vr-muted-text);
  margin-bottom: 0.4rem;
  display: block;
}

.vr-input {
  width: 100%;
  padding: 0.75rem 1rem !important;
  border-radius: 8px;
  border: 1px solid var(--vr-border-color);
  font-size: 0.95rem;
  transition: all 0.2s ease;
}

.vr-input:focus {
  border-color: var(--vr-maroon);
  outline: none;
  box-shadow: 0 0 0 3px rgba(108, 1, 29, 0.1);
}

.vr-booking-footer {
  margin-top: 1.5rem;
}

.vr-spots-notice {
  font-size: 0.85rem;
  font-weight: 700;
  color: #d9534f;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 6px;
}

.vr-submit-btn {
  width: 100%;
  padding: 1rem;
  background: var(--vr-maroon);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
}

.vr-submit-btn:hover {
  background: var(--vr-maroon);
  box-shadow: 0 6px 15px rgba(108, 1, 29, 0.3);
  opacity: 0.9;
}

.vr-secure-text {
  font-size: 0.75rem;
  color: var(--vr-muted-text);
  text-align: center;
  margin-top: 8px;
  display: block;
}

/* Page 2: Daily Activities Styling */
.vr-activity-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid var(--vr-border-color);
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.vr-activity-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(108, 1, 29, 0.08);
  border-color: var(--vr-maroon);
}

.vr-activity-img {
  height: 200px;
  width: 100%;
  object-fit: cover;
}

.vr-activity-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.vr-activity-time-loc {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--vr-maroon);
  margin-bottom: 0.5rem;
}

.vr-activity-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--vr-dark-text);
  margin-bottom: 0.75rem;
  font-family: var(--vr-sans);
}

.vr-activity-desc {
  font-size: 0.9rem;
  color: var(--vr-muted-text);
  line-height: 1.5;
  margin-bottom: 1.25rem;
  flex-grow: 1;
}

.vr-activity-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--vr-border-color);
  padding-top: 1rem;
}

.vr-category-badge {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  color: #fff;
}

.vr-badge-family {
  background-color: var(--category-family);
}

.vr-badge-active {
  background-color: var(--category-active);
}

.vr-badge-creative {
  background-color: var(--category-creative);
}

.vr-badge-entertainment {
  background-color: var(--category-entertainment);
}

/* Page 3: Pools Styling */
.vr-pool-box {
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid var(--vr-border-color);
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  margin-bottom: 3rem;
}

.vr-pool-img-col img {
  width: 100%;
  height: 100%;
  min-height: 350px;
  object-fit: cover;
}

.vr-pool-details {
  padding: 3rem;
}

.vr-pool-details h3 {
  font-family: var(--vr-sans);
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--vr-maroon);
  margin-bottom: 1rem;
}

.vr-pool-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin: 1.5rem 0;
}

.vr-pool-meta-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--vr-dark-text);
}

.vr-pool-meta-item i {
  color: var(--vr-gold);
  font-size: 1.2rem;
}

.vr-chair-layout {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 8px;
  margin: 1.5rem 0;
  padding: 1.5rem;
  background: var(--vr-light-bg);
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
}

.vr-chair {
  height: 40px;
  background: #fff;
  border: 2px solid var(--vr-border-color);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  transition: all 0.2s ease;
}

.vr-chair:hover {
  border-color: var(--vr-gold);
  background: #fbf6ee;
}

.vr-chair.booked {
  background: #ebdcd0;
  color: #a09085;
  cursor: not-allowed;
  border-color: #ebdcd0;
}

.vr-chair.selected {
  background: var(--vr-maroon);
  border-color: var(--vr-maroon);
  color: #fff;
}

/* Page 4: Gatherings & Events Redesign (Screen 4) */
.vr-hero-event {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 12rem 0;
  color: #ffffff;
}

.vr-hero-event::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(44, 37, 32, 0.75) 0%, rgba(108, 1, 29, 0.45) 100%);
  z-index: 1;
}

.vr-hero-event-content {
  position: relative;
  z-index: 2;
}

.vr-hero-subtitle-gold {
  color: var(--vr-gold);
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 1rem;
  display: block;
}

.vr-hero-title-large {
  font-family: var(--vr-sans);
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 1.5rem;
  color: #ffffff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

.vr-hero-desc-light {
  font-size: 1.15rem;
  color: #f3ebe4;
  max-width: 580px;
  line-height: 1.6;
}

.vr-hero-inquiry-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 2.5rem 2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  border: 1px solid var(--vr-border-color);
  max-width: 420px;
  margin-left: auto;
  transition: transform 0.3s ease;
  margin-top: 30px;
}

.vr-hero-inquiry-card:hover {
  transform: translateY(-3px);
}

.vr-hero-inquiry-icon {
  width: 50px;
  height: 50px;
  background: rgba(108, 1, 29, 0.05);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vr-maroon);
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

.vr-hero-inquiry-title {
  color: var(--vr-dark-text);
  font-size: 1.35rem;
  font-weight: 800;
  margin-bottom: 0.75rem;
}

.vr-hero-inquiry-text {
  color: var(--vr-muted-text);
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 1.75rem;
}

.vr-hero-inquiry-btn {
  width: 100%;
  padding: 0.85rem;
  background: var(--vr-maroon);
  color: #ffffff;
  font-weight: 700;
  border: none;
  border-radius: 6px;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 0.9rem;
  transition: all 0.25s ease;
  display: block;
  text-align: center;
  text-decoration: none;
}

.vr-hero-inquiry-btn:hover {
  background: #550014;
  color: #ffffff;
  box-shadow: 0 5px 15px rgba(108, 1, 29, 0.25);
}

/* Sidebar Styles */
.vr-sidebar-card {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  margin-bottom: 2rem;
}

.vr-sidebar-header {
  background: var(--vr-maroon);
  color: #ffffff;
  padding: 1.25rem 1.5rem;
  font-weight: 800;
  font-size: 0.95rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.vr-sidebar-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.vr-sidebar-nav-item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.1rem 1.5rem;
  border-bottom: 1px solid var(--vr-border-color);
  color: var(--vr-dark-text);
  font-weight: 700;
  font-size: 0.95rem;
  transition: all 0.2s ease;
  text-decoration: none;
}

.vr-sidebar-nav-item:last-child a {
  border-bottom: none;
}

.vr-sidebar-nav-item a i {
  font-size: 0.8rem;
  color: var(--vr-muted-text);
  transition: transform 0.2s ease;
}

.vr-sidebar-nav-item a:hover {
  background: var(--vr-light-bg);
  color: var(--vr-maroon);
}

.vr-sidebar-nav-item a:hover i {
  color: var(--vr-maroon);
  transform: translateX(4px);
}

.vr-sidebar-body {
  padding: 1.75rem 1.5rem;
}

.vr-sidebar-title {
  color: var(--vr-dark-text);
  font-weight: 800;
  font-size: 1.15rem;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.vr-sidebar-title i {
  color: var(--vr-maroon);
}

.vr-sidebar-text {
  color: var(--vr-muted-text);
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}

.vr-sidebar-link-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--vr-dark-text);
  font-weight: 700;
  font-size: 0.95rem;
  margin-bottom: 1rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.vr-sidebar-link-item:hover {
  color: var(--vr-maroon);
}

.vr-sidebar-link-item i {
  color: var(--vr-gold);
  font-size: 1.1rem;
  width: 20px;
  text-align: center;
}

.vr-sidebar-btn {
  width: 100%;
  padding: 0.75rem;
  background: transparent;
  border: 2px solid var(--vr-maroon);
  color: var(--vr-maroon);
  font-weight: 700;
  font-size: 0.85rem;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.2s ease;
  display: inline-block;
  text-align: center;
  text-decoration: none;
}

.vr-sidebar-btn:hover {
  background: var(--vr-maroon);
  color: #ffffff;
}

/* Event Types Grid Layout */
.vr-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  border-bottom: 2px solid var(--vr-border-color);
  padding-bottom: 1rem;
}

.vr-section-title-num {
  font-family: var(--vr-sans);
  color: var(--vr-dark-text);
  font-size: 1.35rem;
  font-weight: 800;
  text-transform: uppercase;
  margin: 0;
  letter-spacing: 0.5px;
}

.vr-section-btn-link {
  color: var(--vr-maroon);
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 1px solid var(--vr-border-color);
  padding: 0.5rem 1.25rem;
  border-radius: 6px;
  text-decoration: none;
  background: #ffffff;
  transition: all 0.2s ease;
}

.vr-section-btn-link:hover {
  background: var(--vr-maroon);
  color: #ffffff;
  border-color: var(--vr-maroon);
}

.vr-event-card {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  overflow: visible;
  /* to allow badge overlap */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  margin-bottom: 2.5rem;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  height: calc(100% - 2.5rem);
  display: flex;
  flex-direction: column;
  position: relative;
}

.vr-event-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 25px rgba(108, 1, 29, 0.08);
  border-color: var(--vr-gold);
}

.vr-event-card-img-wrapper {
  position: relative;
  width: 100%;
  height: 160px;
  border-top-left-radius: 11px;
  border-top-right-radius: 11px;
  overflow: hidden;
}

.vr-event-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.vr-event-card:hover .vr-event-card-img {
  transform: scale(1.08);
}

.vr-event-card-badge {
  position: absolute;
  top: 136px;
  left: 20px;
  width: 48px;
  height: 48px;
  background: var(--vr-maroon);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  z-index: 3;
  box-shadow: 0 4px 10px rgba(108, 1, 29, 0.3);
  border: 2px solid #ffffff;
  transition: all 0.3s ease;
}

.vr-event-card:hover .vr-event-card-badge {
  background: var(--vr-gold);
  transform: scale(1.1) rotate(5deg);
  box-shadow: 0 4px 12px rgba(181, 135, 60, 0.4);
}

.vr-event-card-body {
  padding: 2.25rem 1.25rem 1.5rem 1.25rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.vr-event-card-title {
  color: var(--vr-dark-text);
  font-size: 1.15rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
}

.vr-event-card-desc {
  color: var(--vr-muted-text);
  font-size: 0.85rem;
  line-height: 1.5;
  margin-bottom: 1.25rem;
  flex-grow: 1;
}

.vr-event-card-link {
  color: var(--vr-maroon);
  font-weight: 700;
  font-size: 0.85rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.2s ease, color 0.2s ease;
}

.vr-event-card-link:hover {
  color: var(--vr-gold);
  gap: 10px;
}

/* Venues Custom Card Grid */
.vr-venue-grid-card {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid var(--vr-border-color);
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  margin-bottom: 1.5rem;
  transition: all 0.3s ease;
  height: calc(100% - 1.5rem);
  display: flex;
  flex-direction: column;
}

.vr-venue-grid-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
  border-color: var(--vr-gold);
}

.vr-venue-grid-img-wrapper {
  width: 100%;
  height: 140px;
  overflow: hidden;
}

.vr-venue-grid-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.vr-venue-grid-card:hover .vr-venue-grid-img {
  transform: scale(1.06);
}

.vr-venue-grid-body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.vr-venue-grid-title {
  color: var(--vr-dark-text);
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: 0.75rem;
  text-align: left;
}

.vr-venue-grid-specs {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(235, 220, 208, 0.4);
  flex-grow: 1;
  gap: 2px;
}

.vr-venue-grid-spec-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
}

.vr-venue-grid-spec-value-row {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--vr-dark-text);
  margin-bottom: 2px;
  white-space: nowrap;
}

.vr-venue-grid-spec-value-row i {
  color: var(--vr-gold);
  font-size: 0.8rem;
}

.vr-venue-grid-spec-label {
  color: var(--vr-muted-text);
  font-size: 0.72rem;
  font-weight: 600;
}

.vr-venue-grid-btn {
  width: 100%;
  padding: 0.65rem;
  background: transparent;
  border: 1px solid var(--vr-maroon);
  color: var(--vr-maroon);
  font-weight: 700;
  font-size: 0.75rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.2s ease;
  display: block;
  text-align: center;
  text-decoration: none;
}

.vr-venue-grid-btn:hover {
  background: var(--vr-maroon);
  color: #ffffff;
}

/* Popular Packages Sidebar Component */
.vr-packages-box-card {
  background: #fff8f4;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  padding: 1.75rem 1.5rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.vr-packages-box-title {
  color: var(--vr-maroon);
  font-size: 1.15rem;
  font-weight: 800;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.vr-packages-box-title i {
  color: var(--vr-gold);
}

.vr-package-list-items {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 1.5rem;
}

.vr-package-list-single {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(235, 220, 208, 0.5);
}

.vr-package-list-single:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.vr-package-list-thumb {
  width: 55px;
  height: 55px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid var(--vr-border-color);
}

.vr-package-list-info {
  display: flex;
  flex-direction: column;
}

.vr-package-list-name {
  color: var(--vr-dark-text);
  font-weight: 800;
  font-size: 0.9rem;
  margin: 0 0 2px 0;
}

.vr-package-list-link {
  color: var(--vr-maroon);
  font-weight: 700;
  font-size: 0.78rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: gap 0.2s ease;
}

.vr-package-list-link:hover {
  color: var(--vr-gold);
  gap: 7px;
}

.vr-packages-box-bottom-link {
  display: block;
  text-align: center;
  color: var(--vr-maroon);
  font-weight: 800;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.vr-packages-box-bottom-link:hover {
  color: var(--vr-gold);
}

/* Horizontal Feature Strip Ribbon */
.vr-feature-ribbon-sec {
  background: #ffffff;
  border-top: 1px solid var(--vr-border-color);
  border-bottom: 1px solid var(--vr-border-color);
  padding: 2.5rem 0;
  margin-top: 2rem;
}

.vr-ribbon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 10px;
}

.vr-ribbon-icon {
  font-size: 2.2rem;
  color: var(--vr-gold);
  margin-bottom: 0.75rem;
}

.vr-ribbon-title {
  color: var(--vr-dark-text);
  font-weight: 800;
  font-size: 0.95rem;
  margin-bottom: 0.35rem;
}

.vr-ribbon-desc {
  color: var(--vr-muted-text);
  font-size: 0.8rem;
  line-height: 1.4;
  margin: 0;
}

/* Call to Action Banner Styles */
.vr-cta-planning-banner {
  background: var(--vr-maroon);
  color: #ffffff;
  padding: 3rem 0;
}

.vr-cta-banner-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.vr-cta-banner-left {
  display: flex;
  align-items: center;
  gap: 20px;
}

.vr-cta-banner-icon {
  font-size: 2.5rem;
  color: var(--vr-gold);
}

.vr-cta-banner-texts {
  display: flex;
  flex-direction: column;
}

.vr-cta-banner-title {
  font-family: var(--vr-sans);
  font-size: 1.6rem;
  font-weight: 800;
  margin: 0 0 4px 0;
  color: rgba(255, 255, 255, 0.85);

}

.vr-cta-banner-desc {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
}

.vr-cta-banner-desc a {
  color: #ffffff;
  font-weight: 700;
  text-decoration: underline;
}

.vr-cta-banner-desc a:hover {
  color: var(--vr-gold);
}

.vr-cta-banner-btn {
  padding: 0.85rem 2rem;
  background: transparent;
  border: 1px solid #ffffff;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.vr-cta-banner-btn:hover {
  background: #ffffff;
  color: var(--vr-maroon);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

/* Responsive adjustments */
@media (max-width: 1200px) {
  .vr-venue-grid-title {
    font-size: 1rem;
  }
}

@media (max-width: 991px) {
  .vr-hero-title-large {
    font-size: 2.75rem;
  }

  .vr-hero-inquiry-card {
    margin: 2rem auto 0 auto;
  }

  .vr-hero-event {
    text-align: center;
    padding: 5rem 0;
  }

  .vr-hero-desc-light {
    margin: 0 auto;
  }

  .vr-cta-banner-content {
    justify-content: center;
    text-align: center;
  }

  .vr-cta-banner-left {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .vr-ribbon-item {
    margin-bottom: 2rem;
  }
}

@media (max-width: 575px) {
  .vr-hero-title-large {
    font-size: 2.25rem;
  }
}

/* Page 5: Owners Portal / Timeshare */
.vr-portal-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid var(--vr-border-color);
  padding: 2.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
  margin-bottom: 2rem;
}

.vr-points-calculator {
  background: var(--vr-light-bg);
  border-radius: 12px;
  padding: 2rem;
  border: 1px solid var(--vr-border-color);
}

.vr-calc-result {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--vr-maroon);
  margin: 1rem 0;
}

.vr-owner-doc-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background: #ffffff;
  border: 1px solid var(--vr-border-color);
  border-radius: 8px;
  margin-bottom: 10px;
}

.vr-owner-doc-item:hover {
  border-color: var(--vr-gold);
}

/* Page 6: Dining & Nightlife */
.vr-dining-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid var(--vr-border-color);
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  margin-bottom: 2.5rem;
}

.vr-dining-img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
}

.vr-dining-body {
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
}

.vr-dining-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--vr-maroon);
  margin-bottom: 0.5rem;
}

.vr-dining-hours {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--vr-gold);
  margin-bottom: 1rem;
  letter-spacing: 1px;
}

.vr-dining-desc {
  font-size: 0.95rem;
  color: var(--vr-muted-text);
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* Page 9: Amenities Grid Styling */
.vr-amenity-grid-item {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  height: 300px;
  margin-bottom: 2rem;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.vr-amenity-grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.vr-amenity-grid-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(108, 1, 29, 0.85) 100%);
  z-index: 1;
  transition: background 0.3s ease;
}

.vr-amenity-grid-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem;
  z-index: 2;
  color: #ffffff;
}

.vr-amenity-grid-content h4 {
  font-size: 1.5rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
  font-family: var(--vr-sans);
}

.vr-amenity-grid-content p {
  font-size: 0.9rem;
  margin: 0;
  opacity: 0.9;
}

.vr-amenity-grid-item:hover img {
  transform: scale(1.1);
}

.vr-amenity-grid-item:hover::before {
  background: linear-gradient(180deg, rgba(108, 1, 29, 0.2) 20%, rgba(108, 1, 29, 0.9) 100%);
}

/* Page 10: Alba Nouva Menu */
.vr-menu-section-title {
  font-family: var(--vr-sans);
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--vr-maroon);
  border-bottom: 2px solid var(--vr-gold);
  padding-bottom: 0.5rem;
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.vr-menu-item {
  margin-bottom: 2rem;
}

.vr-menu-item-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.5rem;
}

.vr-menu-item-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin: 0;
}

.vr-menu-item-dots {
  flex-grow: 1;
  border-bottom: 2px dotted var(--vr-border-color);
  margin: 0 10px;
}

.vr-menu-item-price {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--vr-maroon);
}

.vr-menu-item-desc {
  font-size: 0.9rem;
  color: var(--vr-muted-text);
  line-height: 1.5;
  margin: 0;
}

/* Page 11: Kids Birthday Party Packages */
.vr-package-card {
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid var(--vr-border-color);
  padding: 3rem 2rem;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.vr-package-card.popular {
  border-color: var(--vr-maroon);
  box-shadow: 0 8px 30px rgba(108, 1, 29, 0.08);
}

.vr-package-card.popular::before {
  content: "Most Popular";
  position: absolute;
  top: 15px;
  right: -30px;
  background: var(--vr-maroon);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 6px 30px;
  transform: rotate(45deg);
  text-transform: uppercase;
}

.vr-package-card:hover {
  transform: translateY(-5px);
  border-color: var(--vr-gold);
}

.vr-package-name {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--vr-dark-text);
  margin-bottom: 1rem;
}

.vr-package-price-box {
  margin-bottom: 2rem;
}

.vr-package-price {
  font-size: 3rem;
  font-weight: 800;
  color: var(--vr-maroon);
}

.vr-package-price-sub {
  font-size: 0.9rem;
  color: var(--vr-muted-text);
}

.vr-package-features-list {
  list-style: none;
  padding: 0;
  margin: 0 0 2.5rem 0;
  text-align: left;
  flex-grow: 1;
}

.vr-package-features-list li {
  padding: 10px 0;
  border-bottom: 1px solid #fdf5f0;
  font-size: 0.95rem;
  color: var(--vr-dark-text);
}

.vr-package-features-list li i {
  color: var(--vr-gold);
  margin-right: 10px;
}

/* Footer Features/Badges Row */
.vr-footer-features {
  background: #ffffff;
  border-top: 1px solid var(--vr-border-color);
  padding: 3rem 0;
  margin-top: 4rem;
}

.vr-feature-item {
  text-align: center;
  padding: 1rem;
}

.vr-feature-icon {
  font-size: 2.5rem;
  color: var(--vr-maroon);
  margin-bottom: 1rem;
}

.vr-feature-item h5 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin-bottom: 0.5rem;
}

.vr-feature-item p {
  font-size: 0.85rem;
  color: var(--vr-muted-text);
  margin: 0;
}

/* Mobile Responsive Adjustments */
@media (max-width: 991px) {
  .vr-hero h1 {
    font-size: 2.5rem;
  }

  .vr-detail-card {
    position: static;
    margin-top: 2rem;
  }

  .vr-pool-img-col img {
    min-height: 250px;
  }

  .vr-pool-details {
    padding: 2rem;
  }
}

/* ==========================================
   Page 2: Daily Activities Redesign - Custom Layout
   ========================================== */
.vr-date-carousel-container {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 2.5rem;
  background: #ffffff;
  padding: 1rem 1.5rem;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  box-shadow: 0 4px 15px rgba(108, 1, 29, 0.03);
}

.vr-carousel-nav-btn {
  background: transparent;
  border: 1px solid var(--vr-border-color);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vr-maroon);
  cursor: pointer;
  transition: all 0.2s ease;
}

.vr-carousel-nav-btn:hover {
  background: var(--vr-maroon);
  border-color: var(--vr-maroon);
  color: #ffffff;
}

.vr-date-carousel-scroll {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  flex-grow: 1;
  scrollbar-width: none;
  /* Firefox */
}

.vr-date-carousel-scroll::-webkit-scrollbar {
  display: none;
  /* Chrome/Safari */
}

.vr-view-week-btn {
  background: #ffffff;
  border: 1px solid var(--vr-border-color);
  color: var(--vr-dark-text);
  font-weight: 700;
  font-size: 0.85rem;
  padding: 0.75rem 1.25rem;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.vr-view-week-btn:hover {
  border-color: var(--vr-gold);
  color: var(--vr-gold);
}

/* Horizontal Filters */
.vr-horizontal-filters {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  margin-bottom: 2.5rem;
  padding-bottom: 5px;
  scrollbar-width: none;
}

.vr-horizontal-filters::-webkit-scrollbar {
  display: none;
}

.vr-filter-pill-btn {
  background: #ffffff;
  border: 1px solid var(--vr-border-color);
  color: var(--vr-dark-text);
  font-weight: 700;
  font-size: 0.85rem;
  padding: 0.6rem 1.2rem;
  border-radius: 30px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.vr-filter-pill-btn i {
  color: var(--vr-gold);
}

.vr-filter-pill-btn:hover {
  border-color: var(--vr-gold);
  background: var(--vr-light-bg);
}

.vr-filter-pill-btn.active {
  background: var(--vr-maroon);
  border-color: var(--vr-maroon);
  color: #ffffff;
}

.vr-filter-pill-btn.active i {
  color: #ffffff;
}

/* Sidebar Categories List */
.vr-sidebar-menu {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  overflow: hidden;
}

.vr-sidebar-menu-item {
  border-bottom: 1px solid var(--vr-border-color);
}

.vr-sidebar-menu-item:last-child {
  border-bottom: none;
}

.vr-sidebar-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 1rem 1.25rem;
  color: var(--vr-dark-text);
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.vr-sidebar-link i {
  color: var(--vr-gold);
  width: 20px;
  text-align: center;
}

.vr-sidebar-link:hover {
  background: var(--vr-light-bg);
  color: var(--vr-maroon);
}

.vr-sidebar-menu-item.active .vr-sidebar-link {
  background: var(--vr-maroon);
  color: #ffffff;
}

.vr-sidebar-menu-item.active .vr-sidebar-link i {
  color: #ffffff;
}

/* Stay Updated Widget */
.vr-newsletter-widget {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  padding: 1.75rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.vr-newsletter-title {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--vr-maroon);
  margin-bottom: 0.5rem;
  letter-spacing: 1px;
}

.vr-newsletter-desc {
  font-size: 0.85rem;
  color: var(--vr-muted-text);
  line-height: 1.5;
  margin-bottom: 1.25rem;
}

.vr-newsletter-input {
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  border: 1px solid var(--vr-border-color);
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
  transition: all 0.2s ease;
}

.vr-newsletter-input:focus {
  border-color: var(--vr-maroon);
  outline: none;
}

.vr-newsletter-btn {
  width: 100%;
  padding: 0.75rem;
  background: var(--vr-maroon);
  color: #ffffff;
  border: none;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.vr-newsletter-btn:hover {
  background: var(--vr-gold);
}

/* Schedule Header */
.vr-schedule-main-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--vr-border-color);
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}

.vr-schedule-date-title {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--vr-dark-text);
  display: flex;
  align-items: center;
  gap: 10px;
}

.vr-schedule-date-title i {
  color: var(--vr-maroon);
}

.vr-download-pdf-outline-btn {
  background: #ffffff;
  border: 1px solid var(--vr-maroon);
  color: var(--vr-maroon);
  font-weight: 700;
  font-size: 0.85rem;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}

.vr-download-pdf-outline-btn:hover {
  background: var(--vr-maroon);
  color: #ffffff;
}

/* Group Headers */
.vr-schedule-group-header {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--vr-maroon);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.vr-schedule-group-header i {
  color: var(--vr-gold);
}

.vr-schedule-group-line {
  flex-grow: 1;
  height: 1px;
  background: var(--vr-border-color);
}

/* Schedule Items */
.vr-activity-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--vr-border-color);
}

.vr-activity-row:last-child {
  border-bottom: none;
}

.vr-activity-row-left {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}

.vr-activity-row-time {
  font-size: 1rem;
  font-weight: 800;
  color: var(--vr-maroon);
  white-space: nowrap;
  padding-right: 10px;
  width: 90px;
}

.vr-activity-row-details {
  display: flex;
  flex-direction: column;
}

.vr-activity-row-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin: 0 0 0.25rem 0;
}

.vr-activity-row-desc {
  font-size: 0.9rem;
  color: var(--vr-muted-text);
  margin: 0 0 0.5rem 0;
  line-height: 1.4;
}

.vr-activity-row-meta {
  font-size: 0.8rem;
  color: var(--vr-muted-text);
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.vr-activity-row-meta span {
  display: flex;
  align-items: center;
  gap: 5px;
}

.vr-activity-row-meta i {
  color: var(--vr-gold);
}

/* Special Event Callout Box */
.vr-special-event-box {
  background: #f7f4fc;
  /* Light Lavender/Purple tint */
  border-left: 4px solid #6a1b9a;
  /* Purple line */
  border-radius: 0 12px 12px 0;
  padding: 1.5rem 1.75rem;
  margin: 1.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 4px 12px rgba(106, 27, 154, 0.03);
}

.vr-special-event-box .vr-activity-row-time {
  color: #6a1b9a;
}

.vr-special-event-box .vr-activity-row-title {
  color: #4a148c;
}

.vr-special-event-badge {
  background: #ebdcf9;
  color: #6a1b9a;
  font-weight: 700;
  font-size: 0.8rem;
  padding: 0.4rem 0.9rem;
  border-radius: 20px;
  white-space: nowrap;
}

/* Quick Utilities Row */
.vr-utility-card {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.vr-utility-card:hover {
  transform: translateY(-3px);
  border-color: var(--vr-gold);
  box-shadow: 0 6px 18px rgba(181, 135, 60, 0.08);
}

.vr-utility-icon {
  font-size: 2rem;
  color: var(--vr-maroon);
  margin-bottom: 1rem;
}

.vr-utility-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--vr-dark-text);
  margin-bottom: 0.5rem;
}

.vr-utility-desc {
  font-size: 0.85rem;
  color: var(--vr-muted-text);
  margin-bottom: 1.25rem;
  line-height: 1.4;
  flex-grow: 1;
}

.vr-utility-link {
  color: var(--vr-maroon);
  font-weight: 700;
  font-size: 0.85rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: all 0.2s ease;
}

.vr-utility-link:hover {
  color: var(--vr-gold);
}

/* Footer Subscription Banner */
.vr-subscribe-banner {
  background: var(--vr-maroon);
  color: #ffffff;
  padding: 2.5rem 0;
  margin-top: 4rem;
}

.vr-subscribe-banner-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.vr-subscribe-left {
  display: flex;
  align-items: center;
  gap: 20px;
}

.vr-subscribe-mail-icon {
  font-size: 2.5rem;
  color: #ffffff;
}

.vr-subscribe-text h4 {
  font-size: 1.25rem;
  font-weight: 800;
  margin: 0 0 0.25rem 0;
  color: #ffffff;
}

.vr-subscribe-text p {
  font-size: 0.9rem;
  margin: 0;
  color: #ebdcd0;
}

.vr-subscribe-right {
  display: flex;
  gap: 10px;
  flex-grow: 1;
  max-width: 500px;
}

.vr-subscribe-input {
  flex-grow: 1;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  font-size: 0.9rem;
}

.vr-subscribe-input::placeholder {
  color: #ebdcd0;
  opacity: 0.7;
}

.vr-subscribe-input:focus {
  outline: none;
  background: rgba(255, 255, 255, 0.2);
  border-color: #ffffff;
}

.vr-subscribe-submit-btn {
  background: #ffffff;
  color: var(--vr-maroon);
  border: none;
  border-radius: 6px;
  padding: 0.75rem 1.5rem;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.vr-subscribe-submit-btn:hover {
  background: var(--vr-gold);
  color: #ffffff;
}

/* Mobile responsive fixes for activities */
@media (max-width: 767px) {
  .vr-date-carousel-container {
    padding: 0.75rem 1rem;
  }

  .vr-activity-row {
    flex-direction: column;
    gap: 10px;
  }

  .vr-activity-row-time {
    padding-right: 0;
    width: auto;
  }

  .vr-special-event-box {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  .vr-special-event-badge {
    align-self: flex-start;
  }

  .vr-subscribe-banner-content {
    flex-direction: column;
    align-items: stretch;
  }

  .vr-subscribe-right {
    max-width: 100%;
  }
}

/* ==========================================================================
   DAILY ACTIVITIES & POOLS CUSTOM PAGE STYLING (vr-styles.css Additions)
   ========================================================================== */

/* Shared Header Overlay Adjustments */
/*
.header-sec {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1020;
  background: transparent !important;
}

#header:not(.sticky-on) {
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
}

#header:not(.sticky-on) .bg-grady {
  display: none !important;
}

 Remove white background from hovered/active nav links on transparent VR header 
#header:not(.sticky-on) .primary-menu.bg-transparent:not(.show) ul.navbar-nav>li>a:not(.btn) {
  background: transparent !important;
  color: #ffffff !important;
}

#header:not(.sticky-on) .primary-menu.bg-transparent:not(.show) ul.navbar-nav>li:hover>a:not(.btn),
#header:not(.sticky-on) .primary-menu.bg-transparent:not(.show) ul.navbar-nav>li>a.active:not(.btn) {
  background: transparent !important;
  color: var(--vr-gold, #b5873c) !important;
}
*/

.vr-hero {
  margin-top: 0 !important;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 12rem 0 7rem 0;
  color: #fff;
  position: relative;
  min-height: 450px;
  display: flex;
  align-items: center;
}

.vr-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(44, 37, 32, 0.6) 0%, rgba(108, 1, 29, 0.75) 100%);
  z-index: 0;
}

.vr-hero-content {
  position: relative;
  z-index: 2;
  text-align: left;
  width: 100%;
}

.vr-hero h1 {
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 4.5rem;
  text-transform: none;
  margin-bottom: 0.5rem;
  color: #fff;
  letter-spacing: 0;
  text-align: left;
}

.vr-hero p {
  font-family: var(--vr-sans);
  font-size: 1.25rem;
  font-weight: 500;
  color: #ebdcd0;
  max-width: 600px;
  margin: 0;
}

.vr-hero-label {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--vr-gold, #ebdcd0);
  letter-spacing: 2px;
  margin-bottom: 0.5rem;
}

/* ==========================================
   DAILY ACTIVITIES SPECIFIC STYLES
   ========================================== */
.vr-date-carousel-container {
  background: #ffffff;
  border-radius: 12px;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  margin-top: -60px;
  position: relative;
  z-index: 10;
  margin-bottom: 30px;
}

.vr-date-carousel-scroll {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: none;
  flex: 1;
}

.vr-date-carousel-scroll::-webkit-scrollbar {
  display: none;
}

.vr-carousel-nav-btn {
  border: none;
  background: transparent;
  color: #333;
  font-size: 1rem;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.vr-carousel-nav-btn:hover {
  background: var(--vr-maroon);
  color: #fff;
}

.vr-view-week-btn {
  border: 1px solid #ccc;
  background: transparent;
  color: var(--vr-maroon);
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
  text-transform: uppercase;
}

.vr-view-week-btn i {
  color: var(--vr-maroon);
}

.vr-view-week-btn:hover {
  background: var(--vr-light-bg);
}

.vr-date-btn {
  background: transparent;
  border: none;
  border-right: 1px solid #eaeaea;
  border-radius: 0;
  padding: 8px 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  min-width: 90px;
  position: relative;
  transition: all 0.2s ease;
}

.vr-date-btn:last-child {
  border-right: none;
}

.vr-date-btn .day {
  font-size: 0.75rem;
  font-weight: 700;
  color: #706259;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.vr-date-btn .date {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  white-space: nowrap;
}

.vr-date-btn.active {
  background: var(--vr-maroon);
  border-radius: 8px;
  border-right: none;
}

.vr-date-btn.active::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid var(--vr-maroon);
}

.vr-date-btn.active .day,
.vr-date-btn.active .date {
  color: #fff;
}

.vr-schedule-main-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--vr-border-color);
  margin-bottom: 25px;
}

.vr-schedule-date-title {
  font-family: var(--vr-sans);
  font-weight: 800;
  font-size: 1.6rem;
  color: var(--vr-dark-text);
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.vr-schedule-date-title i {
  color: var(--vr-maroon);
}

.vr-download-pdf-outline-btn {
  background: transparent;
  border: 1px solid var(--vr-maroon);
  color: var(--vr-maroon);
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.vr-download-pdf-outline-btn:hover {
  background: var(--vr-maroon);
  color: #fff;
}

.vr-schedule-group-header {
  background: #fdf5f5;
  color: var(--vr-maroon);
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  font-weight: 800;
  text-transform: uppercase;
  padding: 12px 20px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  margin-top: 20px;
}

.vr-schedule-group-header i {
  color: var(--vr-gold);
}

.vr-schedule-group-line {
  display: none;
}

.vr-activity-row {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px dashed var(--vr-border-color);
}

.vr-activity-row:last-child {
  border-bottom: none;
}

.vr-activity-time {
  font-weight: 800;
  color: var(--vr-maroon);
  font-size: 1rem;
  width: 120px;
  flex-shrink: 0;
}

.vr-activity-content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-left: 1px dotted #ccc;
  padding-left: 20px;
}

.vr-activity-text {
  color: var(--vr-dark-text);
  font-size: 0.95rem;
  flex: 1;
  padding-right: 20px;
}

.vr-activity-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--vr-muted-text);
  font-size: 0.8rem;
  width: 220px;
  flex-shrink: 0;
}

.vr-activity-meta.side-by-side {
  flex-direction: row;
  gap: 15px;
}

.vr-activity-meta.side-by-side span:first-child {
  min-width: 110px;
}

.vr-activity-meta i {
  color: var(--vr-muted-text);
  margin-right: 6px;
  width: 12px;
  text-align: center;
}

.vr-special-event-box {
  background: #ffffff;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  border-bottom: 1px dashed var(--vr-border-color);
  color: var(--vr-dark-text);
  font-size: 15px;
}

.vr-activity-meta {
  font-size: 0.95rem;
}

.vr-special-event-details {
  text-align: right;
}

.vr-special-event-badge {
  background: #f4ecf8;
  color: #5c3b8c;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.8rem;
  white-space: nowrap;
}

.header-special {
  background: #f4ecf8;
  color: #5c3b8c;
  margin-top: 20px;
}

.header-special i {
  color: #5c3b8c;
}

.header-evening {
  background: #fdf5eb;
  color: #a06a3f;
  margin-top: 20px;
}

.header-evening i {
  color: #a06a3f;
}

.header-entertainment {
  background: #fdf1f3;
  color: #b3204d;
  margin-top: 20px;
}

.header-entertainment i {
  color: #b3204d;
}


/* ==========================================
   POOLS SPECIFIC STYLES
   ========================================== */
.vr-pools-subheader {
  text-align: center;
  padding: 50px 15px 40px 15px;
  background: #fff;
}

.vr-pools-subheader h2 {
  font-family: var(--vr-sans);
  font-weight: 700;
  color: var(--vr-maroon, #7b1c3b);
  font-size: 2.2rem;
  margin-bottom: 10px;
}

.vr-pools-subheader p {
  font-family: var(--vr-sans);
  color: #706259;
  font-size: 1.1rem;
  max-width: 800px;
  margin: 0 auto;
}

.vr-pools-section {
  padding-bottom: 60px;
  background: #fff;
}

.vr-pool-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  margin-bottom: 30px;
  transition: transform 0.3s ease;
}

.vr-pool-card:hover {
  transform: translateY(-5px);
}

.vr-pool-card-img-wrapper {
  position: relative;
  height: 280px;
}

.vr-pool-card-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vr-pool-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: var(--vr-maroon, #7b1c3b);
  color: #fff;
  padding: 8px 16px;
  border-radius: 4px;
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 2;
}

.vr-pool-card-body {
  padding: 25px;
}

.vr-pool-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.vr-pool-info-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.vr-pool-info-item i {
  color: var(--vr-maroon, #7b1c3b);
  font-size: 1.3rem;
}

.vr-pool-info-text {
  display: flex;
  flex-direction: column;
}

.vr-pool-info-label {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.2;
}

.vr-pool-info-value {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: #333;
  line-height: 1.3;
}

.vr-pool-card-desc {
  font-family: var(--vr-sans);
  color: #666;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 25px;
  min-height: 50px;
}

.vr-pool-card-actions {
  display: flex;
  gap: 15px;
}

.vr-pool-card-actions .btn {
  flex: 1;
  padding: 12px;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  border-radius: 6px;
}

.btn-maroon-solid {
  background-color: var(--vr-maroon, #7b1c3b);
  color: #fff;
  border: none;
}

.btn-maroon-solid:hover {
  background-color: #5c142c;
  color: #fff;
}

.btn-maroon-outline {
  background-color: transparent;
  color: var(--vr-maroon, #7b1c3b);
  border: 1px solid var(--vr-maroon, #7b1c3b);
}

.btn-maroon-outline:hover {
  background-color: var(--vr-maroon, #7b1c3b);
  color: #fff;
}

/* Booking Form Section */
.vr-booking-sec {
  background: #fbf9f8;
  padding: 60px 0;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
}

.vr-booking-card {
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

.vr-booking-header {
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 25px;
  margin-bottom: 35px;
}

.vr-booking-header-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.vr-booking-header h3 {
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 2.2rem;
  color: var(--vr-maroon, #7b1c3b);
  margin-bottom: 5px;
}

.vr-booking-header p {
  color: #666;
  font-family: var(--vr-sans);
  margin: 0;
  font-size: 0.95rem;
}

.vr-booking-features {
  display: flex;
  gap: 30px;
  align-items: center;
}

.vr-booking-feature-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.vr-feature-icon {
  color: var(--vr-maroon, #7b1c3b);
  font-size: 1.6rem;
  display: flex;
  align-items: center;
}

.vr-feature-text {
  display: flex;
  flex-direction: column;
}

.vr-feature-title {
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 0.9rem;
  color: #111111;
  line-height: 1.2;
}

.vr-feature-desc {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #777777;
  margin-top: 1px;
}

.vr-form-step {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  padding: 25px;
  margin-bottom: 25px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
}

.vr-step-num-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 0.95rem;
  color: #333;
  margin-bottom: 15px;
}

.vr-step-num {
  background: var(--vr-maroon, #7b1c3b);
  color: #fff;
  width: 22px;
  height: 22px;
  border-radius: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 800;
}

.vr-form-date-input-wrapper {
  position: relative;
}

.vr-form-date-input-wrapper input {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  outline: none;
  cursor: pointer;
}

.vr-form-date-input-wrapper i {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #888;
  pointer-events: none;
}

.vr-area-option {
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.vr-area-option:hover {
  border-color: var(--vr-maroon, #7b1c3b);
}

.vr-area-option.active {
  border-color: var(--vr-maroon, #7b1c3b);
  background: #fbf6f7;
}

.vr-area-option-left {
  display: flex;
  align-items: center;
  gap: 15px;
}

.vr-area-option-img {
  width: 50px;
  height: 50px;
  border-radius: 6px;
  object-fit: cover;
}

.vr-area-option-info h5 {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
  color: #333;
  font-family: var(--vr-sans);
}

.vr-area-option-info p {
  font-size: 0.8rem;
  color: #777;
  margin: 0;
  font-family: var(--vr-sans);
}

.vr-area-option-price {
  font-weight: 700;
  color: var(--vr-maroon, #7b1c3b);
  font-size: 0.9rem;
  font-family: var(--vr-sans);
}

.vr-counter {
  display: flex;
  align-items: center;
  border: 1px solid #eaeaea;
  border-radius: 6px;
  width: fit-content;
  overflow: hidden;
}

.vr-counter-btn {
  border: none;
  background: #f7f7f7;
  width: 40px;
  height: 40px;
  font-size: 1.2rem;
  cursor: pointer;
  transition: background 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #555;
}

.vr-counter-btn:hover {
  background: #eee;
}

.vr-counter-val {
  width: 50px;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  font-family: var(--vr-sans);
}

.vr-check-avail-btn {
  width: 100%;
  padding: 14px;
  background-color: var(--vr-maroon, #7b1c3b);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: background 0.2s ease;
  margin-top: 20px;
}

.vr-check-avail-btn:hover {
  background-color: #5c142c;
}

.vr-slot-option {
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 15px;
  text-align: center;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 15px;
  background: #fff;
  font-family: var(--vr-sans);
  color: #333;
}

.vr-slot-option:hover {
  border-color: var(--vr-maroon, #7b1c3b);
}

.vr-slot-option.active {
  border-color: var(--vr-maroon, #7b1c3b);
  background: #fbf6f7;
  color: var(--vr-maroon, #7b1c3b);
}

.vr-info-box {
  background: #fdfaf5;
  border: 1px solid #f6e6cd;
  border-radius: 10px;
  padding: 20px;
  margin-top: 20px;
}

.vr-info-box-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 0.9rem;
  color: #a06a3f;
  margin-bottom: 12px;
  font-family: var(--vr-sans);
}

.vr-info-box ul {
  margin: 0;
  padding-left: 20px;
  font-size: 0.85rem;
  color: #706259;
  line-height: 1.6;
  font-family: var(--vr-sans);
}

.vr-info-box li {
  margin-bottom: 8px;
}

.vr-info-box li::marker {
  color: #a06a3f;
}

.vr-summary-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
  position: sticky;
  top: 100px;
}

.vr-summary-card h4 {
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--vr-maroon, #7b1c3b);
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 15px;
  margin-bottom: 20px;
}

.vr-summary-table {
  width: 100%;
  margin-bottom: 25px;
}

.vr-summary-table td {
  padding: 12px 0;
  font-size: 0.9rem;
  font-family: var(--vr-sans);
}

.vr-summary-table tr {
  border-bottom: 1px solid #f8f8f8;
}

.vr-summary-table tr:last-child {
  border-bottom: none;
}

.vr-summary-label {
  font-weight: 700;
  color: #888;
  display: flex;
  align-items: center;
  gap: 8px;
}

.vr-summary-label i {
  color: var(--vr-maroon, #7b1c3b);
  width: 14px;
}

.vr-summary-val {
  text-align: right;
  font-weight: 700;
  color: #333;
}

.vr-summary-total-row {
  border-top: 1px solid #eaeaea;
  font-size: 1.1rem !important;
  font-weight: 800;
}

.vr-summary-total-row td {
  padding-top: 15px !important;
}

.vr-summary-total-val {
  color: var(--vr-maroon, #7b1c3b);
  font-size: 1.3rem;
}

.vr-continue-btn {
  width: 100%;
  padding: 14px;
  background-color: var(--vr-maroon, #7b1c3b);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: background 0.2s ease;
}

.vr-continue-btn:hover {
  background-color: #5c142c;
}

.vr-policy-link {
  display: block;
  text-align: center;
  margin-top: 15px;
  font-size: 0.8rem;
  color: #666;
  text-decoration: underline;
  font-family: var(--vr-sans);
}

.vr-policy-link:hover {
  color: var(--vr-maroon, #7b1c3b);
}

/* Guidelines Rules Section */
.vr-rules-sec {
  padding: 50px 0;
  background: #fff;
}

.vr-rules-box {
  background: #ebf3fc;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  overflow: hidden;
  padding: 0 30px 0 0;
  min-height: 140px;
}

.vr-rules-content {
  display: flex;
  align-items: center;
  gap: 25px;
  flex: 1;
  height: 100%;
}

.vr-rules-img {
  width: 280px;
  height: 140px;
  object-fit: cover;
  flex-shrink: 0;
  border-radius: 8px 0 0 8px;
}

.vr-rules-text {
  flex: 1;
  min-width: 250px;
  padding: 15px 0;
}

.vr-rules-text h4 {
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 1.15rem;
  color: #111111;
  margin-bottom: 4px;
}

.vr-rules-text p {
  margin: 0;
  color: #444444;
  font-size: 0.85rem;
  font-family: var(--vr-sans);
  line-height: 1.4;
}

.vr-rules-btn {
  border: 1px solid #1a73e8;
  color: #1a73e8;
  background: transparent;
  padding: 10px 24px;
  font-weight: 700;
  font-size: 0.8rem;
  border-radius: 4px;
  text-transform: uppercase;
  transition: all 0.2s ease;
  white-space: nowrap;
  font-family: var(--vr-sans);
  letter-spacing: 0.5px;
}

.vr-rules-btn:hover {
  background: #1a73e8;
  color: #fff;
}

/* ==========================================
   SHARED RESPONSIVE MEDIA QUERIES
   ========================================== */
@media (max-width: 991px) {
  .vr-hero h1 {
    font-size: 3rem;
  }

  .vr-pools-subheader h2 {
    font-size: 1.8rem;
  }

  .vr-pool-card-img-wrapper {
    height: 220px;
  }

  .vr-rules-box {
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    min-height: auto;
  }

  .vr-rules-content {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .vr-rules-img {
    width: 100%;
    height: 160px;
    border-radius: 8px 8px 0 0;
  }

  .vr-rules-text {
    padding: 20px 20px 10px 20px;
  }

  .vr-rules-btn {
    margin: 10px 20px 20px 20px;
    width: auto;
    text-align: center;
  }

  .vr-summary-card {
    position: static;
    margin-top: 30px;
  }
}

@media (max-width: 768px) {

  /* Daily Activities Mobile Row Stacking */
  .vr-activity-row,
  .vr-special-event-box {
    flex-direction: column;
    align-items: flex-start;
    padding: 15px 20px;
  }

  .vr-activity-time {
    width: 100%;
    margin-bottom: 8px;
    text-align: left;
  }

  .vr-activity-content {
    flex-direction: column;
    align-items: flex-start;
    border-left: none;
    padding-left: 0;
    width: 100%;
    gap: 10px;
  }

  .vr-activity-text {
    padding-right: 0;
    width: 100%;
  }

  .vr-activity-meta {
    flex-direction: column !important;
    gap: 4px !important;
    width: 100%;
  }

  .vr-activity-meta.side-by-side span:first-child {
    min-width: auto;
  }

  .vr-special-event-badge {
    align-self: flex-start;
    margin-top: 5px;
  }

  .vr-schedule-main-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  .vr-schedule-date-title {
    font-size: 1.3rem;
  }

    
    
}


@media (max-width: 576px) {
  .vr-hero h1 {
    font-size: 2.2rem;
  }

  .vr-pool-info-grid {
    grid-template-columns: 1fr;
  }

  .vr-pool-card-actions {
    flex-direction: column;
  }

  .vr-booking-features {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    width: 100%;
  }

  .vr-booking-header-flex {
    flex-direction: column;
    align-items: flex-start;
  }

  .vr-booking-header h3 {
    font-size: 1.8rem;
  }

  .vr-booking-card {
    padding: 20px 15px;
  }
}

/* ==========================================================================
   Wellness Booking Page Specific Styling Overrides (Scoped under .vr-wellness-booking-page)
   ========================================================================== */

/* Login/Signup button in top bar and header */
.vr-wellness-booking-page .btn-login-signup {
  background-color: var(--vr-maroon, #7b1c3b);
  color: #ffffff !important;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 8px 20px;
  border-radius: 30px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  border: none;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .btn-login-signup:hover {
  background-color: #5c142c;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(108, 1, 29, 0.2);
}

/* Page Hero overlays and alignments */
.vr-wellness-booking-page .vr-hero {
  text-align: left !important;
}

.vr-wellness-booking-page .vr-hero-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  height: 100%;
  padding-bottom: 80px;
}

.vr-wellness-booking-page .vr-hero h1 {
  font-size: 3rem;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 15px;
  line-height: 1.2;
  text-align: left;
  max-width: 500px;
  font-family: var(--vr-sans);
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.vr-wellness-booking-page .vr-hero p {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.9);
  margin: 0 0 28px 0;
  line-height: 1.5;
  text-align: left;
  max-width: 440px;
  font-family: var(--vr-sans);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.vr-wellness-booking-page .vr-hero-btn {
  background-color: var(--vr-maroon, #7b1c3b);
  color: #ffffff !important;
  font-size: 0.85rem;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.vr-wellness-booking-page .vr-hero-btn:hover {
  background-color: #5c142c;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}


/* Step Bar adjustments */
.vr-wellness-booking-page .vr-step-bar {
  background: #ffffff;
  border-radius: 16px 16px 0 0;
  padding: 18px 24px 14px 24px;
  box-shadow: none;
  border: 1px solid #eaeaea;
  border-bottom: none;
  margin-bottom: 0;
}

.vr-wellness-booking-page .vr-step-icon-box {
  width: 38px;
  height: 38px;
  background: transparent;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vr-maroon, #6c011d);
  font-size: 1.3rem;
  flex-shrink: 0;
}

.vr-wellness-booking-page .vr-step-title {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--vr-maroon, #6c011d);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 1px;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-step-desc {
  font-size: 1.1rem;
  font-weight: 700;
  color: #111111;
  margin: 0;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-step-active-date {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--vr-maroon, #6c011d);
  font-family: var(--vr-sans);
  display: flex;
  align-items: center;
  gap: 6px;
}

.vr-wellness-booking-page .vr-step-active-date i {
  color: var(--vr-maroon, #6c011d);
  font-size: 1rem;
}

/* Date Carousel — white card wrapping entire row including arrows */
.vr-wellness-booking-page .vr-date-carousel-container {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 28px;
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 0 0 16px 16px;
  padding: 18px 16px 22px 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.vr-wellness-booking-page .vr-date-nav-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  background: #ffffff;
  color: #888888;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  font-size: 0.8rem;
}

.vr-wellness-booking-page .vr-date-nav-btn:hover {
  background: var(--vr-maroon, #6c011d);
  color: #ffffff;
  border-color: var(--vr-maroon, #6c011d);
}

.vr-wellness-booking-page .vr-date-carousel {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-behavior: smooth;
  flex: 1;
  padding: 8px 12px 14px 12px;
  -webkit-overflow-scrolling: touch;
  align-items: flex-start;
}

.vr-wellness-booking-page .vr-date-carousel::-webkit-scrollbar {
  display: none;
}

/* Inactive date pill — oval shape */
.vr-wellness-booking-page .vr-date-btn {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  padding: 10px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 90px;
  min-height: 90px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
  position: relative;
  margin-bottom: 8px;
}

.vr-wellness-booking-page .vr-date-btn .day {
  font-size: 0.68rem;
  font-weight: 700;
  color: #999999;
  letter-spacing: 0.8px;
  margin-bottom: 2px;
  font-family: var(--vr-sans);
  text-transform: uppercase;
}

.vr-wellness-booking-page .vr-date-btn .date {
  font-size: 0.88rem;
  font-weight: 600;
  color: #333333;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-date-btn:hover {
  border-color: var(--vr-maroon, #6c011d);
  background: #fdf5f7;
}

/* Active pill — maroon bubble with speech-bubble downward tail */
.vr-wellness-booking-page .vr-date-btn.active {
  background-color: var(--vr-maroon, #6c011d);
  border-color: var(--vr-maroon, #6c011d);
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(108, 1, 29, 0.25);
  padding: 12px 20px;
}

.vr-wellness-booking-page .vr-date-btn.active::after {
  display: none;
}

.vr-wellness-booking-page .vr-date-btn.active .day {
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.68rem;
}

.vr-wellness-booking-page .vr-date-btn.active .date {
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 700;
}

/* Filters Card Styling */
.vr-wellness-booking-page .vr-filter-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px;
  border: 1px solid #eaeaea;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

.vr-wellness-booking-page .vr-filter-card h4 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #111111;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-clear-btn {
  background: none;
  border: none;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--vr-maroon, #7b1c3b);
  cursor: pointer;
  padding: 0;
  font-family: var(--vr-sans);
  transition: all 0.2s ease;
}

.vr-wellness-booking-page .vr-clear-btn:hover {
  text-decoration: underline;
  opacity: 0.8;
}

.vr-wellness-booking-page .vr-filter-group {
  margin-bottom: 24px;
}

.vr-wellness-booking-page .vr-filter-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #888888;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
  display: block;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-select {
  width: 100%;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #eaeaea;
  background-color: #ffffff;
  font-size: 0.85rem;
  color: #333333;
  cursor: pointer;
  transition: border-color 0.2s ease;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-select:focus {
  outline: none;
  border-color: var(--vr-maroon, #7b1c3b);
}

.vr-wellness-booking-page .vr-time-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.vr-wellness-booking-page .vr-time-option-btn {
  width: 100%;
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 30px;
  padding: 12px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #444444;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-time-option-btn:hover {
  border-color: var(--vr-maroon, #7b1c3b);
  background: rgba(108, 1, 29, 0.01);
}

.vr-wellness-booking-page .vr-time-option-btn.active {
  background: var(--vr-maroon, #7b1c3b);
  border-color: var(--vr-maroon, #7b1c3b);
  color: #ffffff;
  box-shadow: 0 4px 10px rgba(108, 1, 29, 0.1);
}

/* Sessions Column & Card Styling */
.vr-wellness-booking-page .vr-sessions-header {
  margin-bottom: 20px;
  background: #ffffff;
  padding: 15px 20px;
  border-radius: 10px;
  border: 1px solid #eaeaea;
}

.vr-wellness-booking-page .vr-session-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.vr-wellness-booking-page .vr-session-card {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 12px;
  padding: 18px 24px;
  border: 1px solid #eaeaea;
  cursor: pointer;
  transition: all 0.25s ease;
  gap: 18px;
  position: relative;
}

.vr-wellness-booking-page .vr-session-card::before {
  display: none;
}

.vr-wellness-booking-page .vr-session-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  border-color: var(--vr-maroon, #7b1c3b);
}

.vr-wellness-booking-page .vr-session-card.active {
  border-color: var(--vr-maroon, #7b1c3b);
  background: #ffffff;
  box-shadow: 0 4px 15px rgba(108, 1, 29, 0.04);
  border-left: 3px solid var(--vr-maroon, #7b1c3b);
}

.vr-wellness-booking-page .vr-session-avatar-container {
  position: relative;
  width: 120px;
  height: 120px;
  flex-shrink: 0;
}

.vr-wellness-booking-page .vr-session-avatar {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  object-fit: cover;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.vr-wellness-booking-page .vr-session-avatar-container .status-dot {
  position: absolute;
  bottom: 1px;
  right: 1px;
  width: 12px;
  height: 12px;
  background-color: #2ec4b6;
  border: 2px solid #ffffff;
  border-radius: 50%;
}

.vr-wellness-booking-page .vr-session-info-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vr-wellness-booking-page .vr-session-time-text {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--vr-maroon, #7b1c3b);
  text-transform: uppercase;
  font-family: var(--vr-sans);
  letter-spacing: 0.5px;
}

.vr-wellness-booking-page .vr-session-title {
  font-size: 1rem;
  font-weight: 700;
  color: #111111;
  font-family: var(--vr-sans);
  margin: 0;
  line-height: 1.3;
}

.vr-wellness-booking-page .vr-session-instructor {
  font-size: 0.8rem;
  color: #666666;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-session-price-tag {
  font-size: 0.72rem;
  font-weight: 700;
  color: #666666;
  background: #f8f9fa;
  border-radius: 4px;
  padding: 2px 6px;
  align-self: flex-start;
  margin-top: 4px;
  font-family: var(--vr-sans);
  border: 1px solid #eaeaea;
}

.vr-wellness-booking-page .vr-session-action {
  color: #cccccc;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vr-wellness-booking-page .vr-session-card.active .vr-session-action {
  color: var(--vr-maroon, #7b1c3b);
}

.vr-wellness-booking-page .vr-view-next-btn-container {
  text-align: center;
  margin-top: 20px;
}

.vr-wellness-booking-page .vr-view-next-btn {
  border: 1px solid #eaeaea;
  background: #ffffff;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #444444;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-view-next-btn:hover {
  border-color: var(--vr-maroon, #7b1c3b);
  color: var(--vr-maroon, #7b1c3b);
}

/* Detail Card Styling */
.vr-wellness-booking-page .vr-detail-card {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #eaeaea;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
  overflow: hidden;
  position: sticky;
  top: 90px;
}

.vr-wellness-booking-page .vr-detail-img-wrapper {
  position: relative;
  height: 370px;
  overflow: hidden;
}

.vr-wellness-booking-page .vr-detail-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Overlay: vertical layout — top-row (icon+title), then date, then big time */
.vr-wellness-booking-page .vr-detail-overlay-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.5) 55%, rgba(0, 0, 0, 0) 100%);
  padding: 18px 20px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #ffffff;
}

/* Row 1: icon circle + title text side by side */
.vr-wellness-booking-page .vr-detail-overlay-top-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}

.vr-wellness-booking-page .vr-detail-overlay-icon-box {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vr-maroon, #7b1c3b);
  font-size: 1rem;
  flex-shrink: 0;
}

.vr-wellness-booking-page .vr-detail-overlay-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  font-family: var(--vr-sans);
  line-height: 1.2;
}

/* Row 2: date — small, lighter */
.vr-wellness-booking-page .vr-detail-overlay-date {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.8);
  font-family: var(--vr-sans);
  font-weight: 500;
  padding-left: 44px;
}

/* Row 3: time — big bold white */
.vr-wellness-booking-page .vr-detail-overlay-time {
  font-size: 1.35rem;
  font-weight: 800;
  color: #ffffff;
  font-family: var(--vr-sans);
  line-height: 1.2;
  padding-left: 44px;
  letter-spacing: -0.3px;
}

.vr-wellness-booking-page .vr-detail-content {
  padding: 24px;
}

.vr-wellness-booking-page .vr-detail-desc {
  font-size: 0.85rem;
  color: #555555;
  line-height: 1.5;
  margin-bottom: 20px;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-detail-badges {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 5px;
  margin-bottom: 25px;
}

.vr-wellness-booking-page .vr-badge-info {
  background: #fdf1f3;
  border: none;
  border-radius: 8px;
  padding: 6px 8px;
  color: #111;
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--vr-sans);
  flex: 1;
  justify-content: center;
}

.vr-wellness-booking-page .vr-badge-info i {
  color: #6c011d;
  font-size: 1.1rem;
}

.vr-wellness-booking-page .vr-badge-info .badge-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  white-space: nowrap;
  font-size: 0.75rem;
}

.vr-wellness-booking-page .vr-practitioner-box {
  background: #fdfdfd;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 20px;
}

.vr-wellness-booking-page .vr-practitioner-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.vr-wellness-booking-page .vr-practitioner-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--vr-gold, #c5a880);
}

.vr-wellness-booking-page .vr-practitioner-name {
  font-size: 0.9rem;
  font-weight: 700;
  color: #111111;
  margin: 0 0 2px 0;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-practitioner-role {
  font-size: 0.75rem;
  color: #777777;
  margin: 0 0 2px 0;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-practitioner-rating {
  display: flex;
  align-items: center;
  gap: 2px;
  font-size: 0.7rem;
}

.vr-wellness-booking-page .vr-practitioner-bio {
  font-size: 0.8rem;
  color: #666666;
  line-height: 1.4;
  margin: 0;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-practitioner-link {
  display: inline-block;
  margin-top: 10px;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--vr-maroon, #7b1c3b);
  text-decoration: none;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-practitioner-link:hover {
  text-decoration: underline;
}

.vr-wellness-booking-page .vr-what-to-bring-box {
  background: #fdf8f5;
  border: 1px solid #f2e2d9;
  border-radius: 8px;
  padding: 15px;
  display: flex;
  gap: 12px;
  margin-bottom: 25px;
  align-items: flex-start;
}

.vr-wellness-booking-page .vr-what-to-bring-icon {
  color: var(--vr-maroon, #7b1c3b);
  font-size: 1.2rem;
  margin-top: 2px;
}

.vr-wellness-booking-page .vr-what-to-bring-text {
  flex: 1;
}

.vr-wellness-booking-page .vr-what-to-bring-title {
  font-weight: 700;
  font-size: 0.85rem;
  color: #111111;
  margin-bottom: 2px;
  display: block;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-what-to-bring-desc {
  font-size: 0.78rem;
  color: #555555;
  margin: 0;
  line-height: 1.4;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-detail-booking-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #eaeaea;
}

.vr-wellness-booking-page .vr-spots-left {
  font-size: 0.85rem;
  font-weight: 700;
  color: #2ec4b6;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-book-now-trigger-btn {
  background: var(--vr-maroon, #7b1c3b);
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 12px 20px;
  font-weight: 700;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.2s ease;
  letter-spacing: 0.5px;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-book-now-trigger-btn:hover {
  background: #5c142c;
  box-shadow: 0 4px 10px rgba(108, 1, 29, 0.15);
}

.vr-wellness-booking-page .vr-secure-booking-note {
  text-align: center;
  font-size: 0.75rem;
  color: #888888;
  margin-top: 12px;
  font-family: var(--vr-sans);
}

/* Footer Features Layout Custom Styling */
.vr-wellness-booking-page .vr-footer-features {
  background: #fbfbfb;
  border-top: 1px solid #eaeaea;
  padding: 40px 0;
  margin-top: 60px;
}

.vr-wellness-booking-page .vr-footer-feature-item {
  padding: 10px;
}

.vr-wellness-booking-page .vr-footer-feature-icon {
  font-size: 1.5rem;
  color: var(--vr-maroon, #7b1c3b);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: rgba(108, 1, 29, 0.04);
  border-radius: 50%;
  flex-shrink: 0;
}

.vr-wellness-booking-page .vr-footer-feature-text h5 {
  font-size: 0.9rem;
  font-weight: 700;
  color: #111111;
  margin: 0 0 2px 0;
  font-family: var(--vr-sans);
}

.vr-wellness-booking-page .vr-footer-feature-text p {
  font-size: 0.78rem;
  color: #666666;
  margin: 0;
  font-family: var(--vr-sans);
}

/* Custom modal styling */
.vr-modal-content .vr-form-group {
  margin-bottom: 18px;
}

/* ========================================================================
   PAGE 5: OWNERS PORTAL (Screen 5) — Complete Styling
   ======================================================================== */

/* ---------- HERO SECTION ---------- */
.op-hero {
  position: relative;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding: 10rem 0 5rem 0;
  min-height: 520px;
  display: flex;
  align-items: center;
}

.op-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(20, 10, 5, 0.82) 0%, rgba(108, 1, 29, 0.55) 100%);
  z-index: 1;
}

.op-hero-content {
  position: relative;
  z-index: 2;
  color: #ffffff;
}

.op-hero-label {
  display: inline-block;
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--vr-gold);
  margin-bottom: 12px;
}

.op-hero-title {
  font-family: var(--vr-sans);
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.15;
  color: #ffffff;
  margin: 0 0 8px 0;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

.op-hero-coming-soon {
  font-family: var(--vr-sans);
  font-size: 2.6rem;
  font-style: italic;
  color: var(--vr-gold);
  margin: 0 0 18px 0;
  font-weight: 400;
}

.op-hero-desc {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 28px;
  max-width: 540px;
}

.op-hero-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.op-hero-btn {
  display: inline-flex;
  align-items: center;
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 12px 22px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.op-hero-btn-primary {
  background: var(--vr-maroon);
  color: #ffffff;
  border: 2px solid var(--vr-maroon);
}

.op-hero-btn-primary:hover {
  background: #8a0225;
  border-color: #8a0225;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(108, 1, 29, 0.4);
}

.op-hero-btn-outline {
  background: transparent;
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.op-hero-btn-outline:hover {
  border-color: var(--vr-gold);
  color: var(--vr-gold);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

/* ---------- SECTION DIVIDERS ---------- */
.op-section-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 8px;
}

.op-divider-line {
  flex: 1;
  max-width: 180px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--vr-border-color), transparent);
  display: none !important;
}

.op-section-heading {
  font-family: var(--vr-sans);
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
 color: var(--vr-maroon) !important;
  margin: 0;
  text-align: center;
  white-space: nowrap;
}

.op-section-subtext {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: var(--vr-muted-text);
  text-align: center;
  margin-bottom: 30px;
}

/* ---------- WHAT OWNERS WILL SOON ACCESS ---------- */
.op-access-sec {
  padding: 60px 0 50px 0;
  background: #ffffff;
}

.op-access-card {
  border: 1px solid var(--vr-border-color);
  border-radius: 10px;
  padding: 24px 16px;
  text-align: center;
  background: #ffffff;
  transition: all 0.35s ease;
  height: 100%;
  cursor: default;
}

.op-access-card:hover {
  border-color: var(--vr-gold);
  box-shadow: 0 8px 30px rgba(181, 135, 60, 0.12);
  transform: translateY(-4px);
}

.op-access-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 14px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--vr-maroon);
  border: 1.5px solid var(--vr-border-color);
  border-radius: 10px;
  transition: all 0.3s ease;
}

.op-access-card:hover .op-access-icon {
  border-color: var(--vr-gold);
  color: var(--vr-gold);
  background: rgba(181, 135, 60, 0.06);
}

.op-access-title {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin: 0 0 6px 0;
}

.op-access-desc {
  font-family: var(--vr-sans);
  font-size: 0.73rem;
  color: var(--vr-muted-text);
  line-height: 1.5;
  margin: 0;
}

/* ---------- LAUNCHING SOON ---------- */
.op-launching-sec {
  padding: 50px 0 60px 0;
  background: var(--vr-light-bg);
}

/* Weekly Booklet Card */
.op-booklet-card {
  background: #ffffff;
  border: 1px solid var(--vr-border-color);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  height: 100%;
  transition: box-shadow 0.3s ease;
}

.op-booklet-card:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.op-booklet-img {
  position: relative;
  width: 200px;
  min-width: 200px;
  overflow: hidden;
}

.op-booklet-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.op-booklet-date-label {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.7);
  color: #ffffff;
  font-family: var(--vr-sans);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 4px 10px;
  border-radius: 4px;
  white-space: nowrap;
}

.op-booklet-body {
  padding: 22px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.op-booklet-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.op-booklet-icon {
  font-size: 1.3rem;
  color: var(--vr-maroon);
  margin-top: 2px;
}

.op-booklet-title {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--vr-dark-text);
  margin: 0 0 4px 0;
}

.op-booklet-desc {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  color: var(--vr-muted-text);
  line-height: 1.5;
  margin: 0;
}

.op-booklet-current {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.op-booklet-current-label {
  font-family: var(--vr-sans);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--vr-maroon);
  background: rgba(108, 1, 29, 0.08);
  padding: 3px 8px;
  border-radius: 4px;
}

.op-booklet-current-dates {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--vr-dark-text);
}

.op-booklet-info {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  color: var(--vr-muted-text);
  margin-bottom: 14px;
}

.op-booklet-actions {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.op-btn-primary {
  display: inline-flex;
  align-items: center;
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  background: var(--vr-maroon);
  color: #ffffff;
  border: 2px solid var(--vr-maroon);
  padding: 9px 18px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.op-btn-primary:hover {
  background: #8a0225;
  border-color: #8a0225;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(108, 1, 29, 0.3);
}

.op-btn-outline {
  display: inline-flex;
  align-items: center;
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  background: transparent;
  color: var(--vr-dark-text);
  border: 2px solid var(--vr-border-color);
  padding: 9px 18px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.op-btn-outline:hover {
  border-color: var(--vr-maroon);
  color: var(--vr-maroon);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.op-btn-sm {
  font-size: 0.68rem;
  padding: 8px 14px;
}

.op-booklet-past-link {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--vr-maroon);
  text-decoration: none;
  margin-top: auto;
  transition: color 0.3s;
}

.op-booklet-past-link:hover {
  color: var(--vr-gold);
}

/* Calendar Card */
.op-calendar-card {
  background: #ffffff;
  border: 1px solid var(--vr-border-color);
  border-radius: 14px;
  padding: 24px;
  height: 100%;
  transition: box-shadow 0.3s ease;
}

.op-calendar-card:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.op-calendar-header-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 6px;
}

.op-calendar-icon {
  font-size: 1.3rem;
  color: var(--vr-maroon);
  margin-top: 2px;
}

.op-calendar-title {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--vr-dark-text);
  margin: 0 0 4px 0;
}

.op-calendar-desc {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  color: var(--vr-muted-text);
  line-height: 1.5;
  margin: 0;
}

/* Calendar Grid */
.op-cal-month-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 10px;
}

.op-cal-month-title {
  font-family: var(--vr-sans);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--vr-dark-text);
  margin: 0;
}

.op-cal-nav {
  background: none;
  border: 1px solid var(--vr-border-color);
  border-radius: 6px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--vr-muted-text);
  font-size: 0.7rem;
  transition: all 0.2s;
}

.op-cal-nav:hover {
  border-color: var(--vr-maroon);
  color: var(--vr-maroon);
}

.op-cal-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--vr-sans);
}

.op-cal-table th {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--vr-muted-text);
  text-align: center;
  padding: 6px 2px;
  text-transform: uppercase;
}

.op-cal-table td {
  text-align: center;
  padding: 5px 2px;
  font-size: 0.8rem;
  color: var(--vr-dark-text);
  font-weight: 500;
}

.op-cal-highlight {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-weight: 700;
  font-size: 0.78rem;
  color: #ffffff;
}

.op-cal-holiday {
  background: #d32f2f;
}

.op-cal-special {
  background: #ef6c00;
}

.op-cal-entertainment {
  background: #388e3c;
}

.op-cal-today {
  background: var(--vr-maroon);
}

.op-cal-meeting {
  background: #1565c0;
}

/* Calendar Legend */
.op-cal-legend {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 22px;
  margin-top: 8px;
}

.op-cal-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--vr-sans);
  font-size: 0.76rem;
  color: var(--vr-dark-text);
  font-weight: 500;
}

.op-cal-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.op-cal-dot-holiday {
  background: #d32f2f;
}

.op-cal-dot-special {
  background: #ef6c00;
}

.op-cal-dot-entertainment {
  background: #388e3c;
}

.op-cal-dot-meeting {
  background: #1565c0;
}

.op-cal-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ---------- EXCLUSIVE OWNER BENEFITS ---------- */
.op-benefits-sec {
  padding: 55px 0 50px 0;
  background: #ffffff;
}

.op-benefit-item {
  text-align: center;
  padding: 10px 8px;
}

.op-benefit-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 12px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  color: var(--vr-maroon);
  border: 1.5px solid var(--vr-border-color);
  border-radius: 50%;
  transition: all 0.3s ease;
}

.op-benefit-item:hover .op-benefit-icon {
  border-color: var(--vr-gold);
  color: var(--vr-gold);
  background: rgba(181, 135, 60, 0.06);
  transform: scale(1.1);
}

.op-benefit-title {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin: 0 0 5px 0;
}

.op-benefit-desc {
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  color: var(--vr-muted-text);
  line-height: 1.5;
  margin: 0;
}

/* ---------- EVEN MORE FEATURES COMING SOON ---------- */
.op-coming-features-sec {
  padding: 45px 0 40px 0;
  background: var(--vr-maroon);
  color: #ffffff;
}

.op-coming-features-title {
  font-family: var(--vr-sans);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-align: center;
  color: #ffffff;
  margin: 0;
}

.op-coming-item {
  text-align: center;
  padding: 12px 6px;
}

.op-coming-icon {
  width: 44px;
  height: 44px;
  margin: 0 auto 10px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: var(--vr-gold);
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  transition: all 0.3s ease;
}

.op-coming-item:hover .op-coming-icon {
  border-color: var(--vr-gold);
  background: rgba(181, 135, 60, 0.15);
  transform: scale(1.1);
}

.op-coming-name {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 4px 0;
}

.op-coming-desc {
  font-family: var(--vr-sans);
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.5;
  margin: 0;
}

.op-coming-features-more {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-align: center;
  color: var(--vr-gold);
  margin: 25px 0 0 0;
}

/* ---------- STAY UPDATED CTA ---------- */
.op-stay-updated-sec {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 55px 0;
}

.op-stay-updated-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(20, 10, 5, 0.88) 0%, rgba(108, 1, 29, 0.7) 100%);
  z-index: 1;
}

.op-stay-updated-content {
  position: relative;
  z-index: 2;
}

.op-stay-updated-left {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
}

.op-stay-updated-icon {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--vr-gold);
  border: 2px solid rgba(181, 135, 60, 0.4);
  border-radius: 50%;
  flex-shrink: 0;
}

.op-stay-updated-title {
  font-family: var(--vr-sans);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 2px;
  color: #ffffff;
  margin: 0 0 6px 0;
}

.op-stay-updated-desc {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  margin: 0;
}

.op-stay-updated-form {
  width: 100%;
}

.op-stay-updated-input-group {
  display: flex;
  gap: 0;
  max-width: 500px;
}

.op-stay-updated-input {
  flex: 1;
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  padding: 13px 18px;
  border: 2px solid rgba(255, 255, 255, 0.25);
  border-right: none;
  border-radius: 6px 0 0 6px;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  outline: none;
  transition: border-color 0.3s;
}

.op-stay-updated-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.op-stay-updated-input:focus {
  border-color: var(--vr-gold);
}

.op-stay-updated-btn {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: var(--vr-maroon);
  color: #ffffff;
  border: 2px solid var(--vr-maroon);
  border-radius: 0 6px 6px 0;
  padding: 13px 22px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.op-stay-updated-btn:hover {
  background: #8a0225;
  border-color: #8a0225;
}

.op-stay-updated-privacy {
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.5);
  margin: 8px 0 0 0;
}

/* ---------- OWNERS PORTAL FOOTER ---------- */
.op-footer {
  background: #1a1412;
  padding: 55px 0 0 0;
  color: rgba(255, 255, 255, 0.8);
}

.op-footer-logo {
  display: inline-block;
  margin-bottom: 6px;
}

.op-footer-logo img {
  max-height: 50px;
  filter: brightness(1.1);
}

.op-footer-brand {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.5);
  margin: 0 0 16px 0;
}

.op-footer-address {
  margin-bottom: 16px;
}

.op-footer-address p {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
  margin: 0 0 3px 0;
  line-height: 1.6;
}

.op-footer-address a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s;
}

.op-footer-address a:hover {
  color: var(--vr-gold);
}

.op-footer-social {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.op-footer-social a {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.85rem;
  transition: all 0.3s ease;
  text-decoration: none;
}

.op-footer-social a:hover {
  border-color: var(--vr-gold);
  color: var(--vr-gold);
  transform: translateY(-2px);
}

.op-footer-heading {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0 0 18px 0;
}

.op-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.op-footer-links li {
  margin-bottom: 10px;
}

.op-footer-links a {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.3s, padding-left 0.3s;
}

.op-footer-links a:hover {
  color: var(--vr-gold);
  padding-left: 4px;
}

.op-footer-help-text {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 0 14px 0;
}

.op-footer-help-items p {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.7);
  margin: 0 0 8px 0;
}

.op-footer-help-items a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s;
}

.op-footer-help-items a:hover {
  color: var(--vr-gold);
}

.op-footer-contact-btn {
  display: inline-block;
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.3);
  padding: 10px 20px;
  border-radius: 6px;
  text-decoration: none;
  margin-top: 10px;
  transition: all 0.3s ease;
}

.op-footer-contact-btn:hover {
  border-color: var(--vr-gold);
  color: var(--vr-gold);
  transform: translateY(-2px);
}

.op-footer-hr {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin: 35px 0 0 0;
}

.op-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  flex-wrap: wrap;
  gap: 10px;
}

.op-footer-bottom p {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.45);
  margin: 0;
}

.op-footer-bottom-links {
  display: flex;
  align-items: center;
  gap: 12px;
}

.op-footer-bottom-links a {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.45);
  text-decoration: none;
  transition: color 0.3s;
}

.op-footer-bottom-links a:hover {
  color: var(--vr-gold);
}

.op-footer-bottom-links span {
  color: rgba(255, 255, 255, 0.2);
  font-size: 0.75rem;
}

/* ---------- OWNERS PORTAL RESPONSIVE ---------- */
@media (max-width: 1199px) {
  .op-hero-title {
    font-size: 2.8rem;
  }

  .op-hero-coming-soon {
    font-size: 2.1rem;
  }
}

@media (max-width: 991px) {
  .op-hero {
    padding: 9rem 0 4rem 0;
    min-height: auto;
  }

  .op-hero-title {
    font-size: 2.4rem;
  }

  .op-hero-coming-soon {
    font-size: 1.8rem;
  }

  .op-hero-desc br {
    display: none;
  }

  .op-section-heading {
    font-size: 1.3rem;
    letter-spacing: 1.5px;
  }

  .op-booklet-card {
    flex-direction: column;
  }

  .op-booklet-img {
    width: 100%;
    min-width: auto;
    height: 200px;
  }

  .op-stay-updated-left {
    margin-bottom: 24px;
  }
}

@media (max-width: 767px) {
  .op-hero {
    padding: 8rem 0 3rem 0;
  }

  .op-hero-title {
    font-size: 2rem;
  }

  .op-hero-coming-soon {
    font-size: 1.5rem;
  }

  .op-hero-label {
    font-size: 0.7rem;
    letter-spacing: 2px;
  }

  .op-hero-btns {
    flex-direction: column;
  }

  .op-hero-btn {
    justify-content: center;
    width: 100%;
  }

  .op-section-heading {
    font-size: 1.1rem;
    letter-spacing: 1px;
    white-space: normal;
  }

  .op-divider-line {
    max-width: 40px;
  }

  .op-access-sec,
  .op-launching-sec,
  .op-benefits-sec {
    padding: 40px 0;
  }

  .op-access-card {
    padding: 18px 12px;
  }

  .op-access-icon {
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
  }

  .op-cal-table th {
    font-size: 0.55rem;
  }

  .op-cal-table td {
    font-size: 0.72rem;
    padding: 4px 1px;
  }

  .op-cal-highlight {
    width: 24px;
    height: 24px;
    font-size: 0.68rem;
  }

  .op-stay-updated-input-group {
    flex-direction: column;
    max-width: 100%;
  }

  .op-stay-updated-input {
    border-right: 2px solid rgba(255, 255, 255, 0.25);
    border-radius: 6px;
  }

  .op-stay-updated-input:focus {
    border-color: var(--vr-gold);
  }

  .op-stay-updated-btn {
    border-radius: 6px;
    width: 100%;
  }

  .op-footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .op-coming-features-title {
    font-size: 1.1rem;
  }
}

@media (max-width: 575px) {
  .op-hero-title {
    font-size: 1.7rem;
  }

  .op-hero-coming-soon {
    font-size: 1.3rem;
  }

  .op-access-title {
    font-size: 0.75rem;
  }

  .op-access-desc {
    font-size: 0.68rem;
  }

  .op-booklet-actions {
    flex-direction: column;
  }

  .op-btn-primary,
  .op-btn-outline {
    justify-content: center;
    width: 100%;
  }
}

/* ==========================================================================
   DINING & NIGHTLIFE CUSTOM STYLING (dn-)
   ========================================================================== */

/* ---------- HERO SECTION ---------- */
.dn-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 85vh;
  display: flex;
  align-items: center;
  padding: 160px 0 100px 0;
  color: #ffffff;
}

.dn-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(8, 12, 16, 0.75) 0%, rgba(8, 12, 16, 0.8) 60%, rgba(8, 12, 16, 0.95) 100%);
  z-index: 1;
}

.z-2 {
  z-index: 1 !important;
}

.dn-hero-content {
  position: relative;
  z-index: 1;
  text-align: left;
}

.dn-hero-title {
  font-family: var(--vr-sans);
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.1;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 10px;
}

.dn-hero-title br {
  display: block;
}

.dn-hero-line {
  width: 120px;
  height: 2px;
  background: linear-gradient(90deg, var(--vr-gold), transparent);
  margin: 10px 0 15px 0;
}

.dn-hero-desc {
  font-family: var(--vr-sans);
  font-size: 1rem;
  line-height: 1.5;
  color: #ebdcd0;
  font-weight: 300;
  margin-bottom: 15px;
}

.dn-hero-badges {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  margin-bottom: 15px;
  flex-wrap: wrap;
}

.dn-hero-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 6px 14px;
  border-radius: 50px;
  transition: all 0.3s ease;
}

.dn-hero-badge i {
  color: var(--vr-gold);
  font-size: 1.1rem;
}

.dn-hero-badge span {
  font-family: var(--vr-sans);
  font-size: 0.68rem;
  letter-spacing: 1px;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff;
}

.dn-hero-badge:hover {
  background: rgba(181, 135, 60, 0.12);
  border-color: var(--vr-gold);
  transform: translateY(-2px);
}

.dn-hero-btns {
  display: flex;
  justify-content: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}

.dn-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 26px;
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-radius: 4px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
}

.dn-hero-btn-primary {
  background-color: var(--vr-maroon);
  color: #ffffff;
  border: 1px solid var(--vr-maroon);
}

.dn-hero-btn-primary:hover {
  background-color: #8c0a2d;
  border-color: #8c0a2d;
  color: #ffffff;
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(108, 1, 29, 0.35);
}

.dn-hero-btn-outline {
  background-color: transparent;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.dn-hero-btn-outline:hover {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: #ffffff;
  color: #ffffff;
  transform: translateY(-3px);
}

.dn-hero-btns .dn-hero-btn-outline:last-child {
  background-color: var(--vr-gold) !important;
  border-color: var(--vr-gold) !important;
  color: #ffffff !important;
}

.dn-hero-btns .dn-hero-btn-outline:last-child:hover {
  background-color: var(--vr-gold-hover) !important;
  border-color: var(--vr-gold-hover) !important;
  color: #ffffff !important;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(181, 135, 60, 0.3);
}


/* ---------- OUR RESTAURANTS ---------- */
.dn-restaurants-sec {
  background-color: var(--vr-light-bg);
  padding: 80px 0;
}

.dn-view-all-link {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--vr-maroon);
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: all 0.3s ease;
}

.dn-view-all-link i {
  transition: transform 0.3s ease;
}

.dn-view-all-link:hover {
  color: var(--vr-gold);
}

.dn-view-all-link:hover i {
  transform: translateX(4px);
}

.dn-rest-card {
  background: #ffffff;
  border: 1px solid var(--vr-border-color);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dn-rest-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(108, 1, 29, 0.08);
  border-color: var(--vr-gold);
}

.dn-rest-img-wrap {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
}

.dn-rest-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.dn-rest-card:hover .dn-rest-img-wrap img {
  transform: scale(1.06);
}

.dn-rest-featured-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background-color: var(--vr-maroon);
  color: #ffffff;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 4px 10px;
  border-radius: 4px;
  z-index: 2;
}

.dn-rest-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.dn-rest-name {
  font-family: var(--vr-sans);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin-bottom: 4px;
}

.dn-rest-cuisine {
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--vr-gold);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.dn-rest-desc {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: var(--vr-muted-text);
  line-height: 1.5;
  margin-bottom: 18px;
  flex-grow: 1;
}

.dn-rest-info {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  color: var(--vr-muted-text);
  margin-bottom: 8px;
}

.dn-rest-info i {
  color: var(--vr-gold);
  width: 14px;
  font-size: 0.85rem;
}

.dn-rest-actions {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}

.dn-rest-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 4px;
  transition: all 0.3s ease;
  text-decoration: none;
  text-align: center;
}

.dn-rest-btn-outline {
  border: 1px solid var(--vr-border-color);
  color: var(--vr-dark-text);
  background-color: transparent;
}

.dn-rest-btn-outline:hover {
  border-color: var(--vr-gold);
  color: var(--vr-gold);
}

.dn-rest-btn-primary {
  background-color: var(--vr-maroon);
  color: #ffffff;
  border: 1px solid var(--vr-maroon);
}

.dn-rest-btn-primary:hover {
  background-color: #8c0a2d;
  border-color: #8c0a2d;
  color: #ffffff;
  box-shadow: 0 4px 10px rgba(108, 1, 29, 0.2);
}


/* ---------- BARS & LOUNGES ---------- */
.dn-bars-sec {
  background-color: #080f14;
  padding: 80px 0;
}

.dn-bars-sec .op-section-heading,
.dn-events-sec .op-section-heading {
  color: #ffffff !important;
}

.dn-bars-sec .op-divider-line,
.dn-events-sec .op-divider-line {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent) !important;
}

.dn-bars-sec .op-section-subtext,
.dn-events-sec .op-section-subtext {
  color: rgba(255, 255, 255, 0.6) !important;
}

.dn-bars-sec .dn-view-all-link,
.dn-events-sec .dn-view-all-link {
  color: var(--vr-gold) !important;
}

.dn-bars-sec .dn-view-all-link:hover,
.dn-events-sec .dn-view-all-link:hover {
  color: #ffffff !important;
}

.dn-bar-card {
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.dn-bar-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
  border-color: var(--vr-gold);
}

.dn-bar-img-wrap {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
}

.dn-bar-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.dn-bar-card:hover .dn-bar-img-wrap img {
  transform: scale(1.06);
}

.dn-bar-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.dn-bar-name {
  font-family: var(--vr-sans);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin-bottom: 4px;
}

.dn-bar-type {
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--vr-gold);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.dn-bar-desc {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: var(--vr-muted-text);
  line-height: 1.5;
  margin-bottom: 18px;
  flex-grow: 1;
}

.dn-bar-info {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  color: var(--vr-muted-text);
  margin-bottom: 8px;
}

.dn-bar-info i {
  color: var(--vr-gold);
  width: 14px;
  font-size: 0.85rem;
}

.dn-bar-btn {
  margin-top: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: var(--vr-maroon);
  color: #ffffff;
  border: 1px solid var(--vr-maroon);
  transition: all 0.3s ease;
  text-decoration: none;
}

.dn-bar-btn:hover {
  background-color: #8c0a2d;
  border-color: #8c0a2d;
  color: #ffffff;
  box-shadow: 0 4px 10px rgba(108, 1, 29, 0.2);
}


/* ---------- DINING PACKAGES ---------- */
.dn-packages-sec {
  background-color: var(--vr-light-bg);
  padding: 80px 0;
}

.dn-pkg-card {
  background: #ffffff;
  border: 1px solid var(--vr-border-color);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.35s ease;
}

.dn-pkg-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(108, 1, 29, 0.06);
  border-color: var(--vr-gold);
}

.dn-pkg-img-wrap {
  position: relative;
  width: 100%;
  height: 160px;
  overflow: hidden;
}

.dn-pkg-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.dn-pkg-card:hover .dn-pkg-img-wrap img {
  transform: scale(1.06);
}

.dn-pkg-icon-badge {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 44px;
  background-color: var(--vr-maroon);
  border: 2px solid #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.1rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  z-index: 2;
  transition: all 0.3s ease;
}

.dn-pkg-card:hover .dn-pkg-icon-badge {
  background-color: var(--vr-gold);
}

.dn-pkg-body {
  padding: 30px 18px 20px 18px;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.dn-pkg-name {
  font-family: var(--vr-sans);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin-bottom: 8px;
  line-height: 1.3;
}

.dn-pkg-desc {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  color: var(--vr-muted-text);
  line-height: 1.4;
  margin-bottom: 12px;
  flex-grow: 1;
}

.dn-pkg-price {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: var(--vr-muted-text);
  margin: 0;
}

.dn-pkg-price strong {
  color: var(--vr-maroon);
  font-size: 1rem;
  font-weight: 700;
}


/* ---------- DAY WISE MENUS ---------- */
.dn-menus-sec {
  background-color: #ffffff;
  padding: 80px 0;
}

.dn-day-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  overflow-x: auto;
  padding-bottom: 5px;
}

.dn-day-tab {
  flex: 1;
  min-width: 65px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  border: 1px solid var(--vr-border-color);
  padding: 10px 5px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.dn-day-tab:hover {
  border-color: var(--vr-gold);
  transform: translateY(-2px);
}

.dn-day-tab.active {
  background-color: var(--vr-maroon);
  border-color: var(--vr-maroon);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(108, 1, 29, 0.2);
}

.dn-day-name {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--vr-dark-text);
}

.dn-day-tab.active .dn-day-name {
  color: #ffffff;
}

.dn-day-date {
  font-family: var(--vr-sans);
  font-size: 0.65rem;
  font-weight: 500;
  color: var(--vr-muted-text);
  margin-top: 2px;
}

.dn-day-tab.active .dn-day-date {
  color: rgba(255, 255, 255, 0.8);
}

.dn-menu-items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.dn-menu-item {
  display: grid;
  grid-template-areas:
    "icon title"
    "icon pdf";
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 14px;
  row-gap: 4px;
  background-color: #ffffff;
  border: 1px solid var(--vr-border-color);
  border-radius: 8px;
  padding: 16px 14px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.dn-menu-item:hover {
  border-color: var(--vr-gold);
  background-color: var(--vr-light-bg);
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(108, 1, 29, 0.06);
}

.dn-menu-item i {
  grid-area: icon;
  font-size: 1.5rem;
  color: var(--vr-gold);
  width: auto;
  text-align: center;
}

.dn-menu-item span:not(.dn-menu-pdf) {
  grid-area: title;
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  line-height: 1.2;
}

.dn-menu-pdf {
  grid-area: pdf;
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--vr-maroon) !important;
  display: flex;
  align-items: center;
  gap: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

.dn-menu-item:hover .dn-menu-pdf {
  color: var(--vr-gold) !important;
}

.dn-menu-promo-card {
  position: relative;
  width: 100%;
  height: 165px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--vr-border-color);
}

.dn-menu-promo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.dn-menu-promo-card:hover img {
  transform: scale(1.05);
}

.dn-menu-promo-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, rgba(108, 1, 29, 0.85) 100%);
  display: flex;
  align-items: flex-end;
  padding: 24px;
}

.dn-menu-promo-label {
  font-family: var(--vr-sans);
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 2px;
  text-transform: uppercase;
}


/* ---------- UPCOMING EVENTS ---------- */
.dn-events-sec {
  background-color: #080f14;
  padding: 80px 0;
}

.dn-event-card {
  background-color: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 24px;
  display: flex;
  gap: 20px;
  height: 100%;
  transition: all 0.35s ease;
}

.dn-event-card:hover {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: var(--vr-gold);
  transform: translateY(-5px);
}

.dn-event-date-badge {
  width: 60px;
  height: 65px;
  background-color: var(--vr-maroon);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.dn-event-month {
  font-family: var(--vr-sans);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 1px;
  opacity: 0.9;
  text-transform: uppercase;
}

.dn-event-day {
  font-family: var(--vr-sans);
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1.1;
}

.dn-event-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dn-event-name {
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 6px;
}

.dn-event-desc {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.4;
  margin-bottom: 8px;
}

.dn-event-time {
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--vr-gold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}


/* ---------- FOOTER ---------- */
.dn-footer {
  background: #1a1412;
  padding: 55px 0 0 0;
  color: rgba(255, 255, 255, 0.8);
}

.dn-footer-hours-label {
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--vr-gold);
  text-transform: uppercase;
  margin: 0 0 4px 0;
  letter-spacing: 0.5px;
}

.dn-footer-hours-value {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.5;
  margin-bottom: 12px;
}


/* ---------- RESPONSIVE MEDIA QUERIES ---------- */
@media (max-width: 1199px) {
  .dn-hero-title {
    font-size: 3rem;
  }

  .dn-pkg-name {
    font-size: 0.95rem;
  }
}

@media (max-width: 991px) {
  .dn-hero {
    padding: 120px 0 80px 0;
    min-height: auto;
  }

  .dn-hero-title {
    font-size: 2.6rem;
  }

  .dn-hero-desc {
    font-size: 1rem;
  }

  .dn-hero-desc br {
    display: none;
  }

  .dn-hero-badges {
    gap: 15px;
  }

  .dn-hero-badge {
    padding: 8px 16px;
  }

  .dn-rest-card,
  .dn-bar-card,
  .dn-pkg-card,
  .dn-event-card {
    margin-bottom: 10px;
  }

  .dn-menu-promo-card {
    min-height: 280px;
    margin-top: 20px;
  }

  .dn-menu-items {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .dn-hero {
    padding: 100px 0 60px 0;
  }

  .dn-hero-title {
    font-size: 2.1rem;
  }

  .dn-hero-btns {
    flex-direction: column;
    width: 100%;
    gap: 10px;
  }

  .dn-hero-btn {
    width: 100%;
  }

  .dn-event-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .dn-day-tabs {
    justify-content: flex-start;
  }

  .dn-menu-item {
    padding: 12px 16px;
  }
}

@media (max-width: 575px) {
  .dn-hero-title {
    font-size: 1.8rem;
  }

  .dn-rest-actions {
    flex-direction: column;
    gap: 8px;
  }

  .dn-rest-btn {
    width: 100%;
  }

  .dn-pkg-icon-badge {
    width: 38px;
    height: 38px;
    font-size: 0.95rem;
    bottom: -16px;
  }

  .dn-pkg-body {
    padding: 24px 12px 16px 12px;
  }

  .dn-menu-items {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   CONTACT US PAGE — vr-contact-us.html
============================================ */

/* ---- Hero ---- */
.cu-hero {
  position: relative;
  background-image: url('../images/contact-us/hero-contact.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 480px;
  display: flex;
  align-items: flex-end;
  padding-bottom: 0;
  color: #fff;
}

.cu-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(30, 20, 15, 0.45) 0%, rgba(20, 10, 5, 0.80) 100%);
  z-index: 1;
}

.cu-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 5rem 0 2rem 0;
}

.cu-hero-left {
  padding: 7rem 2rem 0rem 0rem;

}

.cu-hero-left h1 {
  font-family: var(--vr-sans);
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 0.5rem;
  line-height: 1.1;
  color: #ffffff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

.cu-hero-left .cu-hero-tagline {
  font-family: var(--vr-sans);
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--vr-gold);
  margin-bottom: 1.25rem;
}

.cu-hero-left .cu-hero-desc {
  font-size: 0.97rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.7;
  max-width: 430px;
}

/* Pill icons row in hero */
.cu-hero-pills {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 0.5rem 0 0.5rem 0;
}

.cu-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  text-align: center;
}

.cu-pill-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  color: var(--vr-gold);
  background: rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(4px);
}

.cu-pill h6 {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
  color: #fff;
}

.cu-pill p {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  line-height: 1.4;
}

/* Get In Touch floating card */
.cu-contact-card {
  background: rgba(15, 8, 5, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  padding: 2rem 1.75rem;
  color: #fff;
  min-width: 275px;
  max-width: 320px;
  margin-left: auto;
  margin-bottom: 2rem;
  position: relative;
  z-index: 10;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}

.cu-contact-card h5 {
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--vr-gold);
  margin-bottom: 1.5rem;
}

.cu-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.cu-contact-item:last-child {
  margin-bottom: 0;
}

.cu-contact-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vr-gold);
  font-size: 0.95rem;
  flex-shrink: 0;
}

.cu-contact-item-text small {
  display: block;
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

.cu-contact-item-text span {
  font-size: 0.92rem;
  font-weight: 600;
  color: #fff;
}

/* ---- Main Body Sections ---- */
.cu-body {
  background: #f9f6f2;
  padding: 4rem 0;
}

/* Section header style */
.cu-sec-title {
  font-family: var(--vr-sans);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--vr-maroon);
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/*.cu-sec-title::after {*/
/*  content: '';*/
/*  flex: 1;*/
/*  height: 2px;*/
/*  background: var(--vr-border-color);*/
/*}*/
.cu-body .oo-divider 
{
display:none;
}
/* Map Card */
.cu-map-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  margin-bottom: 1.5rem;
}

.cu-map-iframe {
  width: 100%;
  height: 320px;
  border: none;
  display: block;
}

.cu-map-actions {
  display: flex;
  gap: 0.75rem;
  padding: 1.25rem;
  flex-wrap: wrap;
}

.cu-map-btn {
  flex: 1;
  min-width: 120px;
  padding: 0.7rem 0.5rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  transition: all 0.2s ease;
}

.cu-map-btn-primary {
  background: var(--vr-maroon);
  color: #fff;
  border: 2px solid var(--vr-maroon);
}

.cu-map-btn-primary:hover {
  background: #550015;
  color: #fff;
  border-color: #550015;
}

.cu-map-btn-outline {
  background: #fff;
  color: var(--vr-dark-text);
  border: 2px solid var(--vr-border-color);
}

.cu-map-btn-outline:hover {
  border-color: var(--vr-maroon);
  color: var(--vr-maroon);
}

/* Directions Grid */
.cu-directions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 2rem;
}

.cu-direction-card {
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--vr-border-color);
  padding: 1.25rem;
}

.cu-direction-card h6 {
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--vr-maroon);
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.cu-direction-card p {
  font-size: 0.85rem;
  color: var(--vr-muted-text);
  line-height: 1.6;
  margin-bottom: 0.5rem;
}

.cu-direction-card .cu-approx {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin: 0;
}

/* Practical Info Row */
.cu-info-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 1.5rem;
}

.cu-info-item {
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--vr-border-color);
  padding: 1.25rem 1rem;
  text-align: center;
}

.cu-info-icon {
  font-size: 1.8rem;
  color: var(--vr-gold);
  margin-bottom: 0.5rem;
  display: block;
}

.cu-info-item h6 {
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--vr-dark-text);
  margin-bottom: 0.35rem;
}

.cu-info-item p {
  font-size: 0.8rem;
  color: var(--vr-muted-text);
  margin: 0;
  line-height: 1.4;
}

/* FAQ */
.cu-faq-item {
  border-bottom: 1px solid var(--vr-border-color);
}

.cu-faq-btn {
  width: 100%;
  background: none;
  border: none;
  padding: 1rem 0;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--vr-dark-text);
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
  transition: color 0.2s ease;
}

.cu-faq-btn:hover {
  color: var(--vr-maroon);
}

.cu-faq-btn i {
  font-size: 0.8rem;
  color: var(--vr-muted-text);
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.cu-faq-body {
  font-size: 0.88rem;
  color: var(--vr-muted-text);
  line-height: 1.6;
  padding-bottom: 1rem;
  display: none;
}

.cu-faq-item.open .cu-faq-btn i {
  transform: rotate(45deg);
}

.cu-faq-item.open .cu-faq-body {
  display: block;
}

.cu-view-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding: 0.8rem 1.75rem;
  background: var(--vr-maroon);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
}

.cu-view-all-btn:hover {
  background: #550015;
  color: #fff;
  box-shadow: 0 6px 18px rgba(108, 1, 29, 0.25);
}

/* Contact Form */
.cu-form-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  padding: 2rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.cu-form-card h4 {
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--vr-dark-text);
  margin-bottom: 0.35rem;
}

.cu-form-card p.cu-form-sub {
  font-size: 0.88rem;
  color: var(--vr-muted-text);
  margin-bottom: 1.5rem;
}

.cu-send-btn {
  width: 100%;
  padding: 0.9rem;
  background: var(--vr-maroon);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.25s ease;
  margin-top: 0.5rem;
}

.cu-send-btn:hover {
  background: #550015;
  box-shadow: 0 6px 18px rgba(108, 1, 29, 0.3);
}

/* Gallery Grid */
.cu-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}

.cu-gallery-item {
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
}

.cu-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.cu-gallery-item:hover img {
  transform: scale(1.06);
}

.cu-gallery-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(108, 1, 29, 0);
  transition: background 0.3s ease;
}

.cu-gallery-item:hover::after {
  background: rgba(108, 1, 29, 0.18);
}

/* Shuttle Section */
.cu-shuttle-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  padding: 2rem 1.75rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  height: 100%;
}

.cu-shuttle-logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 1rem 0;
}

.cu-shuttle-logo-icon {
  width: 44px;
  height: 44px;
}

.cu-shuttle-logo-text {
  font-size: 1rem;
  font-weight: 800;
  color: var(--vr-dark-text);
  line-height: 1.2;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.cu-shuttle-book-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.85rem;
  background: var(--vr-maroon);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  margin: 1.25rem 0;
}

.cu-shuttle-book-btn:hover {
  background: #550015;
  color: #fff;
  box-shadow: 0 6px 18px rgba(108, 1, 29, 0.25);
}

.cu-shuttle-perks {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cu-shuttle-perks li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.85rem;
  color: var(--vr-muted-text);
  margin-bottom: 0.5rem;
}

.cu-shuttle-perks li i {
  color: var(--vr-gold);
  font-size: 0.85rem;
}

/* Contact Team Card */
.cu-team-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--vr-border-color);
  padding: 2rem 1.75rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  height: 100%;
}

.cu-team-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--vr-border-color);
}

.cu-team-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.cu-team-icon {
  width: 40px;
  height: 40px;
  background: rgba(108, 1, 29, 0.06);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vr-maroon);
  font-size: 1rem;
  flex-shrink: 0;
}

.cu-team-info h6 {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--vr-dark-text);
  margin-bottom: 0.2rem;
}

.cu-team-info p {
  font-size: 0.82rem;
  color: var(--vr-muted-text);
  margin: 0;
  line-height: 1.4;
}

/* Gift Card Banner */
.cu-gift-banner {
  background: linear-gradient(135deg, var(--vr-maroon) 0%, #3a0010 100%);
  border-radius: 12px;
  padding: 2rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  margin-top: 3rem;
}

.cu-gift-banner-item {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.cu-gift-icon {
  font-size: 2rem;
  color: var(--vr-gold);
  flex-shrink: 0;
}

.cu-gift-banner-item h6 {
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--vr-gold);
  margin-bottom: 0.25rem;
}

.cu-gift-banner-item p {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
  line-height: 1.4;
}

/* ---- RIGHT SIDEBAR ---- */
.cu-right-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Section header with "View All" link */
.cu-sec-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
}

.cu-sec-header-row .cu-sec-title {
  margin-bottom: 0;
}

.cu-view-all-link {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--vr-maroon);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: color 0.2s;
}

.cu-view-all-link:hover {
  color: var(--vr-gold);
}

/* Contact Page Responsive */
@media (max-width: 991.98px) {
  .cu-contact-card {
    max-width: 100%;
    margin: 1.5rem 0 0 0;
  }

  .cu-directions-grid {
    grid-template-columns: 1fr;
  }

  .cu-info-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767.98px) {
  .cu-hero {
    min-height: 360px;
  }

  .cu-hero-left {
    padding: 3rem 0 1.5rem 0;
  }

  .cu-hero-pills {
    gap: 1.25rem;
  }

  .cu-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cu-info-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .cu-map-actions {
    flex-direction: column;
  }

  .cu-gift-banner {
    flex-direction: column;
    align-items: flex-start;
  }

  .cu-directions-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .cu-info-row {
    grid-template-columns: 1fr 1fr;
  }

  .cu-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cu-hero-pills {
    gap: 1rem;
  }

  .cu-pill-icon {
    width: 42px;
    height: 42px;
    font-size: 1rem;
  }
}

/* ========================================================
   AMENITIES PAGE (Screen 9)
======================================================== */

.amenities-hero-sec {
  height: 85vh !important;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 12rem 0 8rem 0;
  text-align: left;
  color: #fff;

}

.amenities-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%);
  z-index: 1;
}

.amenities-hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
}

.amenities-hero-title {
  font-family: var(--vr-sans);
  font-size: 4.5rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.5rem;
  letter-spacing: 2px;
}

.amenities-hero-subtitle {
  font-family: var(--vr-sans);
  font-size: 2.2rem;
  font-weight: 700;
  color: #d1a869;
  /* Gold color */
  margin-bottom: 1.5rem;
  line-height: 1.2;
}

.amenities-hero-desc {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  color: #eaeaea;
  line-height: 1.6;
  max-width: 500px;
}

/* Highlights Bar */
.amenities-highlights-sec {
  background: #0a0a0a;
  padding: 1.5rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.amenities-high-item {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  padding: 0.5rem 1rem;
}

.amenities-high-item:last-child {
  border-right: none;
}

.amenities-high-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #d1a869;
}

.amenities-high-title {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.2rem;
}

.amenities-high-desc {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #aaaaaa;
  margin: 0;
  line-height: 1.3;
}

/* Explore Amenities */
.amenities-explore-sec {
  background: #fbf9f6;
  padding: 5rem 0;
}

.amenity-card {
  background: #ffffff;
  border: 1px solid #ebdcd0;
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.amenity-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(108, 1, 29, 0.1);
  border-color: #d1a869;
}

.amenity-card-img {
  position: relative;
  height: 220px;
}

.amenity-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  clip-path: inset(0 0 0 0);
}

.amenity-card:hover .amenity-card-img img {
  transform: scale(1.05);
}

.amenity-card-icon-overlay {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  background: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #d1a869;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  z-index: 2;
}

.amenity-card-body {
  padding: 2.5rem 1.5rem 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.amenity-card-title {
  font-family: var(--vr-sans);
  font-size: 1.3rem;
  font-weight: 700;
  color: #2c2520;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
}

.amenity-card-desc {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: #706259;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  flex-grow: 1;
}

.amenity-card-link {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 700;
  color: #6c011d;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: color 0.2s ease;
}

.amenity-card-link:hover {
  color: #d1a869;
}

/* Assistance Bar */
.amenities-assistance-sec {
  padding: 0;
  margin-bottom: 10px;
  position: relative;
  z-index: 5;
}

.amenities-assistance-box {
  background: #6c011d;
  border-radius: 12px;
  padding: 2rem 3rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  box-shadow: 0 10px 30px rgba(108, 1, 29, 0.2);
}

.assistance-icon {
  width: 50px;
  height: 50px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #ffffff;
}

.assistance-title {
  font-family: var(--vr-sans);
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.25rem;
}

.assistance-desc {
  font-family: var(--vr-sans);
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}

.assistance-btn {
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: transparent;
  color: #ffffff;
  padding: 0.75rem 1.5rem;
  font-family: var(--vr-sans);
  font-weight: 600;
  font-size: 0.9rem;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.assistance-btn:hover {
  background: #ffffff;
  color: #6c011d;
}

/* Bottom Features */
.amenities-bottom-features-sec {
  background: #0a0a0a;
  padding: 6rem 0 3rem;
  /* Extra top padding to account for overlapping assistance box */
  color: #ffffff;
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 15px;
}

.feature-icon {
  width: 45px;
  height: 45px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #ffffff;
}

.feature-title {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.2rem;
  text-transform: uppercase;
}

.feature-desc {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #aaaaaa;
  margin: 0;
  line-height: 1.3;
}



/* Responsive adjustments */
@media (max-width: 991px) {
  .amenities-hero-title {
    font-size: 3.5rem;
  }

  .amenities-hero-subtitle {
    font-size: 1.8rem;
  }

  .amenities-high-item {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
  }

  .amenities-high-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .amenities-assistance-box {
    flex-direction: column;
    text-align: center;
    justify-content: center;
  }

  .assistance-icon {
    margin: 0 auto;
  }

  .amenities-assistance-box .d-flex {
    flex-direction: column;
    align-items: center !important;
  }
}

@media (max-width: 767px) {
  .amenities-hero-title {
    font-size: 2.8rem;
  }

  .amenities-hero-subtitle {
    font-size: 1.5rem;
  }

  .amenities-hero-sec {
    padding: 8rem 0 4rem 0;
    text-align: center;
  }

  .amenities-hero-desc {
    margin: 0 auto;
  }

  .feature-item {
    justify-content: center;
    flex-direction: column;
    text-align: center;
  }
}

/* ========================================================
   ALBA NOUVA MENU PAGE (Screen 10)
======================================================== */

.alba-hero-sec {
  background: #0a0a0a;
  padding: 13rem 0 4rem;
  color: #ffffff;
}

.alba-logo-wrapper {
  position: relative;
  display: inline-block;
  margin-bottom: 1.5rem;
}

.alba-logo-circle {
  width: 200px;
  height: 100px;
  /* border: 2px solid #d1a869;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  overflow: hidden; */
}

.alba-logo-ornament {
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
}

.alba-hero-title {
  font-family: var(--vr-sans);
  font-size: 3.5rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 3px;
  margin-bottom: 1rem;
}

.alba-hero-divider {
  width: 100px;
  height: 2px;
  background: linear-gradient(90deg, #32cd32 0%, #ffffff 50%, #ff0000 100%);
  margin: 0 auto 1rem;
}

.alba-hero-subtitle {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  font-weight: 400;
  color: #aaaaaa;
  letter-spacing: 4px;
  text-transform: uppercase;
}

.alba-about-sec {
  background: #fbf9f6;
  padding: 5rem 0;
  position: relative;
  overflow: hidden;
}



.alba-section-title {
  font-family: var(--vr-sans);
  font-size: 2.2rem;
  font-weight: 700;
  color: #d1a869;
  margin-bottom: 2rem;
  letter-spacing: 1px;
}

.alba-about-text {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  color: #2c2520;
  line-height: 1.8;
  max-width: 800px;
  margin: 0 auto;
}

.alba-menu-sec {
  background: #fbf9f6;
  padding: 4rem 0 6rem;
}

.alba-menu-grid {
  border: 1px solid #ebdcd0;
  border-radius: 8px;
  padding: 3rem 1.5rem;
  background: #fbf9f6;
}

.alba-menu-col {
  padding: 0 1.5rem;
}

.alba-menu-col:not(:last-child) {
  border-right: 1px dashed #ebdcd0;
}

.alba-menu-category {
  font-family: var(--vr-sans);
  font-size: 1.2rem;
  font-weight: 700;
  color: #d1a869;
  text-align: center;
  margin-bottom: 2.5rem;
  letter-spacing: 2px;
}

.alba-menu-item {
  margin-bottom: 2.5rem;
}

.alba-menu-item-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.5rem;
}

.alba-menu-item-name {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: #2c2520;
  margin: 0;
}

.alba-menu-item-price {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: #2c2520;
}

.alba-menu-item-desc {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #706259;
  line-height: 1.5;
  margin: 0;
}

.alba-leaf-icon {
  font-size: 1.5rem;
  color: #d1a869;
  margin-bottom: 1rem;
}

.alba-menu-footer p {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #706259;
}

.alba-info-bar {
  background: #0a0a0a;
  padding: 2.5rem 0;
  color: #ffffff;
}

.alba-info-left {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.alba-info-icon {
  width: 50px;
  height: 50px;
  border: 1px solid #d1a869;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #d1a869;
}

.alba-info-logo-small {
  width: 50px;
  height: 50px;
  border: 1px solid #d1a869;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.alba-logo-circle img,
.alba-info-logo-small img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.alba-info-title {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: #d1a869;
  margin-bottom: 0.25rem;
  letter-spacing: 1px;
}

.alba-info-desc {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #aaaaaa;
  margin: 0;
}

@media (max-width: 991px) {
  .alba-menu-col:not(:last-child) {
    border-right: none;
    border-bottom: 1px dashed #ebdcd0;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }

  .alba-info-left {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 1.5rem;
  }
}

@media (max-width: 767px) {
  .alba-hero-title {
    font-size: 2.5rem;
  }

  .alba-section-title {
    font-size: 1.8rem;
  }

  .alba-menu-grid {
    padding: 2rem 1rem;
  }

  .alba-info-right .d-flex {
    justify-content: flex-start !important;
  }

  .alba-info-right .text-md-end {
    text-align: left !important;
  }
}

/* ========================================================
   KIDS BIRTHDAY PARTY (Screen 11)
======================================================== */

.bday-hero-sec {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 8rem 0 6rem;
  color: #fff;
  position: relative;
}

.bday-hero-sec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100%);
  z-index: 1;
}

.bday-hero-content {
  position: relative;
  z-index: 2;
  max-width: 600px;
}

.bday-hero-title {
  font-family: var(--vr-sans);
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.bday-hero-desc {
  font-family: var(--vr-sans);
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.6;
}

/* Progress Stepper */
.bday-progress-sec {
  background: #ffffff;
  padding: 1.5rem 0;
  border-bottom: 1px solid #eaeaea;
}

.bday-progress-wrapper {
  overflow-x: auto;
  white-space: nowrap;
  padding-bottom: 0.5rem;
}

.bday-stepper {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: space-between;
  min-width: 800px;
  /* Ensure horizontal scroll on mobile */
  position: relative;
}

.bday-stepper::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 3%;
  width: 94%;
  height: 2px;
  background: #f0f0f0;
  z-index: 1;
}

.bday-stepper .step {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 2;
  width: 14%;
}

.bday-stepper .step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #eaeaea;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  font-weight: 600;
  color: #666;
  margin-bottom: 0.5rem;
  transition: all 0.3s;
}

.bday-stepper .step.active .step-num {
  background: #6c011d;
  border-color: #6c011d;
  color: #fff;
}

.bday-stepper .step-label {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #666;
  font-weight: 500;
}

.bday-stepper .step.active .step-label {
  color: #6c011d;
  font-weight: 700;
}

/* Main Layout Background */
.bday-main-sec {
  background: #fcfbf9;
}

/* Left Column Blocks */
.bday-step-block {
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 2.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.bday-step-indicator {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  color: #6c011d;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  letter-spacing: 1px;
}

.bday-step-title {
  font-family: var(--vr-sans);
  font-size: 1.8rem;
  font-weight: 700;
  color: #2c2520;
}

.bday-step-desc {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  color: #666;
  margin-bottom: 2rem;
}

/* Package Cards */
.bday-pack-card {
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 1.5rem;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
  height: 100%;
}

.bday-pack-card:hover {
  border-color: #d1a869;
  box-shadow: 0 5px 15px rgba(209, 168, 105, 0.1);
}

.bday-pack-card.selected {
  border-color: #6c011d;
  background-color: rgba(108, 1, 29, 0.02);
}

.pack-check {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #6c011d;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.bday-pack-card.selected .pack-check {
  opacity: 1;
}

.pack-icon {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.bday-pack-card h5 {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c2520;
  margin-bottom: 0.5rem;
}

.bday-pack-card p {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 1rem;
  line-height: 1.4;
}

.pack-details {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pack-details li {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #888;
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pack-price {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c2520;
  text-align: center;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed #eaeaea;
}

/* Form Elements */
.bday-label {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 600;
  color: #2c2520;
  margin-bottom: 0.5rem;
  display: block;
}

.bday-input-icon {
  position: relative;
}

.bday-input-icon i {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.bday-counter {
  display: flex;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
}

.bday-counter button {
  background: #f8f9fa;
  border: none;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.2rem;
  color: #666;
  transition: background 0.2s;
}

.bday-counter button:hover {
  background: #e9ecef;
}

.bday-counter input {
  width: 100%;
  border: none;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  text-align: center;
  font-family: var(--vr-sans);
  font-weight: 600;
  height: 40px;
}

.bday-helper {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  color: #888;
  display: block;
  margin-top: 0.25rem;
}

.bday-main-sec .form-control {
  padding: 0.75rem 1rem !important;
  height: auto !important;
  line-height: 1.5 !important;
  border: 1px solid #eaeaea !important;
  border-radius: 6px !important;
  background-color: #fff !important;
  color: #2c2520 !important;
  font-family: var(--vr-sans);
  font-size: 0.9rem !important;
}

.bday-main-sec .form-control::placeholder {
  color: #8c8c8f !important;
}

.bday-main-sec .form-control:focus {
  border-color: #6c011d !important;
  box-shadow: 0 0 0 0.2rem rgba(108, 1, 29, 0.15) !important;
}

.bday-textarea {
  min-height: 120px;
  resize: vertical;
}

/* Sidebar Cards */
.bday-sidebar-card {
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 2rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.bday-sidebar-title {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c2520;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  padding-bottom: 1rem;
  border-bottom: 1px solid #eaeaea;
}

.bday-summary-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}

.bday-summary-list li {
  display: flex;
  justify-content: space-between;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 0.75rem;
}

.bday-summary-total {
  display: flex;
  justify-content: space-between;
  font-family: var(--vr-sans);
  font-size: 1rem;
  font-weight: 700;
  color: #2c2520;
  padding: 1rem 0;
  border-top: 1px dashed #eaeaea;
  border-bottom: 1px dashed #eaeaea;
  margin-bottom: 1.5rem;
}

.bday-note-box {
  background: #fff8e1;
  padding: 1rem;
  border-radius: 6px;
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #8a6d3b;
}

.bday-steps-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bday-steps-list li {
  display: flex;
  gap: 15px;
  margin-bottom: 1.5rem;
}

.bday-steps-list li:last-child {
  margin-bottom: 0;
}

.bday-steps-list .step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid #d1a869;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 600;
  color: #d1a869;
  flex-shrink: 0;
}

.bday-steps-list h6 {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  font-weight: 700;
  color: #2c2520;
  margin-bottom: 0.25rem;
}

.bday-steps-list p {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #666;
  margin: 0;
}

.bday-submit-card {
  border-color: #fceceb;
  background: #fffcfb;
}

.bday-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bday-checklist li {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #2c2520;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.bday-btn-primary {
  background: #6c011d;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 0.8rem 1.5rem;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.3s;
}

.bday-btn-primary:hover {
  background: #520116;
}

.bday-btn-outline {
  background: transparent;
  color: #6c011d;
  border: 1px solid #6c011d;
  border-radius: 6px;
  padding: 0.8rem 1.5rem;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.3s;
}

.bday-btn-outline:hover {
  background: #6c011d;
  color: #fff;
}

.bday-lock-note {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  color: #666;
}

/* Responsive */
@media (max-width: 991px) {
  .bday-hero-title {
    font-size: 2.8rem;
  }

  .bday-step-block {
    padding: 1.5rem;
  }
}

@media (max-width: 767px) {
  .bday-hero-title {
    font-size: 2.2rem;
  }

  .bday-step-title {
    font-size: 1.5rem;
  }
}

/* Hide native indicators to prevent overlap with custom icons */
.bday-input-icon input[type="date"]::-webkit-calendar-picker-indicator,
.bday-input-icon input[type="time"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}

/* ========================================================
   PACKAGES LISTING PAGE (SCREEN 12)
   ======================================================== */

.pkg-hero-sec {
  position: relative;
  padding: 10rem 0 6rem 0;
  background-size: cover;
  background-position: center;
  color: #ffffff;
}

.pkg-hero-sec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100%);
  z-index: 1;
}

.pkg-hero-title {
  font-family: var(--vr-sans);
  font-size: 3.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.2;
  color: #fff;
}

.pkg-hero-desc {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.9);
  max-width: 600px;
  margin-bottom: 2rem;
}

.pkg-btn-solid {
  display: inline-block;
  background: #6c011d;
  color: #fff;
  padding: 0.8rem 2rem;
  border-radius: 4px;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s;
}

.pkg-btn-solid:hover {
  background: #520116;
  color: #fff;
}

.pkg-btn-outline {
  display: inline-block;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 0.8rem 2rem;
  border-radius: 4px;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s;
}

.pkg-btn-outline:hover {
  background: #fff;
  color: #000;
  border-color: #fff;
}

/* Filters */
.pkg-filter-sec {
  background: #fbf9f6;
  border-bottom: 1px solid #eaeaea;
}

.pkg-filters {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  white-space: nowrap;
  padding-bottom: 5px;
  /* for scrollbar */
}

.pkg-filters::-webkit-scrollbar {
  height: 4px;
}

.pkg-filters::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 4px;
}

.pkg-filters li a {
  display: block;
  padding: 0.6rem 1.5rem;
  border-radius: 20px;
  background: #fff;
  color: #333;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid #eaeaea;
  transition: all 0.3s;
}

.pkg-filters li.active a,
.pkg-filters li a:hover {
  background: #6c011d;
  color: #fff;
  border-color: #6c011d;
}

/* Grid */
.pkg-grid-sec {
  background: #fdfdfd;
}

.pkg-showing-text {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: #666;
  font-weight: 500;
}

.pkg-card {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  height: 450px !important;
  min-height: 450px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  background: #000;
  text-decoration: none;
}

.pkg-card-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.pkg-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.pkg-card:hover .pkg-card-img img {
  transform: scale(1.08);
}

.pkg-tag-popular {
  position: absolute;
  top: 15px;
  left: 15px;
  background: #6c011d;
  color: #fff;
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.4rem 1rem;
  border-radius: 4px;
  z-index: 10;
  letter-spacing: 0.5px;
}

.pkg-card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 25%, transparent 45%);
  z-index: 2;
  transition: all 0.5s ease;
}

.pkg-card:hover .pkg-card-overlay {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.85) 60%, rgba(0, 0, 0, 0.4) 100%);
}

.pkg-card-body {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 30px 25px;
  z-index: 3;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-align: center;
}

.pkg-card-header {
  transform: translateY(20px);
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.pkg-card:hover .pkg-card-header {
  transform: translateY(0);
}

.pkg-card-date {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #fff;
  margin-bottom: 8px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.pkg-card-title {
  font-family: var(--vr-sans);
  font-size: 1.2rem;
  color: #fff;
  margin-bottom: 0;
  font-weight: 300;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  line-height: 1.2;
  text-transform:uppercase;
}

.pkg-card-hover-details {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: translateY(20px);
}

.pkg-card:hover .pkg-card-hover-details {
  max-height: 400px;
  opacity: 1;
  transform: translateY(0);
  margin-top: 20px;
}

.pkg-card-desc {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: #eee;
  line-height: 1.5;
  margin-bottom: 15px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pkg-card-features {
  display: flex;
  justify-content: center;
  gap: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 15px;
  margin-bottom: 15px;
}

.pkg-card-features span {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  color: #ccc;
  display: flex;
  align-items: center;
  gap: 5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pkg-card-price {
  text-align: center;
  margin-bottom: 20px;
}

.pkg-card-price .price-from {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  color: #aaa;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.pkg-card-price strong {
  font-size: 1.5rem;
  color: #fff;
  font-weight: 600;
  margin: 0 6px;
}

.pkg-card-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.pkg-btn-shine {
  position: relative;
  overflow: hidden;
  display: inline-block;
  text-align: center;
  background-color: #6c011d;
  color: #fff !important;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 12px 20px;
  border-radius: 6px;
  border: none;
  transition: background-color 0.3s ease;
  text-decoration: none;
  font-size: 0.85rem;
}

.pkg-btn-shine::after {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 70%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-25deg);
  animation: shine-animation 2.5s infinite;
}

@keyframes shine-animation {
  0% {
    left: -150%;
  }

  25% {
    left: 200%;
  }

  100% {
    left: 200%;
  }
}

.pkg-btn-shine:hover {
  background-color: #4a0014;
  color: #fff !important;
}

.pkg-btn-solid-sm {
  flex: 1;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center;
  background: #6c011d;
  color: #fff;
  padding: 0.6rem;
  border-radius: 4px;
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
}

.pkg-btn-solid-sm:hover {
  background: #520116;
  color: #fff;
}

/* Help CTA */
.pkg-help-sec {
  background: #520116;
  padding: 3rem 0;
  color: #fff;
}

.pkg-help-logo img {
  width: 70px;
}

.pkg-help-title {
  font-family: var(--vr-sans);
  font-size: 1.5rem;
  margin-bottom: 0.3rem;
  color: var(--vr-border-color)
}

.pkg-help-desc {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}

.pkg-help-call {
  display: flex;
  flex-direction: column;
}

.pkg-help-call span {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 2px;
}

.pkg-help-call a {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 991px) {
  .pkg-hero-title {
    font-size: 2.8rem;
  }

  .pkg-help-inner {
    flex-direction: column;
    text-align: center;
  }

  .pkg-help-inner>div {
    flex-direction: column;
    align-items: center !important;
    text-align: center !important;
  }

  .pkg-help-call {
    text-align: center !important;
  }
}

@media (max-width: 767px) {
  .pkg-hero-title {
    font-size: 2.2rem;
  }

  .pkg-card-features {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }
}

/* ========================================================
   PACKAGE DETAIL PAGE (SCREEN 13)
   ======================================================== */

.pkgd-breadcrumbs {
  background: #fbf9f6;
  padding: 0.8rem 0;
  border-bottom: 1px solid #eaeaea;
  margin-top: 110px;
  /* Clear absolute header on desktop */
}

@media (max-width: 991px) {
  .pkgd-breadcrumbs {
    margin-top: 140px;
    /* Clear absolute header on mobile/tablets */
  }
}

.pkgd-breadcrumbs p {
  margin: 0;
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #666;
}

.pkgd-breadcrumbs a {
  color: #666;
  text-decoration: none;
  transition: color 0.3s;
}

.pkgd-breadcrumbs a:hover {
  color: #6c011d;
}

.pkgd-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 4rem 0 6rem 0;
  color: #fff;
}

.pkgd-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100%);
  z-index: 1;
}

.pkgd-tag-top {
  display: inline-block;
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 600;
  color: #d1a869;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}

.pkgd-title {
  font-family: var(--vr-sans);
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  color: var(--vr-border-color);

}

.pkgd-subtitle {
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.9);
  max-width: 500px;
  margin-bottom: 2.5rem;
}

.pkgd-hero-features span {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  line-height: 1.2;
}

.pkgd-highlights-card {
  background: #fdfdfd;
  color: #333;
  padding: 2.5rem;
  border-radius: 8px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
  margin-bottom: 2rem;
  /* pull down to overlap */
  position: relative;
  z-index: 10;
}

.pkgd-highlights-card h4 {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  color: #6c011d;
  letter-spacing: 1px;
  font-weight: 700;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 1rem;
}

.highlight-item {
  display: flex;
  gap: 15px;
  margin-bottom: 1.5rem;
  align-items: flex-start;
}

.highlight-item:last-child {
  margin-bottom: 0;
}

.highlight-item .icon {
  font-size: 1.5rem;
  color: #6c011d;
  flex-shrink: 0;
  margin-top: 2px;
}

.highlight-item .text h6 {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: #2c2520;
  margin-bottom: 3px;
}

.highlight-item .text p {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #666;
  margin: 0;
}

.pkgd-main-sec {
  background: #fbf9f6;
}

.pkgd-section-title {
  font-family: var(--vr-sans);
  font-size: 1.5rem;
  color: #6c011d;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
}

.pkgd-section-subtitle {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: #666;
}

/* Pricing Cards */
.pkgd-price-card {
  background: #fdfcf9;
  border: 1px solid rgba(209, 168, 105, 0.4);
  border-radius: 12px;
  padding: 2.5rem 1.5rem;
  text-align: center;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.4s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.pkgd-price-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(108, 1, 29, 0.08);
  border-color: var(--vr-gold);
}

.pkgd-price-card.popular {
  border: 2px solid var(--vr-maroon);
  transform: scale(1.02);
  z-index: 2;
  box-shadow: 0 15px 35px rgba(108, 1, 29, 0.1);
  padding-top: 3rem;
  background: #fff;
}

.pkgd-price-card.popular:hover {
  transform: scale(1.02) translateY(-5px);
  box-shadow: 0 20px 40px rgba(108, 1, 29, 0.15);
}

.pkgd-moon-icon i {
  font-size: 2.5rem;
  color: var(--vr-maroon);
  margin-bottom: 0.5rem;
}

.pkgd-price-card h4 {
  font-family: var(--vr-sans);
  font-size: 1.25rem;
  color: var(--vr-maroon);
  font-weight: 700;
}

.pkgd-price-card .desc {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 1.5rem;
}

.pkgd-check-list {
  list-style: none;
  padding: 0;
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #444;
  flex-grow: 1;
}

.pkgd-check-list li {
  margin-bottom: 0.8rem;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.4;
}

/* Included Grid */
.pkgd-included-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  width: 100%;
}

@media (min-width: 768px) {
  .pkgd-included-grid {
    gap: 30px;
  }
}

.included-item {
  flex: 1 1 160px;
  max-width: 220px;
  min-width: fit-content;
  text-align: center;
  margin-bottom: 1rem;
  padding: 10px;
}

.included-item i {
  font-size: 1.8rem;
  color: #6c011d;
  background: rgba(108, 1, 29, 0.05);
  width: 70px;
  height: 70px;
  line-height: 70px;
  border-radius: 50%;
  margin-bottom: 15px;
  transition: all 0.4s ease;
  display: inline-block;
}

.included-item:hover i {
  background: #6c011d;
  color: #fff;
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(108, 1, 29, 0.2);
}

.included-item span {
  display: block;
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 600;
  color: #333;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

/* Accordion */
.pkgd-accordion.accordion .accordion-item {
  border: none;
  border-bottom: 1px solid #ebdcd0;
  margin-bottom: 0;
  background-color: transparent;
}

.pkgd-accordion.accordion .accordion-item:last-child {
  border-bottom: none;
}

.pkgd-accordion.accordion .accordion-button {
  background-color: transparent !important;
  background: transparent !important;
  color: #2c2520 !important;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 700;
  padding: 1.2rem 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  display: flex;
  align-items: center;
}

.pkgd-accordion.accordion .accordion-button i {
  color: #6c011d !important;
  margin-right: 12px;
  width: 20px;
  text-align: center;
  font-size: 1.1rem;
}

.pkgd-accordion.accordion .accordion-button:not(.collapsed) {
  color: #6c011d !important;
  background-color: transparent !important;
  background: transparent !important;
}

/* Custom plus/minus indicator on the right instead of default chevron */
.pkgd-accordion.accordion .accordion-button::after {
  content: "+" !important;
  background-image: none !important;
  font-family: var(--vr-sans);
  font-size: 1.25rem;
  font-weight: 300;
  color: #6c011d !important;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: none !important;
  margin-left: auto;
  transition: all 0.2s ease;
}

.pkgd-accordion.accordion .accordion-button:not(.collapsed)::after {
  content: "\2212" !important;
  /* Unicode minus sign */
  font-size: 1.25rem;
  font-weight: 300;
}

.pkgd-accordion.accordion .accordion-body {
  padding: 0 0 1.5rem 2rem !important;
  /* Indent body text to align with the heading text */
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: #666;
  line-height: 1.6;
}

/* Form Inputs & Sidebar */
.pkgd-sidebar {
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

.pkgd-sidebar::-webkit-scrollbar {
  width: 4px;
}

.pkgd-sidebar::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 4px;
}

.pkgd-input {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  padding: 0.8rem 1rem;
  border-color: #eaeaea;
}

.pkgd-input:focus {
  border-color: #6c011d;
  box-shadow: 0 0 0 0.2rem rgba(108, 1, 29, 0.25);
}

@media (max-width: 991px) {
  .pkgd-title {
    font-size: 3rem;
  }

  .pkgd-highlights-card {
    margin-top: 3rem;
    margin-bottom: 0;
  }

  .pkgd-price-card.popular {
    transform: none;
  }
}

@media (max-width: 767px) {
  .pkgd-title {
    font-size: 2.5rem;
  }

  .pkgd-hero-features {
    justify-content: center;
  }

  .pkgd-hero {
    text-align: center;
  }

  .pkgd-hero-features .d-flex {
    flex-direction: column;
    text-align: center;
  }
}

/* ========================================================
   ACTIVITIES & RECREATION PAGE (SCREEN 14)
   ======================================================== */

.act-hero-sec {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 10rem 0 8rem 0;
  color: #fff;
}

.act-hero-sec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%);
  z-index: 1;
}

.act-hero-title {
  font-family: var(--vr-sans);
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  color: var(--vr-border-color);
}

.act-hero-desc {
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.9);
  max-width: 600px;
  margin-bottom: 2rem;
}

.act-main-sec {
  background: #fff;
}

.act-section-title {
  font-family: var(--vr-sans);
  font-size: 2rem;
  color: #6c011d;
  letter-spacing: 1px;
  font-weight: 400;
  text-transform: uppercase;
}

/*.act-section-title::after {*/
/*  content: "— ◈ —";*/
/*  display: block;*/
/*  font-size: 0.8rem;*/
/*  color: #6c011d;*/
/*  margin-top: 5px;*/
/*}*/

.act-section-subtitle {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  color: #666;
  margin-top: 10px;
}

.act-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s;
}

.act-card:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.act-card-img {
  position: relative;
  height: 180px;
  margin-bottom: 30px;
  /* space for overlapping icon */
}

.act-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.act-card-icon {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  background: #4a8bc2;
  /* Default blue, overridden inline */
  border-radius: 50%;
  border: 3px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.2rem;
  z-index: 2;
}

.act-card-body {
  padding: 0 1.5rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-align: center;
}

.act-card-title {
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  color: var(--vr-maroon) !important;
  font-weight: 700;
  margin-bottom: 1rem;
  letter-spacing: 0.5px;
}

.act-card-icon {
  background: var(--vr-gold) !important;
  /* Standardize icon background */
}

.act-check-list {
  list-style: none;
  padding: 0;
  margin-bottom: 1.5rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  text-align: left;
}

.act-check-list li {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 0;
  display: inline-flex;
  align-items: flex-start;
  text-align: left;
}

.act-check-list li i {
  display: inline-block !important;
  color: var(--vr-maroon);
  margin-top: 3px;
  margin-right: 8px;
}

.act-check-list li:not(:last-child)::after {
  content: none;
}

.act-link {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  color: #fff !important;
  background-color: var(--vr-maroon);
  padding: 12px 24px;
  border-radius: 4px;
  text-transform: uppercase;
  display: block;
  width: 100%;
  text-align: center;
  transition: all 0.3s ease;
  margin-top: auto;
}

.act-link i {
  color: #fff !important;
}

.act-link:hover {
  background-color: #5a0118;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(108, 1, 29, 0.2);
}

/* Featured Experiences */
.act-featured-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.act-featured-card img {
  width: 100%;
  height: 140px;
  object-fit: cover;
}

.act-featured-card .body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.act-featured-card h4 {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  color: #6c011d;
  margin-bottom: 0.5rem;
}

.act-featured-card p {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 1rem;
  flex-grow: 1;
}

.act-featured-card a {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 700;
  color: #333;
  text-decoration: none;
}

.act-featured-card a:hover {
  color: #6c011d;
}

/* Info Bars */
.act-info-block {
  text-align: center;
  padding: 1rem;
}

.act-info-block h5 {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: #2c2520;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.act-info-block p {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #666;
  margin: 0;
}

/* Downloadable Guides */
.act-guide-box {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  background: #fff;
  border: 1px solid #eaeaea;
  padding: 1.5rem;
  border-radius: 8px;
  height: 100%;
  transition: box-shadow 0.3s;
}

.act-guide-box:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.act-guide-box h5 {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  color: #6c011d;
  font-weight: 700;
  margin-bottom: 0.3rem;
}

.act-guide-box p {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #666;
  margin-bottom: 0.8rem;
}

.act-guide-box a {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 700;
  color: #333;
  text-decoration: none;
}

.act-guide-box a:hover {
  color: #6c011d;
}

@media (max-width: 991px) {
  .act-hero-title {
    font-size: 3rem;
  }
}

@media (max-width: 767px) {
  .act-hero-title {
    font-size: 2.5rem;
  }

  .act-hero-sec {
    text-align: center;
  }

  .act-hero-sec .d-flex {
    justify-content: center;
  }
}

/* ========================================================
   DINING PACKAGES PAGE (SCREEN 7)
   ======================================================== */

.dp-sec-title {
  font-family: var(--vr-sans);
  font-size: 1.25rem;
  color: #6c011d;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #eaeaea;
}

/* Package Selection Grid */
.dp-select-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 1.2rem 0.5rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.dp-select-card:hover {
  border-color: #d1a869;
  box-shadow: 0 5px 15px rgba(209, 168, 105, 0.15);
}

.dp-select-card.active {
  border-color: #6c011d;
  border-width: 1px;
  background: #fffdfd;
}

.dp-select-icon {
  width: 45px;
  height: 45px;
  background: #6c011d;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

.dp-select-name {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 600;
  color: #2c2520;
  margin-bottom: 0.5rem;
  line-height: 1.3;
}

.dp-select-price {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: #000;
  margin-top: auto;
}

.dp-select-price span {
  font-size: 0.75rem;
  color: #666;
  font-weight: 400;
}

.dp-check-badge {
  position: absolute;
  top: -12px;
  right: -12px;
  background: #6c011d;
  color: #fff;
  width: 26px;
  height: 26px;
  border: 3px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  opacity: 0;
  transform: scale(0);
  transition: all 0.3s;
}

.dp-select-card.active .dp-check-badge {
  opacity: 1;
  transform: scale(1);
}

/* Customizer buttons */
.dp-qty-btn {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s;
}

.dp-qty-btn:active {
  transform: scale(0.9);
}

/* Cart Table */
.dp-cart-table th {
  border-bottom: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.dp-cart-table td {
  border-color: #eaeaea;
}

/* Order Sidebar */
#side-cart-items::-webkit-scrollbar {
  width: 4px;
}

#side-cart-items::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 4px;
}

/* Hero, Header Spacing, Ornaments, Breadcrumbs & Features Bar styles for Dining Packages */
.dp-hero-sec {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 11rem 0 5rem 0;
  color: #fff;
  overflow: hidden;
}

.dp-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.65) 50%, rgba(0, 0, 0, 0.1) 100%);
  z-index: 1;
}

.dp-logo-wrapper {
  flex-shrink: 0;
}

.dp-hero-stand {
  background: #111111;
  border: 2px solid #d1a869;
  padding: 2.5rem 2rem;
  width: 290px;
  transform: perspective(800px) rotateY(-15deg);
  box-shadow: 25px 25px 50px rgba(0, 0, 0, 0.9);
  border-radius: 6px;
  position: relative;
  overflow: hidden;
  transition: transform 0.5s ease;
}

.dp-hero-stand::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  right: 6px;
  bottom: 6px;
  border: 1px solid rgba(209, 168, 105, 0.4);
  pointer-events: none;
}

.dp-hero-stand:hover {
  transform: perspective(800px) rotateY(-5deg) translateY(-5px);
}

.dp-breadcrumbs {
  margin-bottom: 2rem;
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  letter-spacing: 0.5px;
}

.dp-breadcrumbs a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}

.dp-breadcrumbs a:hover {
  color: #d1a869;
}

.dp-breadcrumbs span {
  color: #ffffff;
}

.dp-features-bar {
  background: #3a0110;
  color: #ffffff;
  padding: 1.2rem 0;
  border-bottom: 2px solid #d1a869;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.dp-feature-col {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1.5rem;
}

.dp-feature-icon {
  border: 1px solid #d1a869;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d1a869;
  font-size: 1.1rem;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.dp-feature-col:hover .dp-feature-icon {
  background: #d1a869;
  color: #3a0110;
  transform: scale(1.05);
}

@media (min-width: 768px) {
  .dp-feature-col:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.15);
  }
}

@media (max-width: 991px) {
  .dp-hero-sec {
    padding: 9rem 0 4rem 0;
  }

  .dp-hero-overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.8) 100%);
  }

  .dp-hero-stand {
    transform: none !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    margin: 2rem auto 0 auto;
  }
}

/* ========================================================
   CONTACT US PAGE (SCREEN 8)
   ======================================================== */

.cu-hero {
  background-image: url('../images/contact-us.jpg');
  background-size: cover;
  background-position: center;
  position: relative;
  padding: 6rem 0 4rem 0;
}

.cu-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.2) 100%);
  z-index: 1;
}

.cu-hero .container-fluid {
  position: relative;
  z-index: 2;
}

.cu-hero-left h1 {
  font-family: var(--vr-sans);
  font-size: 3.5rem;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
}

.cu-hero-tagline {
  color: #d1a869;
  font-size: 1.2rem;
  margin-bottom: 1rem;
  font-weight: 500;
}

.cu-hero-desc {
  color: #fff;
  font-size: 1rem;
  line-height: 1.6;
  max-width: 500px;
}

.cu-hero-pills {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}

.cu-pill {
  display: flex;
  flex-direction: column;
  align-items: flex-center;
  color: #fff;
}

.cu-pill-icon {
  width: 45px;
  height: 45px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #d1a869;
  margin-bottom: 0.5rem;
}

.cu-pill h6 {
  font-size: 0.85rem;
  font-weight: 700;
  margin: 0 0 0.25rem 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.cu-pill p {
  font-size: 0.75rem;
  color: #ccc;
  margin: 0;
  line-height: 1.4;
}

/* Get In Touch Card */
.cu-contact-card {
  background: #1a1511;
  color: #fff;
  padding: 1.75rem;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  max-width: 380px;
  width: 100%;
  position: relative;
  margin-bottom: 0px;
  z-index: 10;
}

.cu-contact-card h5 {
  color: #d1a869;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 1rem;
}

.cu-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}

.cu-contact-icon {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #332921;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d1a869;
  font-size: 0.9rem;
  flex-shrink: 0;
}

.cu-contact-item-text small {
  font-size: 0.65rem;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: block;
  margin-bottom: 0.2rem;
}

.cu-contact-item-text span {
  font-size: 0.9rem;
  font-weight: 600;
  color: #fff;
}

/* Body */
.cu-body {
  background: #fdfaf6;
  padding: 6rem 0 4rem 0;
}

.cu-sec-title {
  font-family: var(--vr-sans);
  font-size: 1.25rem;
  color: #6c011d;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  /*border-bottom: 1px solid rgba(108, 1, 29, 0.2);*/
}

/* Map */
.cu-map-card {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  background: #fff;
}

.cu-map-iframe {
  width: 100%;
  height: 350px;
  border: none;
  display: block;
}

.cu-map-actions {
  display: flex;
  padding: 1rem;
  gap: 1rem;
  background: #fff;
  flex-wrap: wrap;
}

.cu-map-btn {
  padding: 0.6rem 1.2rem;
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 4px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.3s;
}

.cu-map-btn-primary {
  background: #6c011d;
  color: #fff;
  border: 1px solid #6c011d;
}

.cu-map-btn-outline {
  background: transparent;
  color: #6c011d;
  border: 1px solid #6c011d;
}

/* Directions Grid */
.cu-directions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.cu-direction-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
  height: 100%;
}

.cu-direction-card h6 {
  color: #6c011d;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.cu-direction-card p {
  font-size: 0.85rem;
  color: #555;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.cu-approx {
  font-weight: 600;
  color: #d1a869;
  font-size: 0.8rem;
  margin: 0;
}

/* Info Row */
.cu-info-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.cu-info-item {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 1.5rem 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.cu-info-icon {
  width: 45px;
  height: 45px;
  background: #fdf6ec;
  color: #d1a869;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

.cu-info-item h6 {
  font-size: 0.85rem;
  font-weight: 700;
  color: #111;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  letter-spacing: 0.5px;
}

.cu-info-item p {
  font-size: 0.75rem;
  color: #666;
  margin: 0;
  line-height: 1.4;
}

/* FAQ List */
.cu-faq-item {
  border-bottom: 1px solid #eaeaea;
  margin-bottom: 0.5rem;
}

.cu-faq-btn {
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  padding: 1rem 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: #222;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cu-faq-body {
  font-size: 0.85rem;
  color: #555;
  line-height: 1.5;
  padding-bottom: 1rem;
  display: none;
}

.cu-faq-item.open .cu-faq-body {
  display: block;
}

.cu-view-all-btn {
  background: #6c011d;
  color: #fff;
  border: none;
  padding: 0.6rem 1.2rem;
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 4px;
  margin-top: 1.5rem;
}

/* Contact Form */
.cu-form-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.cu-form-card h4 {
  font-family: var(--vr-sans);
  color: #111;
  font-weight: 700;
  font-size: 1.3rem;
  margin-bottom: 0.2rem;
}

.cu-form-sub {
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 1.5rem;
}

.vr-form-group {
  margin-bottom: 1rem;
}

.vr-input {
  width: 100%;
  border: 1px solid #ddd;
  padding: 0.75rem 1rem;
  border-radius: 4px;
  font-size: 0.9rem;
  font-family: var(--vr-sans);
}

.cu-send-btn {
  width: 100%;
  background: #6c011d;
  color: #fff;
  border: none;
  padding: 0.8rem;
  font-weight: 700;
  border-radius: 4px;
  font-size: 0.9rem;
  transition: all 0.3s;
}

/* Gallery */
.cu-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}

.cu-gallery-item img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 6px;
  transition: transform 0.3s;
}

/* Sidebar Elements */
.cu-shuttle-card {
  background: #fdfaf6;
  border: 1px solid #f5ede4;
  border-radius: 8px;
  padding: 2rem;
  margin-bottom: 2rem;
}

.cu-shuttle-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  text-align: center;
}

.cu-shuttle-logo-icon {
  width: 65px;
  height: 65px;
}

.cu-shuttle-logo-text {
  font-family: var(--vr-sans);
  font-weight: 700;
  color: #1a2b3c;
  line-height: 1.1;
  font-size: 1.1rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.cu-shuttle-logo-subtext {
  font-size: 0.7rem;
  text-transform: uppercase;
  color: #1a2b3c;
  letter-spacing: 1px;
}

.cu-shuttle-book-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: #460912;
  color: #fff;
  border: none;
  padding: 0.9rem;
  font-weight: 600;
  border-radius: 4px;
  text-decoration: none;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
  letter-spacing: 0.5px;
}

.cu-shuttle-book-btn:hover {
  background: #6c011d;
  color: #fff;
}

.cu-shuttle-perks {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  padding-top: 1.5rem;
}

.cu-shuttle-perks li {
  font-size: 0.85rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 0.8rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.cu-shuttle-perks li i {
  color: #906653;
  font-size: 1rem;
}

.cu-team-card {
  background: #fdfaf6;
  border: 1px solid #f5ede4;
  border-radius: 8px;
  padding: 2rem;
}

.cu-team-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #eaeaea;
}

.cu-team-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.cu-team-icon {
  width: 40px;
  height: 40px;
  background: #fdf6ec;
  color: #6c011d;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

.cu-team-info h6 {
  font-size: 0.9rem;
  font-weight: 700;
  color: #111;
  margin-bottom: 0.2rem;
}

.cu-team-info p {
  font-size: 0.8rem;
  color: #666;
  margin: 0;
  line-height: 1.4;
}

/* Gift Banner */
.cu-gift-banner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: #fdfaf6;
  color: #111;
  padding: 2.5rem 2rem;
  border-radius: 8px;
  margin-top: 3rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.cu-gift-banner-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex: 1;
  padding: 0 1.5rem;
  border-right: 1px solid rgba(108, 1, 29, 0.1);
}

.cu-gift-banner-item:last-child {
  border-right: none;
}

.cu-gift-icon {
  font-size: 2.2rem;
  color: #6c011d;
}

.cu-gift-banner-item h6 {
  font-size: 0.85rem;
  font-weight: 800;
  margin: 0 0 0.4rem 0;
  color: #111;
  text-transform: uppercase;
}

.cu-gift-banner-item p {
  font-size: 0.75rem;
  color: #555;
  margin: 0;
  line-height: 1.4;
}

@media (max-width: 991px) {
  .cu-contact-card {
    margin-bottom: 0;
    margin-top: 2rem;
  }

  .cu-body {
    padding-top: 3rem;
  }

  .cu-info-row,
  .cu-directions-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {

  .cu-info-row,
  .cu-directions-grid {
    grid-template-columns: 1fr;
  }

  .cu-gift-banner-item {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}

/* =========================================================================
   WELLNESS BOOKING PAGE
   ========================================================================= */

.vr-wellness-booking-page {
  background-color: #fcfcfc;
}

.vr-hero {
  background-size: cover;
  background-position: center;
  padding: 214px 0 80px;
  position: relative;
  text-align: center;
  color: #fff;
  margin-top: -100px;
}

.vr-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 0;
}

.vr-hero-content {
  position: relative;
  z-index: 2;
}

.vr-hero h1 {
  font-family: var(--vr-sans);
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.vr-hero p {
  font-size: 1.2rem;
  margin-bottom: 2rem;
}

.vr-hero-btn {
  background: #6c011d;
  color: #fff;
  padding: 12px 30px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
}

.vr-scheduler-sec {
  padding: 40px 0 80px;
}



.vr-view-week-btn {
  padding: 8px 15px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #f5e4e8;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: #111;
  font-size: 0.85rem;
  font-weight: 700;
  transition: 0.3s;
}

.vr-view-week-btn:hover {
  background: #fdf1f3;
  border-color: #fdf1f3;
  color: #6c011d;
}

.vr-filter-card {
  background: #fff;
  padding: 25px;
  border-radius: 8px;
  border: 1px solid #eaeaea;
}

.vr-clear-btn {
  background: none;
  border: none;
  color: #6c011d;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

.vr-filter-group {
  margin-bottom: 25px;
}

.vr-filter-label {
  display: block;
  font-size: 0.85rem;
  font-weight: 700;
  color: #444;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.vr-select {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 0.95rem;
  color: #333;
  outline: none;
  appearance: none;
  background: #fff;
}

.vr-time-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.vr-time-option-btn {
  padding: 10px 15px;
  background: #f9f9f9;
  border: 1px solid #eaeaea;
  border-radius: 6px;
  text-align: left;
  font-size: 0.9rem;
  font-weight: 600;
  color: #555;
  cursor: pointer;
  transition: 0.3s;
}

.vr-time-option-btn:hover {
  background: #f0f0f0;
}

.vr-time-option-btn.active {
  background: #fdf6ec;
  border-color: #d1a869;
  color: #d1a869;
}

.vr-session-card {
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid #eaeaea;
  padding: 15px;
  border-radius: 3px;
  margin-bottom: 15px;
  cursor: pointer;
  transition: all 0.3s;
}

.vr-session-card:hover {
  border-color: #d1a869;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.vr-session-card.active {
  border-color: #a85869;
  background: #fdfafb;
  box-shadow: 0 4px 15px rgba(108, 1, 29, 0.05);
}

.vr-session-avatar-container {
  position: relative;
  margin-right: 20px;
}

.vr-session-avatar {
  width: 110px;
  height: 110px;
  border-radius: 20px;
  object-fit: cover;
}

.status-dot {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 22px;
  height: 22px;
  background: #2ca25f;
  border: 4px solid #fff;
  border-radius: 50%;
}

.vr-session-info-main {
  flex: 1;
}

.vr-session-time-text {
  font-size: 0.75rem;
  color: #6c011d;
  font-weight: 800;
  margin-bottom: 3px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.vr-session-title {
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  font-weight: 800;
  color: #111;
  margin-bottom: 2px;
}

.vr-session-instructor {
  font-size: 0.8rem;
  color: #666;
  margin-bottom: 8px;
}

.vr-session-price-tag {
  font-size: 0.75rem;
  font-weight: 700;
  color: #6c011d;
  background: #fdf1f3;
  padding: 4px 10px;
  border-radius: 6px;
  display: inline-block;
}

.vr-session-action {
  font-size: 1.5rem;
  color: #ddd;
}

.vr-session-card.active .vr-session-action {
  color: #6c011d;
}

.vr-detail-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  overflow: hidden;
  position: sticky;
  top: 120px;
}

.vr-detail-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.vr-detail-body {
  padding: 25px;
}

.vr-detail-category {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 700;
  color: #d1a869;
  margin-bottom: 8px;
  letter-spacing: 1px;
}

.vr-detail-title {
  font-family: var(--vr-sans);
  font-size: 1.6rem;
  font-weight: 700;
  color: #111;
  margin-bottom: 15px;
}

.vr-detail-meta {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
  font-size: 0.85rem;
  color: #555;
}

.vr-detail-meta i {
  color: #6c011d;
}

.vr-detail-desc {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #666;
  margin-bottom: 25px;
}

.vr-detail-instructor-box {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px;
  background: #fdfaf6;
  border-radius: 8px;
  margin-bottom: 25px;
}

.vr-detail-instructor-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
}

.vr-detail-instructor-name {
  font-size: 1rem;
  font-weight: 700;
  color: #111;
  margin-bottom: 2px;
}

.vr-detail-instructor-role {
  font-size: 0.8rem;
  color: #666;
}

.vr-detail-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #eaeaea;
  padding-top: 20px;
}

.vr-detail-price {
  font-size: 1.4rem;
  font-weight: 700;
  color: #111;
}

.vr-detail-book-btn {
  background: #6c011d;
  color: #fff;
  padding: 12px 25px;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: 0.3s;
}

.vr-detail-book-btn:hover {
  background: #460912;
}

/* ==========================================================================
   UNIFIED HERO SECTION HEIGHTS (80vh Constant Across Pages)
   ========================================================================== */

.vr-hero,
.vr-hero-event,
.op-hero,
.dn-hero,
.dp-hero-sec,
.cu-hero,
.amenities-hero-sec,
.bday-hero-sec,
.pkg-hero-sec,
.pkgd-hero,
.act-hero-sec,
.alba-hero-sec {
  position: relative;
  height: 80vh !important;
  min-height: 580px !important;
  display: flex !important;
  align-items: flex-start !important;
  /* Top-align content for constant H1 vertical coordinates */
  padding-top: 170px !important;
  /* Clearance for the 110px absolute header + padding */
  padding-bottom: 40px !important;
}

/* Clear duplicate padding or wrappers on individual pages to align them to 170px start */
.cu-hero .cu-hero-inner,
.cu-hero-left,
.pkgd-hero .col-lg-7 {
  padding-top: 0 !important;
}

/* Standardize top margins of H1 hero headings across all 14 pages */
.vr-hero h1,
.vr-hero-event h1,
.op-hero h1,
.dn-hero h1,
.dp-hero-sec h1,
.cu-hero h1,
.amenities-hero-sec h1,
.bday-hero-sec h1,
.pkg-hero-sec h1,
.pkgd-hero h1,
.act-hero-sec h1,
.alba-hero-sec h1 {
  margin-top: 20px !important;
}

/* Standardize labels and badges that appear directly above the H1 titles */
.vr-hero-label,
.vr-hero-subtitle-gold,
.op-hero-label,
.pkgd-tag-top {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

/* Standardize Cafe Logo Circle Wrapper on Alba Menu pages */
.alba-logo-wrapper {
  margin-top: 50px !important;
  margin-bottom: 15px !important;
}

/* Responsive adjustment for Mobile and Tablets */
@media (max-width: 991px) {

  .vr-hero,
  .vr-hero-event,
  .op-hero,
  .dn-hero,
  .dp-hero-sec,
  .cu-hero,
  .amenities-hero-sec,
  .bday-hero-sec,
  .pkg-hero-sec,
  .pkgd-hero,
  .act-hero-sec,
  .alba-hero-sec {
    height: auto !important;
    min-height: 100vh !important;
    padding-top: 140px !important;
    /* Provide safe clearance for the absolute header */
    padding-bottom: 60px !important;
    display: flex !important;
  }
}

/* ==========================================================================
   TIMESHARE PAGE REDESIGN STYLES
   ========================================================================== */

/* Hero Section */
.vr-hero.ts-hero::before {
  background: linear-gradient(180deg, rgba(30, 20, 15, 0.55) 0%, rgba(20, 10, 5, 0.85) 100%);
}

/* Feature Cards */
.ts-feature-card {
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
  height: 100%;
}

.ts-feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  border-color: var(--vr-gold, #d1a869);
}

.ts-feature-icon {
  font-size: 2.2rem;
  color: #6c011d;
  /* Maroon brand color */
  transition: transform 0.3s ease;
}

.ts-feature-card:hover .ts-feature-icon {
  transform: scale(1.1);
  color: var(--vr-gold, #d1a869);
}

.ts-feature-card h4 {
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  color: #2c2520;
}

.ts-feature-card p {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  line-height: 1.5;
  color: #666666;
  margin: 0;
}

/* Tabs & Navigation */
.ts-nav-pills {
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 5px;
}

.ts-nav-pills .nav-link {
  background: #ffffff;
  color: #555555;
  border: 1px solid #e0e0e0;
  border-radius: 30px;
  padding: 8px 20px;
  transition: all 0.3s ease;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  white-space: text-nowrap;
}

.ts-nav-pills .nav-link.active,
.ts-nav-pills .nav-link:hover {
  background: #6c011d !important;
  color: #ffffff !important;
  border-color: #6c011d !important;
}

.ts-nav-pills .nav-link.top-trending.active,
.ts-nav-pills .nav-link.top-trending:hover {
  background: #ebdcd0 !important;
  color: #6c011d !important;
  border-color: var(--vr-gold, #d1a869) !important;
}

/* Search and Filters Redesign & Sticky Controls Header */
#calendar-section {
  overflow: visible !important;
  /* Enable sticky positioning for child elements by overriding global overflow: hidden */
}

.ts-calendar-sticky-header-wrapper {
  position: sticky;
  top: 72px;
  /* Aligns just below sticky main navigation header */
  z-index: 990;
  /* Render below header dropdowns but above calendar cards */
  background-color: #f8f6f5;
  /* Matches section bg-light-1 to hide scrolled cards */
  padding-top: 15px;
  padding-bottom: 15px;
  margin-top: -10px;
  margin-bottom: 25px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  /* Subtle boundary divider */
  transition: all 0.3s ease;
}

@media (max-width: 991px) {
  .ts-calendar-sticky-header-wrapper {
    top: 60px;
    /* Offset adjustment for mobile header */
    padding-top: 10px;
    padding-bottom: 10px;
  }

  /* Make Tab Pills swipeable on mobile instead of wrapping vertically */
  .ts-nav-pills {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    justify-content: flex-start !important;
    padding-bottom: 5px;
    scrollbar-width: none;
    /* Hide scrollbar */
  }

  .ts-nav-pills::-webkit-scrollbar {
    display: none;
  }

  .ts-nav-pills .nav-item {
    flex: 0 0 auto;
  }
}

.ts-search-filter-row {
  background: #ffffff;
  padding: 16px 24px;
  border-radius: 50px;
  /* Pill shape layout */
  border: 1px solid #e5e2e0;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.ts-search-input-wrapper {
  position: relative;
}

.ts-search-input-wrapper i {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: #6c011d;
  /* Maroon theme color */
  font-size: 1rem;
  z-index: 10;
  transition: color 0.3s ease;
}

.ts-search-input-wrapper input {
  padding-left: 48px !important;
  /* Fixed overlap */
  padding-right: 20px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  border-radius: 30px !important;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  border: 1px solid #dcdadb !important;
  height: 48px !important;
  background-color: #fcfbfa !important;
  transition: all 0.3s ease;
  box-shadow: none !important;
  color: #333333;
}

.ts-search-input-wrapper input:focus {
  background-color: #ffffff !important;
  border-color: #6c011d !important;
  box-shadow: 0 0 0 4px rgba(108, 1, 29, 0.1) !important;
  outline: none !important;
}

.ts-search-input-wrapper input:focus+i {
  color: #d1a869;
  /* Gold accent on focus */
}

.ts-search-input-wrapper input::placeholder {
  color: #9c9a98 !important;
  font-size: 0.9rem;
  opacity: 1;
}

.ts-filter-select {
  border-radius: 30px !important;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  border: 1px solid #dcdadb !important;
  cursor: pointer;
  height: 48px !important;
  padding-left: 20px !important;
  padding-right: 40px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  background-color: #fcfbfa !important;
  transition: all 0.3s ease;
  box-shadow: none !important;
  color: #333333;
}

.ts-filter-select:focus {
  background-color: #ffffff !important;
  border-color: #6c011d !important;
  box-shadow: 0 0 0 4px rgba(108, 1, 29, 0.1) !important;
  outline: none !important;
}

.ts-results-counter {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  color: #6c011d;
  font-weight: 600;
  display: inline-block;
  padding: 8px 16px;
  background: rgba(108, 1, 29, 0.05);
  border-radius: 20px;
}

/* Override default container backgrounds to match the theme */
.box.available,
.box.closed,
.box.special {
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Seasonal Sections & Carousels */
.ts-season-section {
  position: relative;
}

.ts-season-heading {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
}

.ts-season-heading.season-spring-text {
  color: #b48a47;
}

/* Gold */
.ts-season-heading.season-summer-text {
  color: #6c011d;
}

/* Maroon */
.ts-season-heading.season-autumn-text {
  color: #a67c43;
}

/* Bronze */
.ts-season-heading.season-winter-text {
  color: #4e443c;
}

/* Charcoal */

.ts-season-count {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 500;
  color: #777777;
  text-transform: lowercase;
}

.ts-season-carousel {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding: 10px 4px 20px 4px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

/* Custom Scrollbars */
.ts-season-carousel::-webkit-scrollbar {
  height: 6px;
}

.ts-season-carousel::-webkit-scrollbar-thumb {
  background-color: rgba(209, 168, 105, 0.3);
  border-radius: 10px;
  transition: background-color 0.2s;
}

.ts-season-carousel:hover::-webkit-scrollbar-thumb {
  background-color: rgba(209, 168, 105, 0.6);
}

.ts-season-carousel::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.03);
  border-radius: 10px;
}

/* Redesigned Compact Week Cards - Luxury & Rectangular */
.ts-week-card {
  width: 240px;
  height: 180px;
  flex: 0 0 auto;
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-top: 4px solid #cccccc;
  border-radius: 14px;
  padding: 16px;
  text-align: left;
  /* Left align is more premium */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  position: relative;
  overflow: hidden;
}

.ts-week-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 25px rgba(30, 20, 10, 0.06);
  border-color: rgba(209, 168, 105, 0.4);
}

.ts-week-card.season-spring {
  border-top-color: #d1a869;
}

/* Gold */
.ts-week-card.season-summer {
  border-top-color: #6c011d;
}

/* Maroon */
.ts-week-card.season-autumn {
  border-top-color: #a67c43;
}

/* Bronze */
.ts-week-card.season-winter {
  border-top-color: #4e443c;
}

/* Charcoal */

/* Active Week Spotlight */
.ts-week-card.active {
  border: 1.5px solid #d1a869;
  border-top: 5px solid #6c011d;
  background: #fffcf8;
  box-shadow: 0 8px 24px rgba(108, 1, 29, 0.06);
}

/* Season Badges (Top Left) */
.ts-week-card .ts-season-badge {
  font-family: var(--vr-sans);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 3px 10px;
  border-radius: 30px;
  display: inline-block;
}

.ts-week-card.season-spring .ts-season-badge {
  background: #fdf8f0;
  color: #b48a47;
}

/* Gold */
.ts-week-card.season-summer .ts-season-badge {
  background: #f9edf0;
  color: #6c011d;
}

/* Maroon */
.ts-week-card.season-autumn .ts-season-badge {
  background: #fcf6ed;
  color: #a67c43;
}

/* Bronze */
.ts-week-card.season-winter .ts-season-badge {
  background: #f5f3f2;
  color: #4e443c;
}

/* Charcoal */

/* Status Indicators (Top Right) */
.ts-week-card .ts-status-indicator {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--vr-sans);
  font-size: 0.65rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 30px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ts-week-card .ts-status-indicator::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
}

.ts-week-card .ts-status-indicator.available {
  background: #e8f5e9;
  color: #2e7d32;
}

.ts-week-card .ts-status-indicator.available::before {
  background-color: #2e7d32;
  box-shadow: 0 0 6px #2e7d32;
}

.ts-week-card .ts-status-indicator.closed {
  background: #f5f5f5;
  color: #777777;
}

.ts-week-card .ts-status-indicator.closed::before {
  background-color: #777777;
}

.ts-week-card .ts-status-indicator.maintenance {
  background: #fff3e0;
  color: #ef6c00;
}

.ts-week-card .ts-status-indicator.maintenance::before {
  background-color: #ef6c00;
}

/* Week number */
.ts-week-card .ts-week-number {
  font-family: var(--vr-sans);
  font-size: 1.4rem;
  font-weight: 700;
  color: #2c2520;
  margin-top: 6px;
  margin-bottom: 2px;
}

.ts-week-card.active .ts-week-number {
  color: #6c011d;
}

.ts-week-card.status-closed .ts-week-number {
  color: #a0a0a0;
}

/* Date */
.ts-week-card .ts-week-date {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #666666;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.ts-week-card .ts-week-date i {
  color: #c5a059;
}

/* Card Button */
.ts-card-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 32px;
  border-radius: 30px;
  font-family: var(--vr-sans);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none !important;
  transition: all 0.3s ease;
}

.ts-card-action-btn.btn-inquire {
  background: transparent;
  color: #6c011d;
  border: 1px solid #6c011d;
}

.ts-card-action-btn.btn-inquire:hover {
  background: #6c011d;
  color: #ffffff;
  border-color: #6c011d;
}

.ts-week-card.season-spring .btn-inquire {
  color: #b48a47;
  border-color: #b48a47;
}

.ts-week-card.season-spring .btn-inquire:hover {
  background: #b48a47;
  color: #ffffff;
}

.ts-week-card.season-summer .btn-inquire {
  color: #6c011d;
  border-color: #6c011d;
}

.ts-week-card.season-summer .btn-inquire:hover {
  background: #6c011d;
  color: #ffffff;
}

.ts-week-card.season-autumn .btn-inquire {
  color: #a67c43;
  border-color: #a67c43;
}

.ts-week-card.season-autumn .btn-inquire:hover {
  background: #a67c43;
  color: #ffffff;
}

.ts-week-card.season-winter .btn-inquire {
  color: #4e443c;
  border-color: #4e443c;
}

.ts-week-card.season-winter .btn-inquire:hover {
  background: #4e443c;
  color: #ffffff;
}

/* Active buttons - solid look */
.ts-week-card.active .btn-inquire {
  background: #6c011d;
  color: #ffffff;
  border-color: #6c011d;
}

.ts-week-card.active .btn-inquire:hover {
  background: #880226;
  border-color: #880226;
}

/* Tab Content Spacing */
.tab-content {
  padding-top: 35px;
}

/* Feature Spotlight Items */
.ts-hot-feature-item {
  display: flex;
  align-items: center;
  gap: 15px;
  background: #ffffff;
  padding: 16px 20px;
  border-radius: 12px;
  border: 1px solid #f2efeb;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.01);
  transition: all 0.3s ease;
}

.ts-hot-feature-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(108, 1, 29, 0.04);
  border-color: rgba(108, 1, 29, 0.1);
}

.ts-hot-feature-item .icon-circle {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: #ebdcd0;
  color: #6c011d;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

/* Booklet Viewer Redesign */
.ts-booklet-viewer {
  background: #ffffff;
  border: 1px solid #e5e2e0;
  border-radius: 20px;
  padding: 35px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.ts-booklet-frame {
  background: #faf9f8;
  /* Warm light beige matching theme */
  border: 1px solid #f2efeb;
  border-radius: 12px;
  padding: 35px 20px;
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.02);
  margin-bottom: 20px;
  position: relative;
}

.ts-booklet-img-wrapper {
  max-width: 320px;
  /* Scaled up cover preview */
  margin: 0 auto;
  border-radius: 6px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  border: 1px solid #e5e2e0;
}

.ts-booklet-img-wrapper img {
  width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}

.ts-booklet-viewer:hover .ts-booklet-img-wrapper img {
  transform: scale(1.02);
}

.ts-booklet-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  background: #fcfbfa;
  border: 1px solid #e8e5e1;
  padding: 10px 24px;
  border-radius: 40px;
  max-width: 300px;
  margin: 0 auto 20px auto;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.ts-booklet-controls button {
  background: transparent;
  border: none;
  color: #333;
  font-size: 1rem;
  cursor: pointer;
  transition: color 0.2s ease;
}

.ts-booklet-controls button:hover {
  color: #6c011d;
}

.ts-page-box {
  background: #ffffff;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 2px 10px;
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 600;
}

/* Inquiry Form Section */
.ts-inquiry-sec {
  background: linear-gradient(135deg, #2c2520 0%, #171210 100%);
  position: relative;
  padding: 80px 0;
}

.ts-inquiry-sec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('../images/experience-bg.jpg');
  background-size: cover;
  background-position: center;
  opacity: 0.06;
  z-index: 1;
}

.ts-inquiry-container {
  position: relative;
  z-index: 2;
}

.ts-inquiry-form-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.ts-inquiry-form-card label {
  color: #fff;
  font-family: var(--vr-sans);
  font-weight: 500;
  font-size: 0.85rem;
  margin-bottom: 8px;
}

.ts-inquiry-form-card .form-control,
.ts-inquiry-form-card .form-select {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ffffff;
  border-radius: 6px;
  padding: 12px;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
}

.ts-inquiry-form-card .form-control:focus,
.ts-inquiry-form-card .form-select:focus {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--vr-gold, #d1a869);
  box-shadow: none;
  color: #fff;
}

.ts-inquiry-form-card .form-control::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.ts-inquiry-form-card .form-select option {
  background: #2c2520;
  color: #fff;
}

.ts-submit-btn {
  background: #6c011d;
  color: #ffffff;
  border: 1px solid #6c011d;
  padding: 12px 30px;
  border-radius: 30px;
  font-family: var(--vr-sans);
  font-weight: 600;
  transition: all 0.3s ease;
}

.ts-submit-btn:hover {
  background: #880226;
  border-color: #880226;
  color: #fff;
}

@media (max-width: 767px) {
  .ts-inquiry-form-card {
    padding: 25px;
  }

  .ts-booklet-viewer {
    padding: 15px;
  }

  .ts-booklet-frame {
    padding: 15px;
  }
}

/* Header Spacing and Link Optimization to Prevent Menu Wrapping */
@media (min-width: 1200px) {

  /* Perfectly center the navigation menu, and balance logo and button spacing symmetrically */
  .primary-menu .container-fluid {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 80px !important;
  }

  .primary-menu .logo {
    position: absolute !important;
    left: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 10 !important;
  }

  .primary-menu a.btn-new.btn-primary {
    position: absolute !important;
    right: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 10 !important;
  }

  #header-nav.collapse.navbar-collapse {
    display: flex !important;
    justify-content: end !important;
    flex-grow: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 60px;
  }

  .primary-menu ul.navbar-nav>li>a:not(.btn) {
    padding: 0px 0.45rem !important;
    /* Tighten horizontal spacing */
    font-size: 13px !important;
    letter-spacing: 0.4px !important;
    white-space: nowrap !important;
    margin: 0px 2px !important;
  }

  /* Specific padding-right override for dropdown toggles to match regular links (chevron is inline) */
  .primary-menu ul.navbar-nav>li.dropdown>a.dropdown-toggle {
    padding-right: 0.45rem !important;
  }

  /* When header becomes sticky and items align vertically */
  .primary-menu.sticky-on ul.navbar-nav>li>a:not(.btn) {
    margin: 0 2px !important;
    /* Maintain narrow margins on sticky header */
  }

  /* Premium Dropdown Hover Animation & Glassmorphism */
  .primary-menu:not(.navbar-overlay):not(.navbar-sidebar):not(.navbar-expand-none) ul.navbar-nav li.dropdown .dropdown-menu {
    display: block !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px) scale(0.99);
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1),
      transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0.25s;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(108, 1, 29, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 15px 35px rgba(108, 1, 29, 0.08) !important;
    padding: 18px 24px !important;
    margin-top: 5px !important;
  }

  /* Hover Bridge for Dropdown Spacing Gaps (prevents unexpected closing on hover) */
  .primary-menu:not(.navbar-overlay):not(.navbar-sidebar):not(.navbar-expand-none) ul.navbar-nav>li.dropdown>.dropdown-menu::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
    height: 15px;
    background: transparent;
    display: block;
    pointer-events: auto;
  }

  .primary-menu:not(.navbar-overlay):not(.navbar-sidebar):not(.navbar-expand-none) ul.navbar-nav>li.dropdown .dropdown-menu .dropdown-menu::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -25px;
    width: 25px;
    height: auto;
    background: transparent;
    display: block;
    pointer-events: auto;
  }

  /* Dropdown Active/Show State */
  .primary-menu:not(.navbar-overlay):not(.navbar-sidebar):not(.navbar-expand-none) ul.navbar-nav li.dropdown .dropdown-menu.show-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }

  /* Sub-dropdown initial state correction */
  .primary-menu ul.navbar-nav>li.dropdown .dropdown-menu .dropdown-menu {
    left: 100% !important;
    margin-top: -52px !important;
    transform: translateX(12px) scale(0.99) !important;
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1),
      transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0.25s !important;
  }

  /* Sub-dropdown active state correction */
  .primary-menu ul.navbar-nav>li.dropdown .dropdown-menu .dropdown-menu.show-dropdown {
    transform: translateX(0) scale(1) !important;
  }
}

/* Ensure main header overlay stacks above the sticky calendar wrapper */
.header-sec,
#header {
  z-index: 1030 !important;
}

/* ==========================================================================
   Header Dropdown Caret & Vibrant Red Hover Fixes
   ========================================================================== */

/* 1. Disable default Bootstrap caret borders and margins on dropdown toggles */
.primary-menu .dropdown-toggle::after,
.primary-menu .dropdown-toggle:after,
.primary-menu ul.navbar-nav>li.dropdown>a.dropdown-toggle::after {
  border: none !important;
  content: none !important;
  /* Forces the caret to be hidden completely */
  display: none !important;
  margin: 0 !important;
}

/* 2. Style the custom chevron icon (.arrow) added by main.js to be clean and currentColor */
.primary-menu ul.navbar-nav>li.dropdown .dropdown-toggle .arrow {
  position: relative !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  margin-left: 6px !important;
  vertical-align: middle !important;
  right: auto !important;
  top: -1px !important;
}
.sec-stage
{
    top:0 !important;
}
.primary-menu ul.navbar-nav>li.dropdown .dropdown-toggle .arrow:after {
  content: " " !important;
  position: absolute !important;
  top: 3px !important;
  left: 2px !important;
  border-color: currentColor !important;
  /* Force chevron color to match link text color */
  border-top: 1.5px solid !important;
  border-right: 1.5px solid !important;
  width: 5px !important;
  height: 5px !important;
  transform: rotate(135deg) !important;
  /* Points downwards */
  transition: transform 0.2s ease, border-color 0.2s ease !important;
}

/* Rotate chevron when sub-dropdown is open or parent is active/hovered */
.primary-menu ul.navbar-nav>li.dropdown:hover>a.dropdown-toggle .arrow:after {
  transform: rotate(-45deg) !important;
  /* Points upwards on hover */
}

/* 3. High visibility gold hover/active states for links in dark transparent header */
.primary-menu.bg-transparent:not(.show) ul.navbar-nav>li:hover>a:not(.btn),
.primary-menu.bg-transparent:not(.show) ul.navbar-nav>li>a.active:not(.btn) {
  color: #b5873c !important;
  /* Brand gold */
  text-shadow: 0 0 10px rgba(181, 135, 60, 0.4) !important;
  /* Soft premium gold glow */
}

/* Slide underline indicator for gold hover state */
.primary-menu ul.navbar-nav>li>a:not(.btn)::after {
  background: #b5873c !important;
  box-shadow: 0 0 8px rgba(181, 135, 60, 0.4) !important;
}

/* Ensure sticky header links behave correctly on light background */
.sticky-on.primary-menu.bg-transparent:not(.show) ul.navbar-nav>li:hover>a:not(.btn),
.sticky-on.primary-menu.bg-transparent:not(.show) ul.navbar-nav>li>a.active:not(.btn) {
  color: var(--bs-primary, #6c011d) !important;
  /* Maroon on light sticky header */
  text-shadow: none !important;
}

.sticky-on.primary-menu ul.navbar-nav>li>a:not(.btn)::after {
  background: var(--bs-primary, #6c011d) !important;
  box-shadow: none !important;
}


/* ==========================================================================
   Premium Luxury Footer Overrides
   ========================================================================== */

/* 1. Footer Container & Background Gradient */
.footer-dark {
  background: linear-gradient(180deg, #130f0e 0%, #090707 100%) !important;
  color: rgba(255, 255, 255, 0.75) !important;
  padding: 90px 0 45px 0 !important;
  /* More breathing room */
  border-top: 3px solid #b5873c !important;
  /* Premium thick gold top border */
  font-family: var(--vr-sans);
  position: relative;
  overflow: hidden;
}

/* Radial background glow effect */
.footer-dark::before {
  content: '';
  position: absolute;
  top: -150px;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 300px;
  background: radial-gradient(circle, rgba(108, 1, 29, 0.12) 0%, transparent 70%);
  pointer-events: none;
  z-index: 1;
}

.footer-dark .container-fluid {
  position: relative;
  z-index: 2;
}

/* 2. Top Footer Contacts Bar - Re-engineered as Glassmorphic Floating Cards */
.footer-top {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  margin-bottom: 50px !important;
  padding-bottom: 30px !important;
  gap: 0 !important;
}

.footer-logo img {
  max-width: 140px !important;
  height: auto;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
  transition: transform 0.3s ease;
}

.footer-logo:hover img {
  transform: scale(1.05);
}

/* Reset card styles on first column wrapper (which contains the logo) */
.footer-top .footer-contact:first-child {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Apply floating card design to columns 2, 3, and 4 (Email, Call, Visit) */
.footer-top .footer-contact:not(:first-child) {
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  padding: 22px 26px !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin-bottom: 20px;
}

.footer-top .footer-contact:not(:first-child):hover {
  transform: translateY(-6px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(181, 135, 60, 0.35) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25), 0 0 15px rgba(181, 135, 60, 0.08) !important;
}

/* Circular icon badges */
.footer-contact .icon-circle {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #b5873c 0%, #9c712e 100%) !important;
  /* Gold gradient */
  box-shadow: 0 4px 10px rgba(181, 135, 60, 0.2) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.footer-contact:hover .icon-circle {
  transform: rotate(15deg) scale(1.08) !important;
  background: linear-gradient(135deg, #6c011d 0%, #a21c26 100%) !important;
  /* Turns red on card hover! */
  box-shadow: 0 6px 15px rgba(108, 1, 29, 0.4) !important;
}

.footer-contact .icon-circle i {
  color: #ffffff !important;
  font-size: 16px !important;
}

.footer-contact small {
  font-family: var(--vr-sans);
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: var(--vr-gold, #b5873c) !important;
  margin-bottom: 4px !important;
}

.footer-contact p,
.footer-contact a p {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  transition: color 0.2s ease;
  margin: 0 !important;
}

.footer-contact a {
  text-decoration: none !important;
}

.footer-contact a:hover p {
  color: var(--vr-gold, #b5873c) !important;
}

/* 3. Middle Section: About Company & Useful Links */
.footer-middle {
  margin-bottom: 40px !important;
}

.foot-abt h5,
.footer-middle h5 {
  font-family: var(--vr-sans);
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #ffffff !important;
  margin-bottom: 25px !important;
  position: relative;
  padding-bottom: 12px;
}

/* Gold Accent Underline with dot */
.foot-abt h5::after,
.footer-middle h5::after {
  content: '' !important;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 45px;
  height: 2px;
  background: #b5873c !important;
  border-radius: 2px;
}

.foot-abt h5::before,
.footer-middle h5::before {
  content: '' !important;
  position: absolute;
  bottom: -1px;
  left: 55px;
  width: 4px;
  height: 4px;
  background: #b5873c !important;
  border-radius: 50%;
}

.foot-abt p {
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: rgba(255, 255, 255, 0.65) !important;
}

/* Links Columns CSS Grid and Responsive Layout */
.links-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 30px !important;
}

.links-grid ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.links-grid ul li {
  margin-bottom: 12px !important;
  position: relative;
}

.links-grid ul li a {
  color: rgba(255, 255, 255, 0.65) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: inline-block !important;
  position: relative !important;
  padding-bottom: 3px !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* Underline slide animation expanding from left */
.links-grid ul li a::after {
  content: '' !important;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1.5px;
  background: #b5873c !important;
  transition: width 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.links-grid ul li a:hover {
  color: #b5873c !important;
  transform: translateX(8px) !important;
  /* Slide hover animation */
}

.links-grid ul li a:hover::after {
  width: 100% !important;
}

/* 4. Footer Bottom Bar */
.footer-dark hr {
  border-color: rgba(255, 255, 255, 0.08) !important;
  margin: 30px 0 !important;
}

.footer-bottom {
  margin-top: 0 !important;
}

.footer-bottom p.text-1 {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

.payment-icons {
  display: flex !important;
  list-style: none !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  align-items: center;
}

.payment-icons img {
  height: 22px !important;
  width: auto;
  opacity: 0.85 !important;
  transition: all 0.3s ease !important;
}

.payment-icons li:hover img {
  opacity: 1 !important;
  transform: scale(1.08) translateY(-2px) !important;
}

.social-icons-light {
  display: flex !important;
  list-style: none !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.social-icons-light li a {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255, 255, 255, 0.6) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
}

.social-icons-light li a i {
  font-size: 14px !important;
}

.social-icons-light li a img {
  height: 14px !important;
  width: auto;
  filter: invert(1) opacity(0.6);
  transition: all 0.3s ease !important;
}

/* Custom brand colors for social icons */
.social-icons-light li a[href*="facebook.com"] {
  background: #1877f2 !important;
  border-color: #1877f2 !important;
  color: #ffffff !important;
}

.social-icons-light li a[href*="facebook.com"]:hover {
  transform: scale(1.12) translateY(-3px) !important;
  box-shadow: 0 4px 12px rgba(24, 119, 242, 0.45) !important;
}

.social-icons-light li a[href*="instagram.com"] {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}

.social-icons-light li a[href*="instagram.com"]:hover {
  transform: scale(1.12) translateY(-3px) !important;
  box-shadow: 0 4px 12px rgba(220, 39, 67, 0.45) !important;
}

.social-icons-light li a[href*="tripadvisor"] {
  background: #00af87 !important;
  border-color: #00af87 !important;
  color: #ffffff !important;
}

.social-icons-light li a[href*="tripadvisor"] img {
  filter: invert(1) brightness(1.5) opacity(1) !important;
}

.social-icons-light li a[href*="tripadvisor"]:hover {
  transform: scale(1.12) translateY(-3px) !important;
  box-shadow: 0 4px 12px rgba(0, 175, 135, 0.45) !important;
}

/* Adjust column widths and horizontal margins in the footer top row on desktop to prevent the logo from cutting off and add card spacing */
@media (min-width: 992px) {
  .footer-top>.col-lg-1.footer-contact {
    flex: 0 0 13% !important;
    max-width: 13% !important;
    width: 13% !important;
    margin-right: 2% !important;
  }

  .footer-top>.col-lg-2.footer-contact {
    flex: 0 0 23% !important;
    max-width: 23% !important;
    width: 23% !important;
    margin-left: 1% !important;
    margin-right: 1% !important;
  }

  .footer-top>.col-lg-5.footer-contact {
    flex: 0 0 33% !important;
    max-width: 33% !important;
    width: 33% !important;
    margin-left: 1% !important;
    margin-right: 1% !important;
  }
}

/* ==========================================================================
   Footer Responsive Breakpoints
   ========================================================================== */

@media (max-width: 991px) {
  .footer-dark {
    padding: 60px 0 30px 0 !important;
  }

  .footer-top {
    gap: 15px !important;
  }

  .footer-top .footer-contact:not(:first-child) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 15px;
  }

  .links-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    /* 2 columns on tablet */
    gap: 25px !important;
  }
}

@media (max-width: 767px) {
  .footer-middle {
    gap: 40px !important;
    text-align: center !important;
  }

  .links-grid {
    text-align: center !important;
  }

  .footer-middle h5::after,
  .foot-abt h5::after {
    left: calc(50% - 29px) !important;
  }

  .footer-middle h5::before,
  .foot-abt h5::before {
    left: calc(50% + 26px) !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    gap: 20px !important;
    text-align: center !important;
  }

  .footer-bottom p.text-1 {
    order: 3;
  }

  .payment-icons {
    order: 2;
    justify-content: center;
  }

  .social-icons-light {
    order: 1;
    justify-content: center;
  }

  .py-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .pt-5 {
    padding-top: 2rem !important;
  }

  .pb-5 {
    padding-bottom: 2rem !important;
  }

  .mt-5 {
    margin-top: 2rem !important;
  }

  .mb-5 {
    margin-bottom: 2rem !important;
  }

  .vr-sports-promo-bg.w-50 {
    width: 100% !important;
    opacity: 0.5;
    /* Fade image on mobile so text is legible */
  }
}


/* Hamburger Menu Color Override & PREMIUM MOBILE MENU for ALL mobile/tablet sizes */
@media (max-width: 1199.98px) {
  #header .primary-menu .container-fluid {
    justify-content: space-between !important;
  }

  .primary-menu .navbar-toggler {
    display: block !important;
  }

  .primary-menu .navbar-toggler span {
    background: #6c011d !important;
  }

  /* ========================================================
     PREMIUM MOBILE MENU REDESIGN
     ======================================================== */

  /* The Main Offcanvas Menu Container */
  #header-nav {
    background: #ffffff !important;
    box-shadow: -15px 0 40px rgba(0, 0, 0, 0.08) !important;
    border-left: 1px solid rgba(0, 0, 0, 0.03) !important;
  }

  /* Navigation Container Spacing */
  #header-nav .navbar-nav {
    padding: 15px 20px 30px 20px !important;
    gap: 4px;
  }

  /* Remove default harsh horizontal borders, add subtle dividers */
  #header-nav .nav-item {
    border: none !important;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.08) !important;
  }

  #header-nav .nav-item:last-child {
    border-bottom: none !important;
  }

  /* Main Links Typography & Interactive States */
  #header-nav .nav-link {
    color: #2c2c2c !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    padding: 16px 15px !important;
    border-radius: 8px;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    position: relative;
    border-left: 0px solid transparent;
  }

  /* Beautiful Hover and Active effects */
  #header-nav .nav-link:hover,
  #header-nav .nav-item.active .nav-link {
    background: rgba(99, 11, 36, 0.04) !important;
    color: #630b24 !important;
    border-left: 4px solid #630b24 !important;
    padding-left: 22px !important;
  }

  /* Dropdown Menu Container */
  #header-nav .dropdown-menu {
    background: #fafafa !important;
    border: none !important;
    border-left: 2px solid #b5873c !important;
    /* Gold accent border */
    border-radius: 0 !important;
    margin: 5px 0 15px 20px !important;
    padding: 10px 0 !important;
    box-shadow: none !important;
  }

  /* Dropdown Links */
  #header-nav .dropdown-item {
    color: #5a5a5a !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    padding: 12px 20px !important;
    transition: all 0.3s ease !important;
    text-transform: capitalize !important;
  }

  /* Dropdown Hover */
  #header-nav .dropdown-item:hover {
    background: transparent !important;
    color: #b5873c !important;
    transform: translateX(8px);
  }

  /* Staggered Animation on Menu Open */
  #header-nav.collapsing .nav-item,
  #header-nav.show .nav-item {
    opacity: 0;
    animation: slideInMenuItem 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
  }

  /* Stagger delays */
  #header-nav.collapsing .nav-item:nth-child(1),
  #header-nav.show .nav-item:nth-child(1) {
    animation-delay: 0.05s;
  }

  #header-nav.collapsing .nav-item:nth-child(2),
  #header-nav.show .nav-item:nth-child(2) {
    animation-delay: 0.1s;
  }

  #header-nav.collapsing .nav-item:nth-child(3),
  #header-nav.show .nav-item:nth-child(3) {
    animation-delay: 0.15s;
  }

  #header-nav.collapsing .nav-item:nth-child(4),
  #header-nav.show .nav-item:nth-child(4) {
    animation-delay: 0.2s;
  }

  #header-nav.collapsing .nav-item:nth-child(5),
  #header-nav.show .nav-item:nth-child(5) {
    animation-delay: 0.25s;
  }

  #header-nav.collapsing .nav-item:nth-child(6),
  #header-nav.show .nav-item:nth-child(6) {
    animation-delay: 0.3s;
  }

  #header-nav.collapsing .nav-item:nth-child(7),
  #header-nav.show .nav-item:nth-child(7) {
    animation-delay: 0.35s;
  }

  #header-nav.collapsing .nav-item:nth-child(8),
  #header-nav.show .nav-item:nth-child(8) {
    animation-delay: 0.4s;
  }

  #header-nav.collapsing .nav-item:nth-child(9),
  #header-nav.show .nav-item:nth-child(9) {
    animation-delay: 0.45s;
  }

  #header-nav.collapsing .nav-item:nth-child(10),
  #header-nav.show .nav-item:nth-child(10) {
    animation-delay: 0.5s;
  }

  @keyframes slideInMenuItem {
    0% {
      opacity: 0;
      transform: translateY(15px);
    }

    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

@media (max-width: 575px) {
  .links-grid {
grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important;
        text-align: left !important;
  }
.links-grid ul li {
    margin-bottom: 0 !important;
    position: relative;
}
  .footer-logo {
    justify-content: center;
    width: 100%;
    display: flex;
    margin-bottom: 15px;
  }

  .footer-contact {
    justify-content: flex-start !important;
    text-align: left !important;
    flex-direction: row !important;
    gap: 15px !important;
    align-items: center !important;
  }

  .footer-top .footer-contact:not(:first-child) {
    padding: 16px 20px !important;
  }

  .footer-contact .icon-circle {
    margin: 0;
  }

  .foot-abt {
    text-align: center;
  }

  .foot-abt h5::after {
    left: 50%;
    transform: translateX(-50%);
  }

  .foot-abt h5::before {
    left: calc(50% + 30px);
  }
}











/* ==========================================================================
   STAYS PAGE - CUSTOM STYLING (ROOMS & SUITES)
   ========================================================================== */

.stays-page-body {
  background-color: var(--vr-light-bg, #fbf9f6);
}

/* Header & Top Bar Layout - Reverted to default styles */

/* Hero Section */
.stays-hero-sec {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: 13rem 0 10rem 0;
  color: #ffffff;
  min-height: 450px;
  display: flex;
  align-items: center;
}

.stays-hero-overlay {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(16, 12, 10, 0.75) 0%, rgba(16, 12, 10, 0.3) 50%, rgba(16, 12, 10, 0.65) 100%);
  z-index: 1;
}

.stays-hero-sec .container-fluid {
  position: relative;
  z-index: 2;
}

.stays-breadcrumb {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 20px;
}

.stays-breadcrumb a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.3s;
}

.stays-breadcrumb a:hover {
  color: #ffffff;
}

.stays-breadcrumb .active {
  color: #ebdcd0;
  font-weight: 700;
}

.stays-hero-title {
  font-family: var(--vr-sans);
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
  margin-bottom: 12px;
}

.stays-hero-desc {
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  line-height: 1.6;
  color: #fbf9f6;
  max-width: 600px;
  margin: 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Floating Search Bar Wrapper */
.stays-search-wrapper {
  position: relative;
  z-index: 11;
  margin-top: -65px;
  margin-bottom: 45px;
}

.stays-search-bar {
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(108, 1, 29, 0.08);
}

@media (min-width: 992px) {
  .stays-search-col:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
  }

  .stays-search-btn-col {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
  }

  .stays-search-book-btn {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
  }
}

@media (max-width: 991px) {
  .stays-search-col:first-child {
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
  }

  .stays-search-btn-col {
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
  }

  .stays-search-book-btn {
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
  }
}

.stays-search-col {
  padding: 22px 30px !important;
  display: flex !important;
  align-items: center !important;
  transition: background 0.3s;
  position: relative !important;
  min-height: 90px !important;
}

.stays-search-col:hover {
  background: #fdfbf9;
}

.border-end-lg {
  border-right: 1px solid #eaeaea;
}

.stays-input-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}

.stays-datepicker-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 10;
}

.stays-label {
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  color: #888888;
  letter-spacing: 1px;
  margin-bottom: 6px;
}

.stays-input-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.stays-value {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--vr-dark-text, #2c2520);
}

.stays-icon {
  color: var(--vr-maroon, #6c011d);
  font-size: 1.15rem;
}

.stays-icon-chevron {
  color: #888888;
  font-size: 0.85rem;
}

.stays-search-btn-col {
  background: var(--vr-maroon, #6c011d);
  display: flex;
}

.stays-search-book-btn {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px;
  color: #ffffff !important;
  text-decoration: none;
  transition: background-color 0.3s;
}

.stays-search-book-btn:hover {
  background: #520116;
}

.stays-search-book-btn .book-main {
  font-family: var(--vr-sans);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.5px;
}

.stays-search-book-btn .book-sub {
  font-family: var(--vr-sans);
  font-size: 0.7rem;
  opacity: 0.8;
  margin-top: 3px;
}

/* Guarantee Sub-bar */
.stays-guarantee-bar {
  padding: 12px 30px;
  background: #fdfbf9;
  border-radius: 0 0 12px 12px;
  border: 1px solid #eaeaea;
  border-top: none;
  display: flex;
  align-items: center;
  font-family: var(--vr-sans);
  font-size: 0.88rem;
  color: var(--vr-muted-text, #706259);
}

.stays-guarantee-bar i {
  color: var(--vr-maroon, #6c011d);
  font-size: 0.95rem;
}

.stays-guarantee-bar strong {
  color: var(--vr-dark-text, #2c2520);
}

/* Categories Filter Tabs */
.stays-tabs-sec {
  margin-bottom: 30px;
}

.stays-filter-tabs {
  border: none !important;
  margin-bottom: 20px;
}

.stays-filter-tabs .nav-item {
  margin: 0 15px;
}

.stays-filter-tabs .nav-link {
  border: none !important;
  background: transparent !important;
  font-family: var(--vr-sans);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: var(--vr-muted-text, #706259) !important;
  padding: 12px 10px 16px 10px !important;
  transition: color 0.3s;
  position: relative;
}

.stays-filter-tabs .nav-link:hover,
.stays-filter-tabs .nav-link.active {
  color: var(--vr-maroon, #6c011d) !important;
}

.stays-filter-tabs .nav-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--vr-maroon, #6c011d);
  transform: scaleX(0);
  transition: transform 0.3s ease;
  transform-origin: center;
}

.stays-filter-tabs .nav-link.active::after {
  transform: scaleX(1);
}

/* Stays Listings & Room Card Layout */
.stays-room-card {
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 40px;
  box-shadow: 0 4px 20px rgba(108, 1, 29, 0.02);
  transition: transform 0.3s, box-shadow 0.3s;
}

.stays-room-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(108, 1, 29, 0.05);
}

/* Left Column: Gallery */
.stays-gallery-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.stays-main-image {
  height: 270px;
  overflow: hidden;
}

.stays-main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.stays-room-card:hover .stays-main-image img {
  transform: scale(1.03);
}

.stays-thumbnails-row {
  display: flex;
  padding: 10px 15px;
  gap: 10px;
  background: #fbfbfb;
  border-top: 1px solid #f5f5f5;
}

.stays-thumb-item {
  flex: 1;
  height: 52px;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.3s;
}

.stays-thumb-item:hover {
  border-color: #e0d0c5;
}

.stays-thumb-item.active {
  border-color: var(--vr-maroon, #6c011d);
}

.stays-thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 6px;
}

.stays-thumb-item.has-overlay {
  position: relative;
}

.stays-overlay-count {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgb(0 0 0 / 89%);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 800;
  border-radius: 6px;
}

/* Center Column: Details */
.stays-details-inner {
  padding: 35px 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.stays-room-title {
  font-family: var(--vr-sans);
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--vr-maroon, #6c011d);
  margin-bottom: 8px;
}

.stays-room-desc {
  font-family: var(--vr-sans);
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--vr-muted-text, #706259);
  margin-bottom: 22px;
}

.stays-specs-grid {
  margin-bottom: 22px;
}

.stays-spec-item {
  font-family: var(--vr-sans);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--vr-dark-text, #2c2520);
  line-height: 1.4;
}

.stays-spec-item i {
  color: var(--vr-maroon, #6c011d);
  /* Replicated: Maroon icons */
  font-size: 1.05rem;
  width: 20px;
  flex-shrink: 0;
}

.stays-spec-item.border-end {
  border-right: 1px solid #eaeaea !important;
}

.stays-room-size {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: var(--vr-muted-text, #706259);
  border-top: 1px solid #f2ede9;
  padding-top: 18px;
}

.stays-room-size strong {
  color: var(--vr-dark-text, #2c2520);
}

/* Right Column: Pricing Box */
.stays-pricing-col {
  background: #ffffff !important;
  /* Replicated: white background */
  border-left: 1px solid #eaeaea;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start !important;
  /* Replicated: Left-aligned */
  padding: 35px 30px !important;
  text-align: left !important;
}

.stays-best-rate-badge {
  display: flex !important;
  flex-direction: row !important;
  /* Horizontal layout */
  align-items: center !important;
  margin-bottom: 25px;
  gap: 15px;
}

.stays-badge-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: #fbf5eb;
  /* Soft gold background */
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b5873c;
  /* Gold color */
  font-size: 1.25rem;
  flex-shrink: 0;
}

.stays-badge-text-box {
  display: flex;
  flex-direction: column;
  font-family: var(--vr-sans);
  line-height: 1.3;
}

.stays-badge-title {
  font-size: 0.8rem;
  color: var(--vr-muted-text, #706259);
  font-weight: 500;
}

.stays-badge-subtitle {
  font-size: 0.9rem;
  color: var(--vr-dark-text, #2c2520);
  font-weight: 700;
}

.stays-action-wrapper {
  width: 100%;
}

.stays-card-book-btn {
  width: 100%;
  padding: 14px 15px !important;
  background-color: var(--vr-maroon, #6c011d) !important;
  border: none !important;
  border-radius: 4px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  text-decoration: none;
  transition: background-color 0.3s;
}

.stays-card-book-btn:hover {
  background-color: #520116 !important;
}

.stays-card-book-btn .btn-main {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.5px;
}

.stays-card-book-btn .btn-sub {
  font-family: var(--vr-sans);
  font-size: 0.6rem;
  opacity: 0.8;
  margin-top: 3px;
  font-weight: normal;
  text-transform: none;
}

.stays-details-text-link {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--vr-maroon, #6c011d);
  text-decoration: none;
  transition: color 0.3s;
  white-space: nowrap;
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
}

.stays-details-text-link:hover {
  color: #520116;
  text-decoration: underline;
}

/* Bottom Key Features Bar */
.stays-bottom-features-sec {
  background: var(--vr-light-bg, #fbf9f6);
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
  padding: 40px 0;
}

.stays-bottom-features-sec .feature-item {
  display: flex;
  align-items: center;
  gap: 15px;
}

.stays-bottom-features-sec .feature-icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #f4eae1;
  color: var(--vr-maroon, #6c011d);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.15rem;
  flex-shrink: 0;
}

.stays-bottom-features-sec .feature-title {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--vr-dark-text, #2c2520);
  letter-spacing: 0.5px;
  margin-bottom: 3px;
}

.stays-bottom-features-sec .feature-desc {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: var(--vr-muted-text, #706259);
  margin: 0;
  line-height: 1.35;
}

/* Gift Cards & Loyalty Points Banner */
.stays-promo-sec {
  background: #ffffff;
  padding: 60px 0;
}

.stays-promo-container {
  background: #50060d;
  /* Deep Maroon matching the mockup */
  border-radius: 12px;
  padding: 40px 50px;
  position: relative;
  box-shadow: 0 8px 30px rgba(80, 6, 13, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.stays-promo-column {
  padding: 10px 40px;
}

.stays-promo-left {
  border-right: none;
}

.stays-promo-image-wrapper {
  flex-shrink: 0;
  width: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stays-promo-right .stays-promo-image-wrapper {
  width: 120px;
}

.stays-gift-img {
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.35));
  transition: transform 0.5s ease;
}

.stays-promo-container:hover .stays-gift-img {
  transform: rotate(-3deg) scale(1.03);
}

.stays-coin-img {
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.3));
  transition: transform 0.5s ease;
}

.stays-promo-container:hover .stays-coin-img {
  transform: rotate(10deg) scale(1.05);
}

.stays-promo-text-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.stays-promo-title {
  font-family: var(--vr-sans);
  font-size: 1.35rem;
  font-weight: 700;
  color: #d2ad6d;
  /* Warm light gold */
  margin-bottom: 10px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.stays-promo-desc {
  font-family: var(--vr-sans);
  font-size: 0.88rem;
  line-height: 1.55;
  color: #ffffff;
  opacity: 0.9;
  margin-bottom: 18px;
}

.stays-promo-outline-btn {
  border: 1.5px solid #d2ad6d !important;
  color: #ffffff !important;
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  background: transparent !important;
  border-radius: 4px;
  padding: 8px 20px !important;
  transition: all 0.3s ease;
  text-transform: uppercase;
  text-decoration: none;
}

.stays-promo-outline-btn:hover {
  background: #d2ad6d !important;
  color: #50060d !important;
  border-color: #d2ad6d !important;
}

/* Centered vertical divider on desktop */
@media (min-width: 992px) {
  .stays-promo-container::before {
    content: "";
    position: absolute;
    top: 35px;
    bottom: 35px;
    left: 50%;
    width: 1px;
    background-color: rgba(255, 255, 255, 0.2);
    transform: translateX(-50%);
  }
}

/* Footer Custom Styling */
.footer-stays-custom {
  background: #2c2520 !important;
  color: #ebdcd0 !important;
}

.text-muted-footer-custom {
  color: #a5958c !important;
  line-height: 1.6;
}

.footer-stays-links a {
  color: #ebdcd0 !important;
  text-decoration: none;
  transition: color 0.3s, padding-left 0.3s;
}

.footer-stays-links a:hover {
  color: #ffffff !important;
  padding-left: 4px;
}

.stays-subscribe-form input {
  background: transparent !important;
  border-color: #4c3f37 !important;
  color: #ffffff !important;
}

.stays-subscribe-form input::placeholder {
  color: #8a776c !important;
}

.stays-subscribe-form input:focus {
  border-color: var(--vr-gold, #b5873c) !important;
  box-shadow: none !important;
}

/* Shared Responsive Media Queries for Stays Page */
@media (max-width: 991px) {
  .stays-hero-sec {
    min-height: 400px;
    padding: 11rem 0 7rem 0;
  }

  .stays-hero-title {
    font-size: 2.8rem;
  }

  .stays-search-wrapper {
    margin-top: -40px;
  }

  .stays-search-col {
    border-right: none !important;
    border-bottom: 1px solid #eaeaea;
    padding: 16px 20px;
  }

  .stays-search-btn-col {
    padding: 0;
  }

  .stays-search-book-btn {
    padding: 18px 20px;
  }

  .border-end-lg {
    border-right: none !important;
  }

  .stays-pricing-col {
    border-left: none;
    border-top: 1px solid #eaeaea;
    padding: 30px;
    width: 100%;
  }

  .stays-best-rate-badge {
    margin-bottom: 15px;
  }

  .stays-promo-container {
    padding: 40px 25px;
  }

  .stays-promo-column {
    padding: 20px 0;
  }

  .stays-promo-left {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .stays-promo-text-wrapper {
    align-items: center;
    width: 100%;
  }

  .stays-promo-desc {
    text-align: center;
  }

  .stays-promo-image-wrapper {
    margin-bottom: 15px;
    width: 120px !important;
  }

  .stays-promo-right .stays-promo-image-wrapper {
    margin-top: 15px;
    margin-bottom: 0;
  }
}

@media (max-width: 768px) {
  .stays-hero-title {
    font-size: 2.4rem;
  }

  .stays-hero-desc {
    font-size: 1rem;
  }

  .stays-main-image {
    height: 220px;
  }

  .stays-details-inner {
    padding: 25px 20px;
  }

  .stays-filter-tabs .nav-item {
    margin: 0 5px;
  }

  .stays-filter-tabs .nav-link {
    font-size: 0.78rem !important;
    padding: 8px 6px 12px 6px !important;
  }

  .stays-bottom-features-sec .feature-item {
    flex-direction: column;
    text-align: center;
  }

  .stays-bottom-features-sec .feature-icon {
    margin: 0 auto;
  }
}

/* ==========================================================================
   GUESTS DROPDOWN & REMOVING INLINE CSS STYLES
   ========================================================================== */

.stays-input-wrapper-clickable {
  cursor: pointer;
}

.stays-guests-dropdown {
  width: 300px;
  border-radius: 8px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
  border: 1px solid #eaeaea !important;
  z-index: 1050 !important;
}

.guests-count-label-sub {
  font-size: 0.72rem;
}

.guests-counter-btn {
  width: 28px;
  height: 28px;
  padding: 0 !important;
  line-height: 1 !important;
  font-weight: bold !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.guests-count-value {
  font-size: 0.95rem;
  min-width: 20px;
  text-align: center;
}

.guests-apply-btn {
  background-color: var(--vr-maroon, #6c011d) !important;
  color: #ffffff !important;
  transition: background-color 0.3s;
}

.guests-apply-btn:hover {
  background-color: #520116 !important;
}

/* Replicated room card layout */
.stays-thumbnails-row {
  display: flex;
  padding: 0 !important;
  gap: 6px !important;
  background: transparent !important;
  border-top: none !important;
  margin-top: 6px !important;
}

.stays-thumb-item {
  flex: 1;
  height: 100px;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.3s;
}

.stays-gallery-wrapper {
  display: flex;
  flex-direction: column;
  padding: 0 !important;
}

.stays-extra-spec-icon {
  margin-left: auto;
  margin-right: 15px;
  color: var(--vr-maroon, #6c011d);
  font-size: 0.95rem;
}


/* ==================== ABOUT US PAGE CUSTOM STYLING ==================== */

.about-page-body {
  background-color: #fbf9f6;
  font-family: var(--vr-sans);
  color: var(--vr-dark-text, #2c2520);
}

/* About Hero Section */
.about-hero-sec {
  position: relative;
  background-image: url('../images/abt-bg-1.webp');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: 14rem 0 10rem 0;
  color: #ffffff;
  min-height: 580px;
  display: flex;
  align-items: center;
}

.about-hero-overlay {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(16, 12, 10, 0.75) 0%, rgba(16, 12, 10, 0.3) 50%, rgba(16, 12, 10, 0.65) 100%);
  z-index: 1;
}

.about-breadcrumb {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 20px;
}

.about-breadcrumb a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.3s;
}

.about-breadcrumb a:hover {
  color: #ffffff;
}

.about-breadcrumb .active {
  color: #ebdcd0;
  font-weight: 700;
}

.about-hero-title {
  font-family: var(--vr-sans);
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.5px;
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
  margin-bottom: 18px;
}

.about-hero-desc {
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  line-height: 1.6;
  color: #fbf9f6;
  max-width: 600px;
  margin: 0;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Under-Hero Feature Banner */
.about-features-sec {
  background: #1a1613;
  /* Very dark background */
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.about-feature-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  justify-content: center;
  text-align: center;
  padding: 8px 5px;
  position: relative;
}

.about-feature-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: -12px;
  top: 10%;
  height: 80%;
  width: 1px;
  background: rgba(255, 255, 255, 0.12);
}

.about-feature-icon {
  font-size: 1.35rem;
  color: #d2ad6d;
  /* Warm Gold */
  flex-shrink: 0;
}

.about-feature-text {
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #ebdcd0;
  text-align: center;
  line-height: 1.3;
}

.about-feature-text span {
  font-family: var(--vr-sans);
  font-weight: 600;
  color: #ffffff;
}

/* Our Story Section */
.about-story-sec {
  background: #fbf9f6;
  overflow: hidden;
}

.about-story-img-wrapper {
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(44, 37, 32, 0.08);
}

.about-story-img-wrapper img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.about-story-sec:hover .about-story-img-wrapper img {
  transform: scale(1.02);
}

.about-story-watermark {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  width: 320px;
  opacity: 0.045;
  pointer-events: none;
  z-index: 1;
  text-align: center;
}

.about-story-watermark img {
  max-width: 100%;
  height: auto;
}

.watermark-year {
  font-family: var(--vr-sans);
  font-style: italic;
  font-size: 1.5rem;
  color: var(--vr-maroon, #6c011d);
  margin-top: 5px;
}

.about-story-content {
  padding-left: 20px;
}

.about-story-label {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  font-weight: 800;
  color: #b5873c;
  /* Gold */
  letter-spacing: 2px;
  display: block;
  margin-bottom: 10px;
}

.about-story-title {
  font-family: var(--vr-sans);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--vr-maroon, #6c011d);
  margin-bottom: 15px;
}

.about-title-divider {
  width: 60px;
  height: 2px;
  background-color: #b5873c;
  margin-bottom: 25px;
}

.about-story-desc {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--vr-muted-text, #706259);
  margin-bottom: 20px;
}

/* Our Values Section */
.about-values-sec {
  background: #ffffff;
}

.about-section-header {
  position: relative;
}

.about-section-title {
  font-family: var(--vr-sans);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--vr-maroon, #6c011d);
  letter-spacing: 0.5px;
  margin: 0;
  text-transform: uppercase;
}

.about-value-card {
  background: #ffffff;
  border: 1.5px solid #e8ddd5;
  border-radius: 8px;
  padding: 30px 18px;
  text-align: center;
  box-shadow: none;
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}

.about-value-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(108, 1, 29, 0.05);
  border-color: #b5873c;
}

.value-icon-box {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #fbf5eb;
  color: #b5873c;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.45rem;
  margin: 0 auto 20px auto;
  transition: background 0.3s, color 0.3s;
}

.about-value-card:hover .value-icon-box {
  background: var(--vr-maroon, #6c011d);
  color: #ffffff;
}

.value-title {
  font-family: var(--vr-sans);
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--vr-maroon, #6c011d);
  letter-spacing: 1px;
  margin-bottom: 12px;
}

.value-desc {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--vr-muted-text, #706259);
  margin: 0;
}

/* Experience in Numbers Section */
.about-stats-sec {
  background: #50060d;
  /* Solid dark maroon */
  position: relative;
  box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.15);
}

.about-stats-header {
  font-family: var(--vr-sans);
  font-size: 1.8rem;
  font-weight: 700;
  color: #ebdcd0;
  letter-spacing: 1px;
}

.about-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px;
}

.stat-icon {
  font-size: 1.6rem;
  color: #ebdcd0;
  margin-bottom: 12px;
  opacity: 0.95;
}

.stat-number {
  font-family: var(--vr-sans);
  font-size: 2.8rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}

.stat-label {
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #d2ad6d;
  line-height: 1.35;
}

/* What Makes Villa Roma Special (Highlights) */
.about-highlights-sec {
  background: #fbf9f6;
}

.about-highlight-card {
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(108, 1, 29, 0.01);
  transition: transform 0.3s, box-shadow 0.3s;
}

.about-highlight-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(108, 1, 29, 0.04);
}

.highlight-img-box {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.highlight-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.about-highlight-card:hover .highlight-img-box img {
  transform: scale(1.05);
}

.highlight-info {
  padding: 22px 18px;
}

.highlight-title {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 800;
  color: var(--vr-maroon, #6c011d);
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.highlight-desc {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--vr-muted-text, #706259);
  margin: 0;
}

/* Our Journey (Timeline) */
.about-journey-sec {
  background: #ffffff;
  position: relative;
  overflow: hidden;
}

.about-timeline-wrapper {
  position: relative;
  padding: 30px 0;
  margin-top: 20px;
}

.about-timeline-line {
  position: absolute;
  top: 76px;
  left: 50px;
  right: 50px;
  height: 2px;
  background-color: #ebdcd0;
  z-index: 1;
}

.about-timeline-row {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 2;
  overflow-x: auto;
  scroll-behavior: smooth;
}

.about-timeline-row::-webkit-scrollbar {
  height: 4px;
}

.about-timeline-row::-webkit-scrollbar-thumb {
  background: #ebdcd0;
  border-radius: 10px;
}

.about-timeline-node {
  flex: 1;
  min-width: 160px;
  text-align: center;
  padding: 0 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.timeline-year {
  font-family: var(--vr-sans);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--vr-maroon, #6c011d);
  margin-bottom: 12px;
}

.timeline-dot {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #ffffff;
  border: 2.5px solid #d2ad6d;
  color: var(--vr-maroon, #6c011d);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  margin-bottom: 18px;
  box-shadow: 0 4px 10px rgba(210, 173, 109, 0.2);
  transition: border-color 0.3s, background 0.3s, color 0.3s;
}

.about-timeline-node:hover .timeline-dot {
  background: #d2ad6d;
  color: #ffffff;
}

.timeline-text {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--vr-muted-text, #706259);
  margin: 0;
  max-width: 140px;
}

/* Guest Testimonials */
.about-testimonials-sec {
  background: #fbf9f6;
  position: relative;
}

.about-testimonial-card {
  background: #ffffff;
  border: 1px solid #ebdcd0;
  border-radius: 8px;
  padding: 40px 30px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(44, 37, 32, 0.02);
  transition: transform 0.3s;
}

.about-testimonial-card:hover {
  transform: translateY(-2px);
}

.testimonial-stars {
  color: #ffc107;
  /* Gold Star color */
  font-size: 0.9rem;
  margin-bottom: 20px;
}

.testimonial-stars i {
  margin: 0 2px;
}

.testimonial-quote {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--vr-muted-text, #706259);
  font-style: italic;
  margin-bottom: 22px;
}

.testimonial-author {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--vr-maroon, #6c011d);
  text-transform: uppercase;
}

/* Navigation Arrow Buttons */
.about-testimonial-nav {
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid #ebdcd0;
  color: var(--vr-maroon, #6c011d);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(44, 37, 32, 0.06);
  z-index: 10;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}

.about-testimonial-nav:hover {
  background: var(--vr-maroon, #6c011d);
  color: #ffffff;
  border-color: var(--vr-maroon, #6c011d);
}

.prev-btn {
  left: 25px;
}

.next-btn {
  right: 25px;
}

/* Commitments Service Bar */
.about-commitments-sec {
  background: #ffffff;
  border-color: #ebdcd0 !important;
}

.commitment-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fbf5eb;
  color: var(--vr-maroon, #6c011d);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
}

.commitment-title {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  letter-spacing: 0.5px;
  color: var(--vr-dark-text, #2c2520);
}

.commitment-desc {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--vr-muted-text, #706259);
}

/* Pre-footer Call-to-action */
.about-prefooter-sec {
  position: relative;
  background-image: url('../images/abt-bg.webp');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: 60px 0;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.15);
}

.about-prefooter-overlay {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(80, 6, 13, 0.85) 0%, rgba(80, 6, 13, 0.4) 100%);
  z-index: 1;
}

.prefooter-title {
  font-family: var(--vr-sans);
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #ffffff;
  margin-bottom: 8px;
}

.prefooter-subtitle {
  font-family: var(--vr-sans);
  font-size: 1rem;
  color: #ebdcd0;
  font-weight: 600;
}

.btn-gold-solid {
  background-color: #b5873c !important;
  border: none !important;
  color: #ffffff !important;
  font-family: var(--vr-sans);
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}

.btn-gold-solid:hover {
  background-color: #9c712e !important;
  color: #ffffff !important;
}

/* Responsive Overrides for About Us */
@media (max-width: 991px) {
  .about-hero-sec {
    min-height: 400px;
    padding: 11rem 0 7rem 0;
  }

  .about-hero-title {
    font-size: 2.8rem;
  }


  .about-feature-item {
    justify-content: center;
    padding: 8px 10px;
  }

  .about-story-watermark {
    display: none;
  }

  .about-story-content {
    padding-left: 0;
  }

  .about-timeline-line {
    display: none;
  }

  .about-timeline-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
  }

  .about-timeline-node {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    min-width: 100%;
    padding: 0;
    gap: 20px;
  }

  .timeline-year {
    font-size: 1.15rem;
    width: 60px;
    margin: 0;
    padding-top: 8px;
  }

  .timeline-dot {
    margin: 0;
    width: 38px;
    height: 38px;
    font-size: 0.95rem;
  }

  .timeline-text {
    max-width: calc(100% - 130px);
    text-align: left;
  }

  .about-testimonial-nav {
    display: none;
  }

  .about-prefooter-overlay {
    background: rgba(80, 6, 13, 0.8);
  }
}

@media (max-width: 768px) {
  .about-hero-title {
    font-size: 2.4rem;
  }

  .about-hero-desc {
    font-size: 1rem;
  }

  .about-story-title {
    font-size: 1.8rem;
  }

  .about-section-title {
    font-size: 1.50rem;
  }
}

/* --- HOME PAGE REDESIGN --- */
:root {
  --vr-maroon: #6c011d;
  --vr-maroon-dark: #4a0013;
  --vr-serif: 'Playfair Display', Georgia, Cambria, 'Times New Roman', Times, serif;
}

/* Utilities */
.vr-maroon {
  color: var(--vr-maroon) !important;
  text-transform:uppercase;
  font-weight:400 !important;
}
.PD-LR-10
{
    padding-left:15%;
    padding-right:15%;
}
.vr-gold {
  color: var(--vr-gold) !important;
}

.bg-maroon-dark {
  background-color: var(--vr-maroon-dark) !important;
}

.btn-maroon-solid {
  background-color: var(--vr-maroon);
  color: #fff;
  border: 1px solid var(--vr-maroon);
  transition: all 0.3s ease;
}

.btn-maroon-solid:hover {
  background-color: #550016;
  color: #fff;
}

.btn-outline-maroon {
  background-color: transparent;
  color: var(--vr-maroon);
  border: 1px solid var(--vr-maroon);
  transition: all 0.3s ease;
}

.btn-outline-maroon:hover {
  background-color: var(--vr-maroon);
  color: #fff;
}

.border-bottom-only {
  border: 0;
  border-bottom: 1px solid #dee2e6;
}

.border-bottom-only:focus {
  box-shadow: none;
  border-bottom-color: var(--vr-maroon);
}

/* Hero Widget */
.vr-hero-booking-widget {
  background-color: rgba(255, 255, 255, 0.95);
}

/* Features Ribbon */
.vr-features-ribbon {
  border-top: 5px solid var(--vr-maroon);
}

.vr-ribbon-item {
  color: var(--vr-dark-text);
  text-align: left;
}

/* Explore Packages Pills */
.vr-packages-pills {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px;
  justify-content: flex-start !important;
  /* Fallback for older browsers */
  justify-content: safe center !important;
  /* Centered when it fits, left-aligned when it overflows */
}

.vr-packages-pills::-webkit-scrollbar {
  display: none;
}

.vr-packages-pills {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

@media (max-width: 1199.98px) {
  .vr-packages-pills {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.vr-packages-pills .nav-item {
  flex-shrink: 0;
  /* Prevent buttons from shrinking/compressing */
}

.vr-packages-pills .nav-link {
  color: var(--vr-dark-text);
  background-color: transparent;
  border: 1px solid #ddd;
  margin: 0 4px 10px;
  padding: 6px 12px;
  font-size: 0.8rem;
  white-space: nowrap;
}

.vr-packages-pills .nav-link.active {
  background-color: var(--vr-maroon);
  color: #fff;
  border-color: var(--vr-maroon);
}

/* Package Cards Redesign */
.vr-package-card {
  background: #FAF6F0 !important;
  border: none !important;
  border-radius: 10px !important;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(44, 37, 32, 0.04) !important;
  transition: all 0.3s ease-in-out !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  text-align: left !important;
}

.vr-package-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 30px rgba(108, 1, 29, 0.08) !important;
}

.vr-package-card .card-img-top {
  border-top-left-radius: 10px !important;
  border-top-right-radius: 10px !important;
  height: 220px;
  object-fit: cover;
}

.vr-package-card .card-body {
  padding: 1.5rem 1.5rem 1.25rem 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.vr-package-card h5 {
  font-family: var(--vr-serif) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--vr-maroon) !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 1.25rem !important;
  text-transform: uppercase;
}

.vr-package-card ul {
  padding-left: 0;
  list-style: none;
  margin-bottom: 1.25rem !important;
  flex-grow: 1 !important;
}

.vr-package-card li {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.88rem !important;
  color: #4a3e3d !important;
  margin-bottom: 0.75rem !important;
  display: flex;
  align-items: center;
}

.vr-package-card li i {
  color: #b27483 !important;
  /* Soft rose checkmark color matching the screenshot */
  font-size: 0.95rem !important;
  margin-right: 12px !important;
  width: auto;
}

.vr-package-price-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 0.5rem !important;
  padding-top: 0.5rem;
}

.vr-package-price-label {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  color: #4a3e3d !important;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding-bottom: 2px;
}

.vr-package-price-val {
  font-family: var(--vr-serif) !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: var(--vr-maroon) !important;
}

.vr-package-price-unit {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.82rem !important;
  color: #4a3e3d !important;
  font-weight: 600;
}

.vr-package-card .btn-maroon-solid {
  background-color: var(--vr-maroon) !important;
  color: #fff !important;
  border: none !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  padding: 13px 0 !important;
  border-radius: 0 0 10px 10px !important;
  transition: background-color 0.2s ease !important;
  text-transform: uppercase;
  margin-top: auto !important;
}

.vr-package-card .btn-maroon-solid:hover {
  background-color: var(--vr-maroon-dark) !important;
}

/* Seasonal Split Screen */
.vr-seasonal-split {
  overflow: hidden;
  min-height: 280px;
}

.vr-seasonal-side {
  transition: all 0.5s ease;
  min-height: 280px !important;
}

.vr-seasonal-side:hover {
  transform: scale(1.02);
}

.vr-seasonal-circle {
  border: 4px solid rgba(255, 255, 255, 0.2);
  z-index: 10;
  width: 140px !important;
  height: 140px !important;
}

.vr-seasonal-circle span {
  font-size: 0.65rem !important;
}

.vr-seasonal-circle h3 {
  font-size: 1.2rem !important;
}

.vr-seasonal-circle svg {
  width: 40px !important;
  height: 30px !important;
}

@media (min-width: 992px) {
  .vr-seasonal-golf {
    clip-path: polygon(0 0, 100% 0, calc(100% - 60px) 100%, 0 100%);
    z-index: 2;
  }

  .vr-seasonal-ski {
    margin-left: -60px;
    padding-left: calc(3rem + 60px) !important;
    z-index: 1;
  }
}

@media (max-width: 991px) {
  .vr-seasonal-side {
    min-height: 300px !important;
  }
}

/* Rooms & Suites */
.vr-room-card {
  transition: transform 0.3s ease;
  border: 1px solid transparent !important;
}

.vr-room-card:hover {
  border-color: var(--vr-maroon) !important;
}

/* Hero Booking Widget Refinements */
.vr-hero-booking-widget {
  padding: 2.5rem !important;
  border-radius: 8px !important;
  margin-top: 0;
}

@media (max-width: 991px) {
  .vr-hero-booking-widget {
    margin-top: 30px;
  }
}

/* Features Ribbon Overlap */
.vr-features-wrapper {
  margin-top: -80px;
  /* Pull it up over the hero */
  position: relative;
  z-index: 10;
  padding: 0 15px;
}

.vr-features-ribbon-card {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  padding: 20px 30px;
}

.vr-ribbon-item i {
  color: var(--vr-maroon);
}

.vr-ribbon-item span {
  font-size: 0.85rem;
  line-height: 1.2;
}

/* Make sure hero section is tall enough and relative */
.hero-ban-sec {
  position: relative;
  padding-bottom: 80px;
  /* space for overlapping ribbon */
}

/* Static Hero Section */
.hero-static-sec {
  overflow: visible !important;
}

@media (min-width: 992px) {

  .hero-static-sec,
  .stays-hero-sec,
  .ts-hero,
  .dn-hero,
  .pkg-hero-sec {
    height: auto !important;
    min-height: 85vh !important;
    padding-top: 120px !important;
    padding-bottom: 120px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .about-hero-sec,
  .inner-page-banner,
  .golf-hero,
  .alba-hero-sec,
  .package-hero,
  .vr-hero,
  .act-hero-sec,
  .amenities-hero-sec,
  .cu-hero,
  .dp-hero-sec,
  .vr-hero-event,
  .op-hero,
  .pkgd-hero,
  .pools-hero,
  .bday-hero-sec,
  .hero-ban-sec {
    height: auto !important;
    min-height: 450px !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
    display: flex;
    align-items: center;
  }
}

@media (max-width: 991px) {

  .hero-static-sec,
  .stays-hero-sec,
  .ts-hero,
  .dn-hero,
  .pkg-hero-sec {
    height: auto !important;
    min-height: 85vh !important;
    padding-top: 140px !important;
    padding-bottom: 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

.hero-static-sec .hero-content {
  top: 0 !important;
  padding-bottom: 0 !important;
}

/* Force row layout for new ribbon */
.vr-features-ribbon-card .vr-ribbon-item.flex-row {
  flex-direction: row !important;
}

.vr-features-ribbon-card .vr-ribbon-item.flex-row i {
  margin-bottom: 0 !important;
  margin-right: 10px;
}

.vr-ribbon-item span {
  font-size: 0.75rem !important;
}

.vr-features-ribbon-card {
  padding: 30px 20px !important;
}

/* Force ribbon to horizontal scroll on smaller screens to prevent breaking */
.vr-ribbon-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 10px;
  /* space for scrollbar */
}

.vr-ribbon-scroll::-webkit-scrollbar {
  height: 6px;
}

.vr-ribbon-scroll::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.vr-ribbon-scroll::-webkit-scrollbar-thumb {
  background: var(--vr-maroon);
  border-radius: 4px;
}

.vr-ribbon-item {
  flex: 0 0 auto;
  /* Prevent shrinking */
}

/* removed margin-top to prevent overlap with booking widget */
.vr-features-ribbon-card {
  /* margin-top: -100px; overlap more elegantly */
}

/* Gift Cards & Wellness Packages Redesign */
.vr-gift-wellness-card {
  background: #FAF6F0 !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(44, 37, 32, 0.04) !important;
  display: flex;
  height: 100%;
}

.vr-card-left-content {
  flex: 1.25;
  /* Takes around 60% of the card width */
  padding: 2.5rem !important;
  /* Reverted to 2.5rem */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.vr-card-right-image {
  flex: 0.75;
  /* Takes around 40% of the card width */
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.vr-gift-wellness-card h3 {
  font-family: var(--vr-serif) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--vr-maroon) !important;
  letter-spacing: 0.5px;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.vr-gift-wellness-card p {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.9rem !important;
  color: #4a3e3d !important;
  line-height: 1.5;
  margin-bottom: 2rem;
  max-width: 100%;
}

/* Icons Row for Wellness Card */
.vr-wellness-icons-row {
  display: flex;
  margin-bottom: 2.5rem;
  margin-top: 1rem;
  z-index: 1;
  width: 100%;
  max-width: 440px;
  /* Constrains icons to the left side */
}

.vr-wellness-icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  padding: 0 8px;
}

.vr-wellness-icon-item:first-child {
  padding-left: 0;
}

.vr-wellness-icon-item:last-child {
  padding-right: 0;
}

.vr-wellness-icon-item svg {
  color: var(--vr-maroon);
}

.vr-wellness-icon-item span {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  font-weight: 600;
  color: #4a3e3d;
  margin-top: 0.6rem;
  line-height: 1.25;
}

.well-colm a {
  text-decoration: none;
}

/* Features Row for Gift Card */
.vr-gift-features-row {
  display: flex;
  margin-bottom: 2.5rem;
  margin-top: auto;
  /* Pushes features above the button */
  z-index: 1;
  width: 100%;
  max-width: 460px;
  /* Constrains features to the left side */
}

.vr-gift-feature-item {
  display: flex;
  gap: 0.6rem;
  align-items: start;
  text-align: left;
  flex: 1;
  padding: 0 10px;
}

.vr-gift-feature-item:first-child {
  padding-left: 0;
}

.vr-gift-feature-item:last-child {
  padding-right: 0;
}

.vr-gift-feature-item svg {
  color: var(--vr-maroon);
}

.vr-gift-feature-item .feature-title {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  font-weight: 700;
  color: #2c2520;
  display: block;
  line-height: 1.2;
}

.vr-gift-feature-item .feature-desc {
  font-family: var(--vr-sans);
  font-size: 0.72rem;
  color: #706259;
  display: block;
  margin-top: 3px;
  line-height: 1.2;
}

/* Stacking for tablet/mobile */
@media (max-width: 991px) {
  .vr-gift-wellness-card {
    flex-direction: column !important;
  }

  .vr-card-right-image {
    display: none !important;
    /* Hide image on tablet/mobile as before */
  }

  .vr-card-left-content {
    flex: 1;
    padding: 2rem !important;
  }
}

@media (max-width: 767px) {
  .vr-gift-features-row {
    flex-direction: column;
    gap: 1.25rem;
    max-width: 100%;
  }

  .vr-gift-feature-item {
    border-right: none;
    padding: 0;
  }

  .vr-wellness-icons-row {
    flex-wrap: wrap;
    gap: 1rem 0;
    max-width: 100%;
  }

  .vr-wellness-icon-item {
    flex: 0 0 50%;
    /* 2x2 grid layout on phone screens */
    border-right: none;
    padding: 10px 0;
  }
}

/* Images */
.vr-gift-card-img {
  width: 90%;
  height: auto;
  object-fit: contain;
  z-index: 1;
}

.vr-wellness-towels-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 12px 12px 0;
  z-index: 1;
}

.vr-gift-wellness-card .btn-maroon-solid {
  background-color: var(--vr-maroon) !important;
  color: #fff !important;
  border: none !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  padding: 10px 24px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
  text-transform: uppercase;
}

.vr-gift-wellness-card .btn-maroon-solid:hover {
  background-color: var(--vr-maroon-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(108, 1, 29, 0.2);
}

/* Trust Banner Styles */
.vr-trust-banner {
  background: #fbfbfb;
  padding: 2rem 0;
  border-top: 1px solid #f0ebe3;
  position: relative;
}

.vr-trust-item {
  display: flex;
  align-items: start;
  justify-content: center;
  gap: 15px;
}

.vr-trust-icon {
  color: #c5a86d;
  /* Gold color */
  display: flex;
  align-items: center;
  justify-content: center;
}

.vr-trust-icon svg {
  width: 38px;
  height: 38px;
}

.vr-trust-text h6 {
  color: #2c2c2c;
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 800;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.vr-trust-text p {
  color: #6c757d;
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .vr-trust-item {
    margin-bottom: 1.5rem;
    justify-content: flex-start;
  }

  .vr-trust-item:last-child {
    margin-bottom: 0;
  }
}



/* ── Start Vipul ── */

/* Pool Chair & Lounge Rentals */
#chair-rental-booking {
  margin-top: 4rem;
}

#chair-rental-booking h2 {
  font-family: var(--vr-sans);
  font-weight: 700;
  color: #081018;
  letter-spacing: -0.5px;
}

.cabana-cta-card-flex {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.rental-card-body {
  padding: 1.5rem;
  flex-grow: 1;
}

.rental-card-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 1rem;
}

.rental-card-title {
  font-family: var(--vr-sans);
  font-size: 22px;
  font-weight: 600;
  color: #081018;
  margin: 0;
}

.rental-price-badge {
  background-color: #aa998a;
  color: #fff;
  font-size: 14px;
  padding: 6px 12px;
  border-radius: 4px;
}

.rental-desc {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 20px;
}

.available-dates-wrap span.dates-label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #aa998a;
  display: block;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.rental-date-badge {
  font-size: 12px;
  padding: 5px 10px;
  font-weight: 500;
  border-radius: 4px;
}

.rental-footer {
  padding: 1.5rem;
  border-top: 1px solid #dee2e6;
  text-align: right;
  background-color: #fcfbfa;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

.rental-footer .btn-pool-primary {
  display: inline-block;
  padding: 10px 24px;
  font-size: 14px;
}


.pools-hero {
  position: relative;
  height: 420px;

  display: flex;
  align-items: flex-end;
  padding-bottom: 3rem;
}

.pools-hero .hero-label {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--vr-gold);
  margin-bottom: 0.5rem;
}

.pools-hero h1 {
  font-family: var(--vr-serif);
  font-size: 3.5rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 1rem;
  line-height: 1.1;
}

.pools-hero p {
  font-family: var(--vr-sans);
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.85);
  max-width: 380px;
  line-height: 1.6;
}

/* Breadcrumb */
.pools-breadcrumb {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 1rem;
}

.pools-breadcrumb a {
  color: rgba(255, 255, 255, 0.65);
  text-decoration: none;
}

.pools-breadcrumb a:hover {
  color: #fff;
}

.pools-breadcrumb span {
  margin: 0 6px;
}

/* ── TABS ── */
.pools-tabs-bar {
  background: #fff;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: center;
  gap: 0;
}

.pools-tab-btn {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 18px 40px;
  font-family: var(--vr-sans);
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #555;
  cursor: pointer;
  transition: all 0.25s;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pools-tab-btn.active {
  color: var(--vr-maroon);
  border-bottom-color: var(--vr-maroon);
}

.pools-tab-btn:hover {
  color: var(--vr-maroon);
}

/* ── POOL DETAIL CARDS ── */
.pools-detail-section {
  background: #fff;
  padding: 3rem 0;
}

.pool-detail-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 2.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.pool-detail-card .pool-card-inner {
  display: flex;
  flex-direction: row;
}

.pool-card-img-col {
  flex: 0 0 400px;
  max-width: 400px;
  display: flex;
}

.pool-card-img-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.pool-card-info-col {
  flex: 1;
  padding: 2rem 2.5rem;
  display: flex;
  flex-direction: column;
}

/* Pool title header */
.pool-title-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.pool-icon-badge {
  width: 52px;
  height: 52px;
  background: var(--vr-maroon);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25rem;
  flex-shrink: 0;
}

.pool-title-text h2 {
  font-family: var(--vr-serif);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--vr-maroon);
  margin: 0;
  line-height: 1.1;
}

.pool-title-text .pool-subtitle {
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  color: #706259;
  font-weight: 500;
  margin-top: 2px;
}

.pool-card-desc {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: #555;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* Info meta row */
.pool-meta-row {
  display: flex;
  gap: 2.5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #f0ebe6;
}

.pool-meta-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.pool-meta-item i {
  color: var(--vr-maroon);
  font-size: 1.1rem;
  margin-top: 2px;
}

.pool-meta-label {
  font-family: var(--vr-sans);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #888;
  display: block;
}

.pool-meta-value {
  font-family: var(--vr-sans);
  font-size: 0.88rem;
  font-weight: 600;
  color: #2c2520;
  display: block;
  margin-top: 2px;
}

/* Amenities */
.pool-amenities-label {
  font-family: var(--vr-sans);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--vr-maroon);
  margin-bottom: 1rem;
}

.pool-amenities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 1.25rem 1rem;
  margin-bottom: 1.75rem;
}

.pool-amenity-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.pool-amenity-item i {
  color: var(--vr-maroon);
  font-size: 1.3rem;
  margin-bottom: 0.4rem;
}

.pool-amenity-item span {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 600;
  color: #555;
  line-height: 1.3;
  white-space: normal;
}

/* Action Row */
.pool-action-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  background: #FAF6F0;
  gap: 1rem;
  border-top: 1px solid #f0ebe6;
}

.pool-action-note {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--vr-sans);
  font-size: 0.78rem;
  color: #706259;
  line-height: 1.4;
}

.pool-action-note i {
  color: var(--vr-maroon);
  margin-top: 2px;
  flex-shrink: 0;
}

.pool-action-btns {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* Buttons */
.btn-pool-primary {
  background: var(--vr-maroon);
  color: #fff;
  border: none;
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 10px 22px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.25s;
  text-decoration: none;
  display: inline-block;
  white-space: nowrap;
}

.btn-pool-primary:hover {
  background: var(--vr-maroon-dark);
  color: #fff;
}

.btn-pool-outline {
  background: transparent;
  color: var(--vr-maroon);
  border: 1.5px solid var(--vr-maroon);
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 10px 22px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.25s;
  text-decoration: none;
  display: inline-block;
  white-space: nowrap;
}

.btn-pool-outline:hover {
  background: var(--vr-maroon);
  color: #fff;
}

/* ── POOL SAFETY SECTION ── */
.pools-safety-sec {
  background: transparent;
  padding: 2rem 0;
}

.pools-safety-wrapper {
  background: var(--vr-maroon);
  border-radius: 12px;
  padding: 2.5rem;
}

.pools-safety-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  gap: 1rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.pools-safety-header h3 {
  font-family: var(--vr-serif);
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
}

.pools-safety-header p {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.75);
  margin: 0.4rem 0 0;
}

.pools-safety-rules {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.safety-rule-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.5rem;
  padding: 0 1rem;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}

.safety-rule-item:last-child {
  border-right: none;
}

.safety-rule-icon {
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.6rem;
  margin-bottom: 0.25rem;
}

.safety-rule-item p {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.4;
  margin: 0;
}

.btn-pool-rules {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.5);
  font-family: var(--vr-sans);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 10px 22px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.25s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.btn-pool-rules:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.pools-safety-header .btn-pool-rules {
  background: #fff;
  color: var(--vr-maroon);
  border: none;
}

.pools-safety-header .btn-pool-rules:hover {
  background: rgba(255, 255, 255, 0.9);
  color: var(--vr-maroon);
}

/* ── RULES GRID ── */
.pool-rules-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.5rem;
  margin-top: 2.5rem;
  margin-bottom: 4rem;
}

.pool-rule-card {
  background: #fff;
  border: 1px solid #f0ebe6;
  border-radius: 12px;
  padding: 2rem;
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.pool-rule-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  border-color: #eee;
}

.pool-rule-icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: var(--vr-cream);
  color: var(--vr-maroon);
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pool-rule-content h5 {
  font-family: var(--vr-serif);
  font-size: 1.2rem;
  font-weight: 700;
  color: #2c2520;
  margin-bottom: 0.5rem;
}

.pool-rule-content p {
  font-family: var(--vr-sans);
  font-size: 0.88rem;
  color: #555;
  line-height: 1.5;
  margin: 0;
}

/* ── CABANA CTA ── */
.pools-cabana-sec {
  padding: 3.5rem 0;
  background: var(--vr-cream);
}

.cabana-cta-card {
  background: #fff !important;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: row;
}

.cabana-cta-left {
  flex: 0 0 300px;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid #f0ebe6;
  background: #fff !important;
}

.cabana-cta-left .cta-icon {
  width: 52px;
  height: 52px;
  background: var(--vr-cream);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vr-maroon);
  font-size: 1.3rem;
  margin-bottom: 1.5rem;
}

.cabana-cta-left h3 {
  font-family: var(--vr-serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--vr-maroon);
  margin-bottom: 0.75rem;
}

.cabana-cta-left p {
  font-family: var(--vr-sans);
  font-size: 0.88rem;
  color: #555;
  line-height: 1.6;
  margin-bottom: 1.75rem;
}

.cabana-cta-mid {
  flex: 1;
  position: relative;
  min-height: 280px;
}

.cabana-cta-mid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cabana-cta-right {
  flex: 0 0 260px;
  padding: 2.5rem;
  background: #fff !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cabana-cta-right h4 {
  font-family: var(--vr-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: #2c2520;
  margin-bottom: 1.25rem;
}

.cabana-includes-list {
  list-style: none;
  padding: 0;
  margin-bottom: 1.75rem;
}

.cabana-includes-list li {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #444;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.6rem;
}

.cabana-includes-list li i {
  color: var(--vr-maroon);
  font-size: 0.85rem;
}

/* ── TAB CONTENT TOGGLE ── */
.tab-content-area {
  display: none;
}

.tab-content-area.active {
  display: block;
}

/* Pool Rules Tab */
.pool-rules-section {
  padding: 3rem 0;
  background: #fff;
}

.pool-rules-section h2 {
  font-family: var(--vr-serif);
  color: var(--vr-maroon);
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.pool-rules-section p.pool-rules-subtitle {
  font-family: var(--vr-sans);
  color: #706259;
  max-width: 550px;
}

.pool-rules-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
}

.pool-rule-card {
  background: var(--vr-cream);
  border-radius: 10px;
  padding: 1.75rem;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.pool-rule-card i {
  color: var(--vr-maroon);
  font-size: 1.5rem;
  flex-shrink: 0;
  margin-top: 2px;
}

.pool-rule-card h5 {
  font-family: var(--vr-sans);
  font-size: 0.88rem;
  font-weight: 700;
  color: #2c2520;
  margin-bottom: 0.35rem;
}

.pool-rule-card p {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #706259;
  line-height: 1.5;
  margin: 0;
}

/* Responsive */
@media (max-width: 991px) {
  .pool-detail-card .pool-card-inner {
    flex-direction: column;
  }

  .pool-card-img-col {
    max-width: 100%;
    flex: none;
  }

  .pool-card-img-col img {
    min-height: 220px;
    aspect-ratio: 16/9;
  }

  .pool-amenity-item {
    flex: 0 0 calc(100% / 3);
  }

  .pools-safety-rules {
    flex-wrap: wrap;
  }

  .safety-rule-item {
    flex: 0 0 50%;
    border-right: none;
    margin-bottom: 1.5rem;
  }

  .cabana-cta-card {
    flex-direction: column;
  }

  .cabana-cta-left,
  .cabana-cta-right {
    flex: none;
    border-right: none;
    border-bottom: 1px solid #f0ebe6;
  }

  .cabana-cta-mid {
    min-height: 200px;
  }

  .pool-rules-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pools-hero h1 {
    font-size: 2.5rem;
  }
}

@media (max-width: 576px) {
  .pool-meta-row {
    flex-direction: column;
    gap: 1rem;
  }

  .pool-action-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .pool-action-note {
    max-width: 100%;
  }

  .safety-rule-item {
    flex: 0 0 100%;
  }

  .pool-rules-grid {
    grid-template-columns: 1fr;
  }

  .pools-tab-btn {
    padding: 14px 18px;
    font-size: 0.8rem;
  }
}


/* ── ADVENTURE & FUN STYLES ── */
.vr-adventure-hero {
  background: linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%), var(--hero-image) center/cover no-repeat;
  min-height: 75vh;
  display: flex;
  align-items: center;
}

.vr-adventure-hero .vr-hero-left {
  max-width: 600px;
}

.vr-adventure-hero .vr-hero-left h1 {
  color: #fff;
  font-family: var(--vr-serif);
}

.vr-adventure-hero .vr-hero-left h5 {
  color: #dcb36b;
}

.vr-adventure-hero .vr-hero-left p {
  font-size: 0.95rem;
  line-height: 1.6;
  max-width: 500px;
}

.vr-adventure-hero .vr-hero-left .btn-new {
  letter-spacing: 1px;
  font-size: 0.8rem;
}

.vr-adventure-hero .vr-hero-right {
  max-width: 400px;
  width: 100%;
}

.vr-adventure-hero .vr-hero-right .plan-box {
  background-color: rgba(36, 52, 28, 0.9);
  border-radius: 4px;
}

.vr-adventure-hero .vr-hero-right .plan-box h5 {
  font-family: var(--vr-serif);
  letter-spacing: 0.5px;
}

.vr-adventure-hero .vr-hero-right .plan-box i {
  color: #ffffff;
  width: 30px;
  text-align: center;
}

.vr-adventure-hero .vr-hero-right .plan-box span {
  line-height: 1.4;
}

.vr-outdoor-activities {
  background-color: #fbf9f4;
}

.vr-outdoor-activities .title-diamond-line {
  height: 1px;
  width: 60px;
  background-color: #dcb36b;
  position: relative;
}

.vr-outdoor-activities .title-diamond-line i.fa-diamond {
  color: #dcb36b;
  font-size: 8px;
  top: -3.5px;
}

.vr-outdoor-activities .title-diamond-line-left i.fa-diamond {
  left: -4px;
}

.vr-outdoor-activities .title-diamond-line-right i.fa-diamond {
  right: -4px;
}

.vr-outdoor-activities h3 {
  font-family: var(--vr-serif);
  color: var(--vr-maroon);
  letter-spacing: 2px;
}

.vr-outdoor-activities .card {
  border-radius: 8px;
  overflow: hidden;
}

.vr-outdoor-activities .card .card-img-top {
  height: 130px;
  object-fit: cover;
}

.vr-outdoor-activities .card .position-relative .rounded-circle {
  width: 44px;
  height: 44px;
  bottom: -22px;
  left: 15px;
  background-color: var(--theme-color);
  border: 3px solid #fff;
}

.vr-outdoor-activities .card .card-body h6 {
  color: var(--theme-color);
  font-family: var(--vr-serif);
  font-size: 0.9rem;
}

.vr-outdoor-activities .card .card-body p {
  line-height: 1.4;
}

.vr-outdoor-activities .card .card-body .pricing-badge {
  font-size: 0.65rem;
  letter-spacing: 0.5px;
}

.vr-outdoor-activities .card .card-body .pricing-badge i {
  color: var(--theme-color);
  font-size: 6px;
}

.vr-outdoor-activities .sidebar-box {
  top: 100px;
  background-color: #f6f3e6;
  border: 1px solid rgba(0, 0, 0, 0.03);
}

.vr-outdoor-activities .sidebar-box h6 {
  color: #4a5c40;
  letter-spacing: 1px;
}

.vr-outdoor-activities .sidebar-box li i {
  color: #7b8e71;
}

.vr-outdoor-activities .sidebar-box li span.title-span {
  line-height: 1.2;
}

.vr-outdoor-activities .sidebar-box li span.desc-span {
  line-height: 1.3;
}

.vr-outdoor-activities .sidebar-box .promo-box {
  background-color: #3b5030;
}

.vr-outdoor-activities .sidebar-box .promo-box h6 {
  letter-spacing: 0.5px;
  line-height: 1.2;
}

.vr-outdoor-activities .sidebar-box .promo-box p {
  font-size: 0.8rem;
  line-height: 1.5;
  opacity: 0.9;
}

.vr-outdoor-activities .sidebar-box .promo-box a {
  font-size: 0.75rem;
  letter-spacing: 1px;
}

.vr-adventure-banner {
  background-color: #fbf9f4;
}

.vr-adventure-banner .banner-container {
  background-color: #f6f3e6;
  border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, 0.03);
}

.vr-adventure-banner .banner-left {
  flex: 1.2;
  background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6)), var(--banner-image) center/cover;
  border-radius: 6px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  min-height: 150px;
}

.vr-adventure-banner .banner-left h5 {
  font-family: var(--vr-serif);
  color: #fff;
  letter-spacing: 0.5px;
}

.vr-adventure-banner .banner-left p {
  font-size: 0.75rem;
  line-height: 1.5;
  max-width: 320px;
  opacity: 0.9;
}

.vr-adventure-banner .banner-mid {
  border-right: 1px solid rgba(0, 0, 0, 0.06);
  flex: 1.5;
  overflow: hidden;
}

.vr-adventure-banner .banner-mid i {
  color: #4a5c40;
}

.vr-adventure-banner .banner-mid p {
  font-size: 0.65rem;
}

.vr-adventure-banner .banner-right {
  flex: 1;
}

.vr-adventure-banner .banner-right a {
  background-color: var(--vr-maroon);
  color: white;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
}


/* ── ACTIVITIES PAGE STYLES ── */
.act-hero-sec {
  background-image: var(--bg-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.act-card-icon {
  background: var(--theme-color) !important;
}

.act-card-title {
  color: #1a1a1a !important;
}

.act-check-list li i {
  color: var(--theme-color) !important;
}



.act-featured-section {
  background: #fff;
}

.act-guides-section {
  background: #fdfdfd;
}

.pkg-help-sec {
  background: #1f2732;
  padding: 4rem 0;
  color: #fff;
  text-align: center;
}

.pkg-help-sec .pkg-help-title {
  font-family: var(--vr-sans);
  font-size: 2rem;
  margin-bottom: 1rem;
}

.pkg-help-sec .pkg-help-desc {
  font-family: var(--vr-sans);
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 2rem;
}

.pkg-help-sec .pkg-btn-solid {
  padding: 0.8rem 2.5rem;
  background: #6c011d;
}

.pkg-help-sec .pkg-btn-outline {
  padding: 0.8rem 2.5rem;
  border-color: rgba(255, 255, 255, 0.4);
}

/* ── SPORTS COMPLEX PAGE STYLES ── */
.vr-sports-hero {
  min-height: 75vh;
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-top: -101px;
}

.vr-sports-hero-overlay {
  background: linear-gradient(to right, rgba(10, 10, 10, 0.95) 0%, rgba(10, 10, 10, 0.7) 40%, rgba(10, 10, 10, 0.1) 100%);
}

.vr-sports-hero-container {
  margin-top: 50px;
}

.vr-sports-hero-title {
  color: #fff;
  font-family: var(--vr-serif);
  letter-spacing: 0.5px;
}

.vr-sports-hero-subtitle {
  color: #dcb36b;
  font-family: var(--vr-serif);
}

.vr-sports-hero-desc {
  font-size: 0.95rem;
  line-height: 1.6;
  max-width: 450px;
}

.vr-sports-btn-solid {
  background-color: #5a1123;
  border: 1px solid #5a1123;
  font-size: 0.8rem;
  letter-spacing: 0.5px;
  transition: background-color 0.3s ease;
}

.vr-sports-btn-solid:hover {
  background-color: #6d152c;
  border-color: #6d152c;
  color: #fff;
}

.vr-sports-btn-outline {
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 0.8rem;
  letter-spacing: 0.5px;
  transition: background-color 0.3s ease;
}

.vr-sports-btn-outline:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.vr-sports-nav-btn {
  width: 40px;
  height: 40px;
  background-color: #111;
  border: none;
  opacity: 0.8;
  transition: opacity 0.2s ease;
}

.vr-sports-nav-btn:hover {
  opacity: 1;
}

.vr-sports-section {
  background-color: #faf8f5;
}

.vr-sports-title-line {
  height: 1px;
  width: 50px;
  background-color: #dcb36b;
}

.vr-sports-section-title {
  color: #5a1123;
  letter-spacing: 1px;
  font-family: var(--vr-sans);
}

.vr-sports-card {
  background-color: #fff;
}

.vr-sports-card-img {
  height: 140px;
}

.vr-sports-card-icon-container {
  width: 35px;
  height: 35px;
  background-color: var(--theme-color, #5a1123);
  bottom: -17px;
  left: 15px;
  border: 2px solid #fff;
}

.vr-sports-card-icon {
  font-size: 0.8rem;
}

.vr-sports-card-title {
  color: #5a1123;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
}

.vr-sports-card-desc {
  font-size: 0.75rem;
  line-height: 1.3;
}

.vr-sports-border {
  border-color: rgba(0, 0, 0, 0.06) !important;
}

.vr-sports-gold-icon {
  color: #dcb36b;
}

.vr-sports-perk-title {
  font-size: 0.8rem;
}

.vr-sports-perk-desc {
  font-size: 0.8rem;
}

.vr-sports-info-card {
  background-color: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
}

.vr-sports-maroon-color {
  color: #5a1123;
}

.vr-sports-card-sec-title {
  color: #5a1123;
  letter-spacing: 0.5px;
  font-size: 0.9rem;
}

.vr-sports-info-text {
  font-size: 0.9rem;
}

.vr-sports-hours-desc {
  font-size: 0.8rem;
  line-height: 1.4;
  position: relative;
  z-index: 1;
}

.vr-sports-watermark-icon {
  font-size: 8rem;
  color: #f5eedc;
  bottom: -20px;
  right: -20px;
  z-index: 0;
  opacity: 0.5;
}

.vr-sports-check-icon {
  color: #6d152c;
  font-size: 0.75rem;
}

.vr-sports-info-point {
  font-size: 0.8rem;
}

.vr-sports-promo-card {
  background-color: #4a101b;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.vr-sports-promo-bg {
  background: var(--promo-image) right center/cover no-repeat;
  opacity: 0.4;
}

.vr-sports-promo-gradient {
  background: linear-gradient(to right, #4a101b 50%, transparent 100%);
}

.vr-sports-promo-title {
  color: #dcb36b;
  font-family: var(--vr-serif);
}

.vr-sports-promo-desc {
  font-size: 0.85rem;
  max-width: 100%;
}

.vr-sports-promo-btn-solid {
  background-color: #b98729;
  font-size: 0.7rem;
  letter-spacing: 0.5px;
  border: 1px solid #b98729;
}

.vr-sports-promo-btn-outline {
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 0.7rem;
  letter-spacing: 0.5px;
}

.vr-sports-help-title {
  font-size: 0.9rem;
}

.vr-sports-help-desc {
  font-size: 0.8rem;
}

.vr-sports-help-perk-text {
  font-size: 0.75rem;
  line-height: 1.2;
}

/* ── PRIVATE CABANA PAGE ── */
.cursor-pointer {
  cursor: pointer !important;
}

.transition-all {
  transition: all 0.3s ease-in-out !important;
}

.hover-border {
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
}

.hover-border:hover {
  border-color: #dcb36b !important;
  box-shadow: 0 4px 15px rgba(220, 179, 107, 0.15) !important;
}

@media (min-width: 768px) {
  .border-end-md {
    border-right: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-bottom: none !important;
  }
}

@media (max-width: 767px) {
  .border-end-md {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
  }
}

.feature-border {
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
}

@media (max-width: 1199px) {
  .feature-border {
    border-right: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1rem !important;
  }
}

/* ── PRIVATE CABANA CUSTOM STYLES ── */
.cabana-hero {
  min-height: 75vh;
  background: url('../images/private-cabana-hero.webp') center/cover no-repeat;
  margin-top: -101px;
  padding-top: 130px;
}

.cabana-hero-overlay-right {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.2) 100%) !important;
}

.cabana-hero-overlay-bottom {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, transparent 40%, rgba(0, 0, 0, 0.8) 100%) !important;
}
 .cabana-serif
{
    font-size:50px !important;
    text-transform:uppercase !important;
}
 .cabana-serif-1
{
    font-size:20px !important;
    text-transform:uppercase !important;
}
.cabana-badge {
  border-color: rgba(255, 255, 255, 0.3) !important;
}

.cabana-badge-text {
  font-size: 0.7rem;
  letter-spacing: 1px;
}

.cabana-serif {
  font-family: var(--vr-serif) !important;
}

.cabana-sans {
  font-family: var(--vr-sans) !important;
}

.cabana-hero-desc {
  font-size: 1.1rem;
  max-width: 600px;
  line-height: 1.6;
}

.cabana-gold-icon {
  font-size: 1.5rem;
  color: #dcb36b !important;
}

.cabana-icon-label {
  font-size: 0.8rem;
  letter-spacing: 0.5px;
}

.cabana-border-light-white {
  border-color: rgba(255, 255, 255, 0.2) !important;
}

.cabana-bg-soft {
  background-color: #faf8f5 !important;
}

.cabana-step-number {
  width: 28px;
  height: 28px;
  font-size: 0.9rem;
}

.cabana-letter-spacing {
  letter-spacing: 1px !important;
}

.cabana-card-selected {
  border-color: #5a1123 !important;
  background-color: rgba(90, 17, 35, 0.02) !important;
}

.cabana-card-selected-circle {
  width: 20px;
  height: 20px;
  background-color: #5a1123 !important;
}

.cabana-card-unselected-circle {
  width: 20px;
  height: 20px;
  border-color: rgba(0, 0, 0, 0.2) !important;
}

.cabana-card-icon {
  font-size: 2.5rem;
  color: #dcb36b !important;
}

.cabana-text-maroon {
  color: #5a1123 !important;
}

.cabana-bg-maroon {
  background-color: #5a1123 !important;
}

.cabana-border-maroon {
  border-color: #5a1123 !important;
}

.cabana-btn-primary-custom {
  background-color: #5a1123 !important;
  border-color: #5a1123 !important;
  letter-spacing: 0.5px;
  font-size: 0.9rem;
}

.cabana-btn-primary-custom:hover {
  background-color: #440d1a !important;
  border-color: #440d1a !important;
}

.cabana-font-sm {
  font-size: 0.75rem !important;
}

.cabana-font-xs {
  font-size: 0.7rem !important;
}

.cabana-font-xxs {
  font-size: 0.65rem !important;
}

.cabana-border-soft {
  border-color: rgba(0, 0, 0, 0.05) !important;
}

/* Additional Cabana Refactoring Classes */
.cabana-font-lg {
  font-size: 1.1rem !important;
}

.cabana-font-md {
  font-size: 0.9rem !important;
}

.cabana-font-md-2 {
  font-size: 0.85rem !important;
}

.cabana-font-sm-2 {
  font-size: 0.8rem !important;
}

.cabana-font-xxs-2 {
  font-size: 0.6rem !important;
  line-height: 1.2 !important;
}

.cabana-font-icon-check {
  font-size: 0.6rem !important;
}

.cabana-font-icon-check-sm {
  font-size: 0.45rem !important;
}

.cabana-gold-text {
  color: #dcb36b !important;
}

.cabana-green-text {
  color: #6bb076 !important;
}

.cabana-tab-btn-unselected:hover {
  background-color: #f8f9fa !important;
}

.cabana-image-height-sm {
  height: 120px !important;
}

.cabana-w-max {
  width: max-content !important;
}

.cabana-border-soft-2 {
  border-color: rgba(0, 0, 0, 0.1) !important;
}

.cabana-btn-minus:hover,
.cabana-btn-plus:hover {
  color: #000 !important;
}

.cabana-sidebar-offset {
  margin-top: -200px;
  z-index: 10;
}

.cabana-sidebar-sticky {
  top: 101px;
  padding-bottom: 100px;
}

.cabana-btn-edit {
  width: 26px;
  height: 26px;
  background-color: #fff;
  transition: 0.2s;
}

.cabana-btn-edit:hover {
  background-color: #5a1123 !important;
  color: #fff !important;
}

.cabana-step-number-sm {
  width: 24px;
  height: 24px;
  font-size: 0.8rem;
}

.cabana-tip-card {
  border-color: rgba(0, 0, 0, 0.1) !important;
}

.cabana-tip-card:hover {
  border-color: #dcb36b !important;
}

.cabana-tip-selected {
  border-color: #5a1123 !important;
  background-color: rgba(90, 17, 35, 0.02) !important;
}

.cabana-tip-check-circle {
  width: 14px;
  height: 14px;
  background-color: #5a1123;
  border: 2px solid #fff;
}

.cabana-alert-gold {
  background-color: rgba(220, 179, 107, 0.1) !important;
}

.cabana-link-inherit {
  color: inherit !important;
  text-decoration: underline !important;
}

.cabana-feature-icon {
  font-size: 2.2rem !important;
  color: #dcb36b !important;
  opacity: 0.9 !important;
}

/* ==================== MEETINGS & CONVENTIONS ==================== */
.hero-static-sec {
  min-height: 600px;
  padding: 80px 0;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
}

/* .meetings-hero-bg {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
} */
.hero-static-overlay {
  background: rgba(0, 0, 0, 0.65);
}

.meetings-hero-title {
  font-family: var(--vr-serif);
  font-size: 4.5rem;
  letter-spacing: 0.5px;
  text-shadow: 0 3px 15px rgba(0, 0, 0, 0.4);
  line-height: 1.2;
}

.meetings-hero-subtitle {
  font-size: 1.5rem;
  letter-spacing: 0.5px;
  color: #dcb36b;
}

.meetings-hero-divider {
  width: 60px;
  height: 2px;
  background-color: #dcb36b;
}

.meetings-hero-desc {
  font-size: 1.1rem;
  line-height: 1.6;
  opacity: 0.9;
  max-width: 650px;
  font-weight: 400;
}

.meetings-btn-primary {
  background-color: #6d152c;
  font-size: 0.85rem;
  letter-spacing: 1px;
}

.meetings-btn-primary:hover {
  background-color: #5a1123 !important;
  color: #fff !important;
}

.meetings-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: transparent;
  font-size: 0.85rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.meetings-btn-outline:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
}

@media (max-width: 991.98px) {
  .hero-static-sec {
    min-height: auto;
    text-align: center;
    padding: 120px 0 80px 0;
  }

  .meetings-hero-title {
    font-size: 3rem !important;
  }

  .hero-static-sec .d-flex {
    justify-content: center;
    flex-direction: column;
  }

  .meetings-hero-divider {
    margin: 0 auto 1.5rem auto !important;
  }
}

.z-index-2 {
  z-index: 2 !important;
}

/* Highlights Bar */
.meetings-highlights-sec {
  margin-top: -60px;
  margin-bottom: 60px;
}

.meetings-highlights-box {
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1) !important;
}

.meetings-high-col {
  border-right: 1px solid #eee;
}

@media (max-width: 767.98px) {
  .meetings-high-col {
    border-right: none;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
  }
}

.meetings-high-icon {
  font-size: 1.8rem;
  color: #6d152c;
}

.meetings-high-title {
  font-size: 0.85rem;
}

.meetings-high-desc {
  font-size: 0.7rem;
  line-height: 1.4;
  max-width: 150px;
}

/* Sections */
.meetings-section-bg {
  background-color: #fbf9f4;
}

.meetings-sec-title {
  font-family: var(--vr-serif);
  color: #6d152c;
  letter-spacing: 1px;
}

.meetings-sec-subtitle {
  font-size: 1rem;
}

.meetings-divider-line {
  height: 1px;
  width: 40px;
  background-color: #6d152c;
}

.meetings-divider-diamond {
  width: 8px;
  height: 8px;
  border: 1px solid #6d152c;
  transform: rotate(45deg);
}

.meetings-btn-link {
  border: 1px solid #6d152c;
  color: #6d152c;
  font-size: 0.8rem;
  letter-spacing: 1px;
  padding: 10px 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition: 0.3s;
}

.meetings-btn-link:hover {
  background-color: #6d152c !important;
  color: #fff !important;
}

/* Venue Space Card */
.meetings-venue-card {
  border: 1px solid #f0f0f0 !important;
}

/* Venue Space Card Hover Effects */
.card.h-100 {
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.3s ease;
}

.card.h-100:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(109, 21, 44, 0.08) !important;
}

.meetings-venue-img {
  height: 160px;
}

.meetings-venue-title {
  color: #6d152c;
  font-size: 0.95rem;
  font-family: var(--vr-serif);
  letter-spacing: 0.5px;
}

.meetings-venue-meta {
  font-size: 0.7rem;
  font-weight: 600;
}

.meetings-gold-icon {
  color: #dcb36b;
}

.meetings-meta-divider {
  color: #ddd;
}

.meetings-venue-desc {
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 500;
}

.meetings-venue-btn {
  border: 1px solid #e0ba8d;
  color: #6d152c;
  font-size: 0.75rem;
  letter-spacing: 1px;
  transition: 0.3s;
  background-color: #fdfdf9;
}

.meetings-venue-btn:hover {
  background-color: #e0ba8d !important;
  color: #fff !important;
}

/* Promo section */
.meetings-promo-row {
  height: 350px;
}

@media (max-width: 767.98px) {
  .meetings-promo-row {
    height: auto;
  }
}

.meetings-promo-left {
  background-color: #212322;
}

.meetings-promo-title {
  font-family: var(--vr-serif);
  font-size: 1.1rem;
  letter-spacing: 0.5px;
  color: #dcb36b !important;
}

.meetings-promo-list {
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 2;
}

.meetings-check-icon {
  color: #dcb36b;
}

.meetings-promo-img {
  object-position: center;
}

/* Planning Form */
.meetings-form-box {
  background-color: #4b0e1b;
}

.meetings-form-icon {
  color: #dcb36b;
}

.meetings-form-title {
  font-family: var(--vr-serif);
  color: #dcb36b !important;
  font-size: 1rem;
  letter-spacing: 0.5px;
}

.meetings-form-desc {
  font-size: 0.75rem;
  opacity: 0.9;
  line-height: 1.5;
}

.meetings-form-input {
  font-size: 0.8rem;
  border-radius: 4px;
}

.meetings-form-btn {
  background-color: #dcb36b;
  color: #4b0e1b;
  font-size: 0.8rem;
  letter-spacing: 1px;
  transition: 0.3s;
  border-radius: 4px;
}

.meetings-form-btn:hover {
  opacity: 0.9;
}

/* Why Choose */
.meetings-choose-icon {
  color: #6d152c;
}

.meetings-choose-title {
  font-size: 0.85rem;
  color: #333;
}

.meetings-choose-desc {
  font-size: 0.7rem;
  line-height: 1.5;
}

/* Contact Card */
.meetings-contact-card {
  min-height: 380px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.meetings-contact-overlay {
  background: rgba(253, 251, 247, 0.85);
}

.meetings-contact-title {
  font-family: var(--vr-serif);
  color: #6d152c;
  font-size: 1.25rem;
  line-height: 1.4;
}

.meetings-contact-subtitle {
  font-size: 0.85rem;
  font-weight: 500;
}

.meetings-contact-list {
  font-size: 0.85rem;
  line-height: 1.8;
  color: #333;
  font-weight: 500;
}

.meetings-contact-icon {
  color: #6d152c;
}

.meetings-contact-btn {
  background-color: #4b0e1b;
  font-size: 0.8rem;
  letter-spacing: 1px;
  padding: 12px;
  transition: 0.3s;
}

.meetings-contact-btn:hover {
  background-color: #6d152c !important;
  color: #fff !important;
}

/* Bottom Features Bar */
.meetings-bottom-bar {
  background-color: #fbf9f4;
}

.meetings-bottom-icon {
  color: #666;
}

.meetings-bottom-title {
  font-size: 0.75rem;
}

.meetings-bottom-desc {
  font-size: 0.7rem;
}

/* Plan Form Styling Custom overrides */
.form-select,
.form-control {
  border: 1px solid #ebdcd0 !important;
  transition: all 0.3s ease !important;
}

.form-select:focus,
.form-control:focus {
  border-color: #dcb36b !important;
  box-shadow: 0 0 0 0.25rem rgba(220, 179, 107, 0.15) !important;
}




/* Social Gathering Page Styles */

.social-hero-title {
  font-family: var(--vr-serif);
}

.social-hero-span {
  color: #d1a869;
}

.social-hero-desc {
  max-width: 600px;
}

.social-sec-title {
  font-family: var(--vr-serif);
}

.social-divider {
  width: 50px;
  height: 2px;
  background-color: #d1a869;
  margin: 0 auto;
}

.social-card {
  border: 1px solid #eaeaea !important;
}

.social-card-img {
  height: 150px;
  object-fit: cover;
}

.social-card-icon-wrap {
  width: 50px;
  height: 50px;
  margin-top: -40px;
  background-color: var(--vr-maroon);
  border: 3px solid #fff;
}

.social-card-title {
  font-size: 0.85rem;
}

.social-card-desc {
  font-size: 0.8rem;
}

.social-card-link {
  font-size: 0.8rem;
  text-decoration: none;
}

.social-why-icon {
  font-size: 2.5rem;
  color: #d1a869;
}

.social-why-title {
  font-size: 0.85rem;
}

.social-why-desc {
  font-size: 0.8rem;
}

.social-venue-card {
  border: 1px solid #eaeaea !important;
}

.social-venue-img {
  height: 180px;
  object-fit: cover;
}

.social-venue-title {
  font-size: 0.9rem;
}

.social-venue-desc {
  font-size: 0.8rem;
}

.social-venue-btn {
  font-size: 0.8rem;
  padding: 10px;
}

.social-cta-banner {
  background-color: var(--vr-maroon);
}

.social-cta-icon {
  color: #d1a869;
}

.social-cta-title {
  font-family: var(--vr-serif);
}

.social-cta-desc {
  font-size: 0.9rem;
}

.social-cta-btn {
  background-color: #d1a869;
}

/* Group Gathering Custom Styles */
.group-banner {
  min-height: 75vh;
  padding-top: 140px;
  padding-bottom: 80px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.group-banner-overlay {
  background: linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%);
}

.group-banner-title {
  font-family: var(--vr-serif);
  font-size: 4rem;
  letter-spacing: 0.5px;
  line-height: 1.1;
}

.group-banner-subtitle {
  font-size: 1.5rem;
  letter-spacing: 0.5px;
  color: #dcb36b;
}

.group-banner-desc {
  font-size: 0.95rem;
  line-height: 1.6;
  max-width: 600px;
}

.group-btn-primary {
  background-color: #6d152c;
  color: white;
  font-size: 0.85rem;
  letter-spacing: 1px;
  border: 1px solid #6d152c;
  transition: 0.3s;
}

.group-btn-primary:hover {
  background-color: #4b0e1b;
  border-color: #4b0e1b;
  color: white;
}

.group-btn-outline {
  background-color: transparent;
  border: 1px solid #dcb36b;
  color: white;
  font-size: 0.85rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.group-btn-outline:hover {
  background-color: #dcb36b;
  color: #1a2f20;
}

.group-highlights-sec {
  margin-top: -60px;
}

.group-highlights-box {
  border: 1px solid #f0f0f0;
}

.group-highlight-icon {
  color: #6d152c;
}

.group-highlight-title {
  color: #6d152c;
  font-size: 0.8rem;
  font-family: var(--vr-serif);
}

.group-highlight-desc {
  font-size: 0.7rem;
  line-height: 1.4;
}

.group-kinds-sec {
  background-color: #fcfcfc;
}

.group-kinds-title {
  font-family: var(--vr-serif);
  color: #6d152c;
  letter-spacing: 1px;
}

.group-kinds-divider-line {
  height: 1px;
  width: 40px;
  background-color: #6d152c;
}

.group-kinds-diamond {
  width: 8px;
  height: 8px;
  border: 1px solid #6d152c;
  transform: rotate(45deg);
}

.group-kinds-subtitle {
  font-size: 0.95rem;
}

.group-card {
  border: 1px solid #f0f0f0 !important;
}

.group-card-img {
  height: 150px;
}

.group-card-icon-wrap {
  bottom: -25px;
}

.group-card-icon-box {
  width: 50px;
  height: 50px;
  background-color: #4b0e1b;
  border: 3px solid #fff;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.group-card-title {
  color: #6d152c;
  font-size: 0.85rem;
  font-family: var(--vr-serif);
  letter-spacing: 0.5px;
}

.group-card-desc {
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 500;
}

.group-card-link {
  color: #6d152c;
  font-size: 0.75rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.group-card-link:hover {
  color: #dcb36b;
}

.group-why-row {
  background-color: #f8f6f0;
}

.group-why-title {
  font-family: var(--vr-serif);
  color: #6d152c;
  letter-spacing: 0.5px;
}

.group-why-list {
  font-size: 0.85rem;
  line-height: 1.8;
  color: #333;
  font-weight: 500;
}

.group-why-img {
  min-height: 250px;
  background-image: url('../images/about.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.group-form-box {
  background-color: #4b0e1b;
}

.group-form-icon {
  color: #dcb36b;
}

.group-form-title {
  font-family: var(--vr-serif);
  color: #dcb36b !important;
  font-size: 1.1rem;
  letter-spacing: 0.5px;
}

.group-form-desc {
  font-size: 0.8rem;
  opacity: 0.9;
  line-height: 1.5;
}

.group-form-label {
  font-size: 0.7rem;
  font-weight: 600;
}

.group-form-input {
  font-size: 0.85rem;
  border-radius: 4px;
}

.group-form-btn {
  background-color: #dcb36b;
  color: #4b0e1b;
  font-size: 0.8rem;
  letter-spacing: 1px;
  transition: 0.3s;
  border-radius: 4px;
}

.group-form-btn:hover {
  opacity: 0.9;
}

.group-experience-title {
  color: #6d152c;
  font-size: 0.8rem;
  font-family: var(--vr-serif);
}

.group-experience-desc {
  font-size: 0.75rem;
  line-height: 1.4;
}

.group-experience-link {
  color: #6d152c;
  font-size: 0.7rem;
  letter-spacing: 1px;
}

.group-contact-card {
  background-color: #f8f6f0;
}

.group-contact-title {
  font-family: var(--vr-serif);
  color: #6d152c;
  font-size: 1.15rem;
  line-height: 1.4;
}

.group-contact-subtitle {
  font-size: 0.85rem;
  font-weight: 500;
}

.group-contact-list {
  font-size: 0.85rem;
  line-height: 1.8;
  color: #333;
  font-weight: 500;
}

.group-contact-btn {
  background-color: #4b0e1b;
  font-size: 0.8rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.group-contact-btn:hover {
  background-color: #6d152c;
}

.group-features-sec {
  border-top: 1px solid #f0f0f0;
  background-color: #fff;
}

.group-features-text {
  font-size: 0.85rem;
  font-weight: 600;
  color: #333;
}



/* ============================================================
   Weddings Page Custom Styles
   ============================================================ */

/* Hero Section */
.wd-hero-sec {
  min-height: 75vh;
  padding-top: 100px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.wd-hero-overlay {
  background: linear-gradient(to right, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.85) 45%, rgba(255, 255, 255, 0.1) 100%);
}

.wd-floral-corner {
  width: 350px;
  opacity: 0.9;
}

.wd-floral-corner img {
  mask-image: linear-gradient(to top right, black, transparent);
  -webkit-mask-image: linear-gradient(to top right, black, transparent);
  mix-blend-mode: multiply;
  opacity: 0.3;
}

.wd-eyebrow-icon {
  color: #dcb36b;
  font-size: 0.8rem;
  transform: rotate(-45deg);
}

.wd-eyebrow-text {
  color: #dcb36b;
  letter-spacing: 2px;
  font-size: 0.75rem;
}

.wd-hero-title {
  color: #5a1123;
  font-family: var(--vr-serif);
  line-height: 1.1;
}

.wd-divider-line {
  height: 1px;
  width: 40px;
  background-color: #dcb36b;
}

.wd-divider-diamond {
  width: 8px;
  height: 8px;
  border: 1px solid #dcb36b;
  transform: rotate(45deg);
}

.wd-hero-desc {
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 90%;
}

.wd-btn-primary {
  background-color: #5a1123;
  border: 1px solid #5a1123;
  font-size: 0.8rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.wd-btn-primary:hover {
  background-color: #6d152c;
  border-color: #6d152c;
  color: #fff;
}

.wd-btn-outline {
  background-color: transparent;
  border: 1px solid #5a1123;
  color: #5a1123;
  font-size: 0.8rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.wd-btn-outline:hover {
  background-color: rgba(90, 17, 35, 0.05);
  color: #5a1123;
}

.wd-download-link {
  color: #5a1123;
  font-size: 0.8rem;
  letter-spacing: 0.5px;
}

.wd-download-link i {
  color: #dcb36b;
}

.wd-chevron-icon {
  font-size: 0.6rem;
}

/* Hero Form Card */
.wd-form-card {
  background-color: #ffffff;
}

.wd-form-title {
  color: #5a1123;
  font-family: var(--vr-serif);
}

.wd-form-input {
  border-color: rgba(0, 0, 0, 0.1);
  font-size: 0.85rem;
  padding: 12px 15px;
}

.wd-form-input:focus {
  border-color: rgba(90, 17, 35, 0.3);
  box-shadow: none;
}

.wd-form-cal-icon {
  right: 15px;
  top: 15px;
  font-size: 0.85rem;
}

.wd-form-submit {
  background-color: #5a1123;
  border: 1px solid #5a1123;
  font-size: 0.8rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.wd-form-submit:hover {
  background-color: #6d152c;
  border-color: #6d152c;
}

/* Clubhouse Venue Section */
.wd-venue-eyebrow-icon {
  color: #7d8b76;
  font-size: 0.8rem;
}

.wd-venue-eyebrow-text {
  color: #7d8b76;
  letter-spacing: 2px;
  font-size: 0.8rem;
}

.wd-venue-title {
  color: #5a1123;
  font-family: var(--vr-serif);
}

.wd-venue-desc {
  font-size: 0.95rem;
  line-height: 1.6;
}

.wd-venue-check-icon {
  color: #dcb36b;
}

.wd-venue-list-text {
  font-size: 0.95rem;
}

.wd-venue-rental-badge {
  border-color: rgba(90, 17, 35, 0.2) !important;
}

.wd-venue-rental-text {
  color: #5a1123;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
}

.wd-venue-img-grid {
  height: 530px;
}

/* Highlights Bar */
.wd-highlights-bar {
  border-color: rgba(0, 0, 0, 0.06) !important;
}

.wd-highlights-icon {
  color: #dcb36b;
}

.wd-highlights-stat {
  font-family: var(--vr-serif);
}

.wd-highlights-meta {
  font-size: 0.8rem;
}

/* Packages Section */
.wd-packages-sec {
  background-color: #faf8f5;
}

.wd-pkg-eyebrow-icon {
  color: #7d8b76;
  font-size: 0.8rem;
}

.wd-pkg-eyebrow-icon-flip {
  color: #7d8b76;
  font-size: 0.8rem;
  transform: scaleX(-1);
}

.wd-pkg-eyebrow-text {
  color: #7d8b76;
  letter-spacing: 2px;
  font-size: 0.8rem;
}

.wd-pkg-sec-title {
  color: #5a1123;
  font-family: var(--vr-serif);
}

.wd-pkg-card {
  background-color: #fff;
  transition: transform 0.3s;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.wd-pkg-card:hover {
  transform: translateY(-5px);
}

.wd-pkg-card-featured {
  background-color: #fff;
  transition: transform 0.3s;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  transform: scale(1.02);
  z-index: 1;
}

.wd-pkg-card-featured:hover {
  transform: scale(1.02) translateY(-5px);
}

.wd-pkg-card-img {
  height: 200px;
}

.wd-pkg-card-badge {
  font-size: 0.7rem;
  letter-spacing: 1px;
  z-index: 2;
  border-bottom-left-radius: 8px;
}

.wd-pkg-card-title {
  color: #5a1123;
  font-family: var(--vr-serif);
}

.wd-pkg-card-price {
  color: #dcb36b;
}

.wd-pkg-card-list {
  font-size: 0.85rem;
  color: #444;
}

.wd-pkg-card-bullet {
  color: #5a1123;
  font-size: 0.35rem;
}

.wd-pkg-btn-outline {
  color: #5a1123;
  border: 1px solid #5a1123;
  font-size: 0.8rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.wd-pkg-btn-outline:hover {
  background-color: #5a1123;
  color: #fff;
}

.wd-pkg-btn-solid {
  background-color: #5a1123;
  border: 1px solid #5a1123;
  font-size: 0.8rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.wd-pkg-btn-solid:hover {
  background-color: #6d152c;
  border-color: #6d152c;
}

.wd-compare-link {
  color: #5a1123;
  font-size: 0.85rem;
  letter-spacing: 1px;
}

.wd-compare-chevron {
  font-size: 0.7rem;
}

/* Complete Experience Section */
.wd-exp-eyebrow-icon {
  color: #7d8b76;
  font-size: 0.8rem;
}

.wd-exp-eyebrow-text {
  color: #7d8b76;
  letter-spacing: 2px;
  font-size: 0.8rem;
}

.wd-exp-sec-title {
  color: #5a1123;
  font-family: var(--vr-serif);
}

.wd-exp-item-img {
  height: 120px;
}

.wd-exp-icon-wrap {
  width: 40px;
  height: 40px;
  bottom: -20px;
}

.wd-exp-icon {
  color: #dcb36b;
}

.wd-exp-item-title {
  color: #5a1123;
  font-family: var(--vr-serif);
}

.wd-exp-item-desc {
  font-size: 0.8rem;
  max-width: 150px;
  line-height: 1.3;
}

/* Bottom CTA Section */
.wd-cta-box {
  background-color: #fdfaf6;
  border: 1px solid rgba(90, 17, 35, 0.05);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

.wd-cta-floral-left {
  mask-image: linear-gradient(to right, black, transparent);
  -webkit-mask-image: linear-gradient(to right, black, transparent);
  mix-blend-mode: multiply;
  opacity: 0.15;
  object-fit: cover;
  width: 300px;
}

.wd-cta-floral-right {
  mask-image: linear-gradient(to left, black, transparent);
  -webkit-mask-image: linear-gradient(to left, black, transparent);
  mix-blend-mode: multiply;
  opacity: 0.15;
  object-fit: cover;
  width: 300px;
}

.wd-brochure-mockup {
  width: 120px;
  height: 150px;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

.wd-brochure-title {
  color: #5a1123;
  font-size: 0.65rem;
  font-family: var(--vr-serif);
  line-height: 1.2;
}

.wd-brochure-divider {
  height: 1px;
  width: 30px;
  background-color: #dcb36b;
  margin: 8px auto;
}

.wd-brochure-label {
  font-size: 0.45rem;
}

.wd-brochure-shadow-1 {
  width: 100%;
  height: 100%;
  top: 4px;
  left: -6px;
  z-index: -1;
  border-radius: 4px;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

.wd-brochure-shadow-2 {
  width: 100%;
  height: 100%;
  top: 8px;
  left: -12px;
  z-index: -2;
  border-radius: 4px;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

.wd-brochure-section-title {
  color: #5a1123;
  font-family: var(--vr-serif);
}

.wd-brochure-desc {
  font-size: 0.8rem;
  max-width: 250px;
  line-height: 1.5;
}

.wd-brochure-btn {
  background-color: #5a1123;
  border: 1px solid #5a1123;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  transition: 0.3s;
}

.wd-brochure-btn:hover {
  background-color: #6d152c;
  border-color: #6d152c;
}

.wd-cta-center-title {
  color: #5a1123;
  font-family: var(--vr-serif);
}

.wd-cta-center-desc {
  font-size: 0.85rem;
  max-width: 280px;
  line-height: 1.5;
}

.wd-cta-proposal-btn {
  background-color: #5a1123;
  border: 1px solid #5a1123;
  font-size: 0.75rem;
  letter-spacing: 1px;
  width: 100%;
  max-width: 240px;
  transition: 0.3s;
}

.wd-cta-proposal-btn:hover {
  background-color: #6d152c;
  border-color: #6d152c;
}

.wd-cta-tour-link {
  color: #5a1123;
  font-size: 0.8rem;
  letter-spacing: 0.5px;
  transition: 0.3s;
}

.wd-cta-tour-link:hover {
  opacity: 0.8;
}

.wd-cta-tour-chevron {
  font-size: 0.65rem;
}

.wd-perks-icon {
  color: #dcb36b;
  width: 24px;
  font-size: 1.1rem;
}

.wd-perks-text {
  font-size: 0.8rem;
  letter-spacing: 0.3px;
}

/* Stays Page Booking Form and Custom Elements */
.vr-booking-form-section {
  position: relative;
  z-index: 10;
  margin-top: -50px;
}

.vr-booking-form-bar {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
}

.vr-booking-col-180 {
  min-width: 180px;
}

.vr-booking-col-200 {
  min-width: 200px;
}

.vr-booking-input-border {
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

.vr-booking-btn {
  white-space: nowrap;
}

.vr-resort-amenities {
  background-color: #ffffff;
}

.vr-resort-amenities-title {
  font-family: var(--vr-serif);
}

.vr-amenity-card-icon {
  font-size: 2rem;
}

.vr-amenity-card-title {
  font-size: 0.8rem;
  letter-spacing: 0.5px;
}

.stays-packages-sec {
  background-color: var(--vr-cream);
}

.stays-packages-title {
  font-family: var(--vr-serif);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--vr-maroon);
}

.stays-packages-subtitle {
  font-family: var(--vr-sans);
  color: #555;
  max-width: 600px;
  margin: 0 auto;
}

.stays-view-packages-btn {
  padding: 12px 30px;
  font-weight: 600;
}

/* ── WELLNESS ESCAPE PAGE STYLES ── */
.vr-wellness-hero {
  background-image:linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%), var(--hero-bg);
  background-size: cover;
  background-position: center;
  min-height: 80vh;
}

.vr-wellness-hero-subtitle {
  color: #d1a869;
  font-weight: 600;
  font-size: 1.1rem;
}

.vr-wellness-hero-title {
  font-family: var(--vr-sans);
  font-size: 4rem;
  line-height: 1.1;
}

.vr-wellness-hero-desc {
  font-size: 1.15rem;
  font-weight: 300;
  opacity: 0.9;
  max-width: 500px;
}

.vr-wellness-btn-maroon {
  background-color: #6c011d;
  border: 1px solid #6c011d;
  border-radius: 4px;
  padding: 10px 24px;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

.vr-wellness-btn-maroon:hover {
  background-color: #520014;
  border-color: #520014;
  color: #fff;
}

.vr-wellness-btn-icon {
  font-size: 0.9rem;
}

.vr-wellness-btn-outline {
  border-radius: 4px;
  padding: 10px 24px;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.vr-wellness-highlights-sec {
  background-color: #fdfaf7;
}

.vr-wellness-tag {
  color: #d1a869;
  font-weight: 700;
  letter-spacing: 1px;
  font-size: 0.8rem;
}

.vr-wellness-title {
  font-family: var(--vr-sans);
  font-size: 2.5rem;
  color: #2c2520;
}

.vr-wellness-desc {
  font-size: 1rem;
  line-height: 1.6;
}

.vr-wellness-highlights-img {
  width: 49%;
  height: 220px;
  object-fit: cover;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.vr-wellness-highlights-card {
  padding: 1rem;
  border-radius: 1rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  height: 100%;
}

.vr-wellness-highlights-card.mind {
  background-color: #f4f5f0;
}

.vr-wellness-highlights-card.body {
  background-color: #f0f4f8;
}

.vr-wellness-highlights-card.soul {
  background-color: #f7f0f6;
}

.vr-wellness-card-icon {
  font-size: 1.8rem;
}

.vr-wellness-card-icon.mind {
  color: #5a7d59;
}

.vr-wellness-card-icon.body {
  color: #4a709c;
}

.vr-wellness-card-icon.soul {
  color: #8a5a83;
}

.vr-wellness-card-title {
  color: #2c2520;
  font-size: 1rem;
}

.vr-wellness-card-desc {
  font-size: 0.85rem;
  line-height: 1.4;
}

.vr-wellness-sec-title {
  font-size: 1.8rem;
  color: #2c2520;
  text-transform: uppercase;
  font-family: var(--vr-sans);
}

.vr-wellness-sec-subtitle {
  font-size: 1.05rem;
}

.vr-wellness-pricing-card {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}

.vr-wellness-pricing-card:hover {
  transform: translateY(-5px);
}

.vr-wellness-pricing-img {
  height: 220px;
  object-fit: cover;
}

.vr-wellness-pricing-title {
  font-size: 0.95rem;
  color: #2c2520;
}

.vr-wellness-pricing-detail {
  font-size: 0.85rem;
}

.vr-wellness-pricing-val {
  font-size: 0.85rem;
  color: #6c011d;
}

.vr-wellness-btn-viewall {
  background-color: #6c011d;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.9rem;
}

.vr-wellness-bg-soft {
  background-color: #faf9f6;
}

.vr-wellness-pkg-card {
  background-color: #1a231f;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.vr-wellness-pkg-row {
  min-height: 350px;
}

.vr-wellness-pkg-img {
  object-fit: cover;
  height: 100%;
  min-height: 300px;
}

.vr-wellness-pkg-subtitle {
  color: #d1a869;
  font-weight: 600;
  letter-spacing: 1px;
  font-size: 0.7rem;
}

.vr-wellness-pkg-title {
  font-family: var(--vr-sans);
  font-size: 1.6rem;
  line-height: 1.2;
  color: #fff;
  font-weight:400 !important;
  padding-top:10px;
   padding-bottom:10px;
}

.vr-wellness-pkg-inc-icon {
  color: #d1a869;
  font-size: 1.1rem;
}

.vr-wellness-pkg-inc-text {
  font-size: 0.7rem;
  opacity: 0.8;
  line-height: 1.2;
}

.vr-wellness-price-box {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.vr-wellness-price-tag {
  color: #d1a869;
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.5px;
}

.vr-wellness-price-val {
  color: #6c011d;
  font-size: 1.8rem;
}

.vr-wellness-price-tax {
  font-size: 0.85rem;
  font-weight: normal;
  color: #2c2520;
}

.vr-wellness-price-label {
  font-size: 0.8rem;
}

.vr-wellness-btn-book {
  background-color: #6c011d;
  border-radius: 4px;
  font-size: 0.85rem;
}

.vr-wellness-ideal {
  font-size: 0.7rem;
}

.vr-wellness-carousel-btn {
  width: 40px;
  height: 40px;
  border-color: #e0cfc1;
}

.vr-wellness-filter-wrap {
  background-color: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  border: 1px solid #eaeaea;
}

.vr-wellness-filter-btn {
  padding: 8px 24px;
  font-size: 0.85rem;
  border: none;
  background-color: transparent;
}

.vr-wellness-filter-btn.active {
  background-color: #6c011d;
  color: #fff !important;
}

.vr-wellness-itin-card {
  border-bottom: 1px solid #e0cfc1;
  padding-bottom: 15px;
}

.vr-wellness-itin-bar {
  width: 2px;
  height: 16px;
  background-color: #6c011d;
  margin-right: 8px;
}

.vr-wellness-itin-title {
  color: #6c011d;
  font-size: 1.1rem;
}

.vr-wellness-itin-sub {
  font-size: 0.75rem;
  letter-spacing: 1px;
  color: #706259 !important;
}

.vr-wellness-icon-wrapper {
  width: 40px;
  height: 40px;
  font-size: 1.1rem;
}

.vr-wellness-exp-title {
  color: #2c2520;
  font-size: 1.05rem;
}

.vr-wellness-exp-desc {
  font-size: 0.85rem;
  line-height: 1.5;
}

.vr-wellness-bottom-sec {
  background-color: #faf9f6;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
}

.vr-wellness-feat-icon {
  color: #d1a869;
  font-size: 1.8rem;
}

.vr-wellness-feat-title {
  font-size: 0.9rem;
  color: #2c2520;
}

.vr-wellness-feat-desc {
  font-size: 0.8rem;
}

/* Local stylesheet rules extracted from wellness.php */
.experience-card {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.experience-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06) !important;
}

.filter-btn {
  transition: all 0.3s ease;
}

.filter-btn:not(.active):hover {
  background-color: #f8f9fa !important;
}

/* ── GOLF PAGE STYLES ── */
.vr-golf-hero {
  min-height: 85vh;
  background-image: var(--hero-bg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 120px;
  padding-bottom: 120px;
}

.vr-golf-hero-overlay {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.1) 100%);
}

.vr-golf-hero-title-top {
  font-family: var(--vr-serif);
  font-size: 2.5rem;
  letter-spacing: 1px;
}

.vr-golf-hero-title-main {
  font-family: var(--vr-serif);
  font-size: 4.5rem;
  color: #dcb36b;
  letter-spacing: 1px;
  line-height: 1.1;
}

.vr-golf-hero-tagline {
  font-size: 1.25rem;
  letter-spacing: 0.5px;
}

.vr-golf-hero-desc {
  font-size: 0.95rem;
  line-height: 1.6;
  max-width: 500px;
}

.vr-golf-btn-maroon {
  background-color: #6d152c;
  font-size: 0.85rem;
  letter-spacing: 1px;
  transition: background-color 0.3s ease;
}

.vr-golf-btn-maroon:hover {
  background-color: #4b0e1b;
  color: #fff;
}

.vr-golf-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: transparent;
  font-size: 0.85rem;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.vr-golf-btn-outline:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.vr-golf-booking-section {
  z-index: 2;
  margin-top: -60px;
  margin-bottom: 60px;
}

.vr-golf-booking-wrapper {
  max-width: 1100px;
}

.vr-golf-booking-bar {
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1) !important;
}

.vr-golf-booking-col {
  border-right: 1px solid #eee;
}

.vr-golf-booking-lbl {
  font-size: 0.65rem;
  letter-spacing: 1px;
}

.vr-golf-booking-icon {
  color: #6d152c;
}

.vr-golf-booking-val {
  font-size: 0.95rem;
}

.vr-golf-booking-select {
  font-size: 0.95rem;
  cursor: pointer;
  background-image: none;
  appearance: none;
}

.vr-golf-booking-select-chevron {
  font-size: 0.75rem;
  pointer-events: none;
}

.vr-golf-booking-btn {
  background-color: #6d152c;
  transition: background-color 0.3s ease;
}

.vr-golf-booking-btn:hover {
  background-color: #4b0e1b;
}

.vr-golf-booking-btn-text {
  font-size: 1.1rem;
  letter-spacing: 1px;
}

.vr-golf-booking-btn-arrow {
  font-size: 0.85rem;
}

.vr-golf-booking-note {
  border-color: #eee;
}

.vr-golf-booking-note-icon {
  color: #6d152c;
  font-size: 0.8rem;
}

.vr-golf-booking-note-text {
  font-size: 0.75rem;
}

.vr-golf-bg-sand {
  background-color: #fbf9f4;
}

.vr-golf-banner-row {
  background-color: #1a2f20;
  height: 280px;
  max-height: 280px;
}

.vr-golf-banner-content-col {
  width: 100%;
  max-width: 350px;
  flex-shrink: 0;
}

.vr-golf-banner-title {
  letter-spacing: 1px;
  font-size: 1rem;
}

.vr-golf-banner-subtitle {
  font-size: 0.85rem;
  font-weight: 500;
  opacity: 0.9;
}

.vr-golf-banner-desc {
  font-size: 0.8rem;
  line-height: 1.6;
  opacity: 0.7;
}

.vr-golf-banner-btn {
  background-color: #6c011d;
  border: none;
  font-size: 0.75rem;
  letter-spacing: 1px;
  transition: background-color 0.3s ease;
}

.vr-golf-banner-btn:hover {
  background-color: #8c0126;
  color: #fff;
}

.vr-golf-banner-img-col {
  min-height: 250px;
}

.vr-golf-banner-img-overlay {
  width: 60px;
  background: linear-gradient(to right, #1a2f20, transparent);
}

.vr-golf-bg-softcream {
  background-color: #fcf9f2;
}

.vr-golf-title-line {
  height: 1px;
  width: 50px;
  background-color: #dcb36b;
}

.vr-golf-section-title {
  color: #222;
  letter-spacing: 1px;
  font-size: 1.25rem;
}

.vr-golf-card-popular {
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08) !important;
  border-top: 4px solid #6d152c;
  z-index: 5;
}

.vr-golf-card-standard {
  border: 1px solid #eee;
}

.vr-golf-card-popular-badge {
  background-color: #6d152c;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 6px 15px;
}

.vr-golf-card-title {
  font-size: 0.85rem;
}

.vr-golf-card-price {
  color: #222;
  font-size: 1.8rem;
}

.vr-golf-card-price-sub {
  font-size: 0.75rem;
}

.vr-golf-card-feat-list {
  max-width: 200px;
}

.vr-golf-card-feat-item {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
}

.vr-golf-card-feat-icon {
  font-size: 0.65rem;
}

.vr-golf-plan-btn {
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  font-weight: bold;
}

.vr-golf-plan-btn.popular {
  background-color: #6d152c;
  color: #fff;
}

.vr-golf-plan-btn.popular:hover {
  background-color: #4b0e1b;
  color: #fff;
}

.vr-golf-plan-btn.standard {
  border: 1px solid #ddd;
  color: #333;
  background-color: transparent;
}

.vr-golf-plan-btn.standard:hover {
  background-color: #f5f5f5;
  color: #333;
}

.vr-golf-package-img {
  height: 160px;
}

.vr-golf-package-title {
  font-size: 0.75rem;
  letter-spacing: 0.5px;
}

.vr-golf-package-feat-item {
  font-size: 0.75rem;
  font-weight: 500;
}

.vr-golf-package-feat-icon {
  width: 15px;
}

.vr-golf-package-from {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 1px;
}

.vr-golf-custom-pkg-card {
  background-color: #1a2f20;
}

.vr-golf-custom-pkg-title {
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  line-height: 1.4;
}

.vr-golf-custom-pkg-desc {
  font-size: 0.7rem;
  opacity: 0.8;
  line-height: 1.6;
  font-weight: 500;
}

.vr-golf-btn-custom-contact {
  border: 1px solid #dcb36b;
  font-size: 0.7rem;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  background-color: transparent;
  color: #fff;
}

.vr-golf-btn-custom-contact:hover {
  background-color: #dcb36b;
  color: #1a2f20 !important;
}

.vr-golf-calendar-icon {
  color: #6d152c;
}

.vr-golf-calendar-date {
  font-size: 0.65rem;
  letter-spacing: 1px;
}

.vr-golf-calendar-title {
  font-size: 0.85rem;
  line-height: 1.4;
}

.vr-golf-btn-maroon-sm {
  background-color: #6d152c;
  font-size: 0.75rem;
  letter-spacing: 1px;
  transition: background-color 0.3s ease;
}

.vr-golf-btn-maroon-sm:hover {
  background-color: #4b0e1b;
  color: #fff;
}

.vr-golf-calendar-img {
  height: 220px;
}

.vr-golf-feature-card-dark {
  background-color: #1a2f20;
}

.vr-golf-feature-card-light {
  border: 1px solid #eee !important;
}

.vr-golf-feature-img {
  height: 220px;
}

.vr-golf-feature-title {
  font-size: 1.2rem;
  letter-spacing: 0.5px;
}

.vr-golf-feature-desc {
  font-size: 0.85rem;
  line-height: 1.6;
  font-weight: 500;
  max-width: 250px;
}

.vr-golf-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.65);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.vr-golf-modal-box {
  background: #fff;
  border-radius: 12px;
  max-width: 960px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 40px 32px;
  position: relative;
}

.vr-golf-modal-close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
  line-height: 1;
}

.vr-golf-modal-title {
  letter-spacing: 2px;
  font-size: 1.4rem;
  color: #1a1a1a;
}

.vr-golf-modal-sec-title {
  color: #1a2f20;
  font-size: 1rem;
  letter-spacing: 1px;
}

.vr-golf-modal-sec-stats {
  font-size: 0.75rem;
  color: #666;
  font-weight: 600;
}

.vr-golf-modal-table {
  font-size: 0.78rem;
  border-color: #e8e8e8;
}

.vr-golf-modal-th-hole {
  background: #f0f0f0;
  color: #333;
  font-weight: 700;
  letter-spacing: 0.5px;
  width: 160px;
}

.vr-golf-modal-th-default {
  background: #f0f0f0;
}

.vr-golf-modal-th-dark {
  background: #333;
  color: #fff;
  font-weight: 700;
}

.vr-golf-modal-td-par-lbl {
  color: #6d152c;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.vr-golf-modal-td-highlight-maroon {
  color: #6d152c;
}

.vr-golf-modal-td-highlight-blue {
  color: #4472c4;
}

.vr-golf-modal-dot-black {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #111;
  border-radius: 50%;
  margin-right: 8px;
}

.vr-golf-modal-dot-blue {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #4472c4;
  border-radius: 50%;
  margin-right: 8px;
}

.vr-golf-bottom-bar-sec {
  border-top: 1px solid #f0ebe3;
}

.vr-golf-bottom-bar-title {
  font-size: 0.75rem;
  letter-spacing: 0.5px;
}

.vr-golf-bottom-bar-desc {
  font-size: 0.7rem;
  line-height: 1.5;
}

/* Daily Activities Custom Styles */
.vr-hero {
  background-position: right center;
  text-align: left;
}

.vr-hero-content {
  text-align: left;
}

.vr-hero-content h1 {
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 4rem;
  text-transform: none;
  margin-bottom: 0.5rem;
  color: #fff;
  letter-spacing: 0;
}

.vr-hero-content p {
  font-size: 1.15rem;
  margin: 0 0 1.5rem 0;
  color: #fff;
  font-family: var(--vr-sans);
  font-weight: 500;
  letter-spacing: 0;
}

#hero-pdf-btn {
  background-color: #7b1c3b;
  color: #fff;
  padding: 12px 24px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: none;
  text-decoration: none;
}

#hero-pdf-btn i {
  font-size: 1.1rem;
}

.vr-date-picker-wrap {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-right: 15px;
  border-right: 1px solid #eaeaea;
}

.vr-date-picker-trigger {
  font-size: 0.9rem;
  color: #333;
  cursor: pointer;
}

.vr-carousel-nav-wrap {
  display: flex;
  align-items: center;
  gap: 15px;
}

.vr-section-pt-2 {
  padding-top: 2rem;
}

.vr-subscribe-form {
  display: flex;
  width: 100%;
  gap: 10px;
}

/* Celebrations Page Custom CSS Class styles */
.vr-celebrations-hero {
  min-height: 550px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-bottom: 5px solid var(--vr-maroon);
}

.vr-celebrations-hero-overlay {
background: linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%);

}

.vr-celebrations-hero-title {
  font-family: var(--vr-serif);
  color: #dcb36b;
  font-size: 3.5rem;
  line-height: 1.1;
}

.vr-celebrations-hero-desc {
  font-size: 0.95rem;
  line-height: 1.7;
  max-width: 480px;
  opacity: 0.9;
}

.btn-plan-celebration {
  background-color: var(--vr-maroon);
  color: white;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  border: 1px solid var(--vr-maroon);
}

.btn-plan-celebration:hover {
  background-color: #4b0e1b;
  border-color: #4b0e1b;
  color: white;
}

.btn-view-venues {
  border: 1px solid #dcb36b;
  color: #dcb36b;
  background-color: rgba(20, 20, 20, 0.6);
  font-size: 0.75rem;
  letter-spacing: 0.5px;
}

.btn-view-venues:hover {
  background-color: #dcb36b;
  color: #141414;
}

.vr-celebration-packages {
  background-color: #fbf9f4;
}

.title-line-left {
  height: 1px;
  width: 40px;
  background-color: #dcb36b;
  position: relative;
}

.title-line-left::after {
  content: '';
  width: 5px;
  height: 5px;
  background-color: #dcb36b;
  transform: rotate(45deg);
  position: absolute;
  right: -2px;
  top: -2px;
}

.title-line-right {
  height: 1px;
  width: 40px;
  background-color: #dcb36b;
  position: relative;
}

.title-line-right::after {
  content: '';
  width: 5px;
  height: 5px;
  background-color: #dcb36b;
  transform: rotate(45deg);
  position: absolute;
  left: -2px;
  top: -2px;
}

.packages-title {
  color: #4b0e1b;
  font-family: var(--vr-serif);
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* .pkg-card {
  background-color: #46141f;
} */
.pkg-img-wrapper {
  height: 220px;
}

.pkg-img {
  object-position: center;
}

.pkg-floating-icon {
  width: 60px;
  height: 60px;
  background-color: #fbf9f4;
  bottom: -30px;
  left: 35px;
  border: 3px solid #46141f;
  z-index: 2;
}

.pkg-heading {
  font-family: var(--vr-serif);
  letter-spacing: 1px;
  color: #fff;
}

.pkg-subheading {
  color: #dcb36b;
  font-size: 0.8rem;
}

.pkg-price-col {
  min-height: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.pkg-price-label-top {
  font-size: 0.55rem;
  letter-spacing: 1px;
  color: #dcb36b;
}

.pkg-price-amount {
  font-family: var(--vr-serif);
  font-size: 1.8rem;
}

.pkg-price-label-bottom {
  font-size: 0.65rem;
  opacity: 0.8;
}

.btn-pkg-action {
  background-color: #dcb36b;
  color: #46141f;
  font-size: 0.75rem;
  letter-spacing: 1px;
}

.btn-pkg-action:hover {
  background-color: #ffffff;
  color: #46141f;
}

.vr-celebration-features {
  background-color: #fbf9f4;
}

.features-section-title {
  color: #6d152c;
  font-family: var(--vr-serif);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.features-icons-box {
  border-color: rgba(0, 0, 0, 0.05) !important;
}

.feature-icon-item {
  flex: 1 1 0%;
  min-width: 120px;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
}

.feature-icon-item.last-item {
  border-right: none !important;
}

.feature-icon-item i {
  font-size: 2rem;
  opacity: 0.8;
  margin-bottom: 1rem;
}

.feature-icon-item.block1 i {
  color: #6d152c;
}

.feature-icon-item.block2 i {
  color: #dcb36b;
  opacity: 0.9;
}

.feature-icon-item h6 {
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
}

.feature-icon-item p {
  font-size: 0.7rem;
  line-height: 1.4;
}

.vr-venues-section {
  background-color: #fbf9f4;
}

.venue-card {
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.venue-img-wrapper {
  height: 200px;
}

.venue-title {
  font-family: var(--vr-serif);
  letter-spacing: 0.5px;
}

.venue-desc {
  font-size: 0.75rem;
  line-height: 1.5;
  opacity: 0.9;
}

.btn-venue-action {
  background-color: #4b0e1b;
  color: white;
  font-size: 0.7rem;
  letter-spacing: 1px;
  max-width: 160px;
}

.btn-venue-action:hover {
  background-color: #dcb36b;
  color: #4b0e1b;
}

.cta-section {
  background-color: #fbf9f4;
}

.cta-inner-box {
  background-color: #4b0e1b;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.cta-icon {
  font-size: 2.8rem;
  opacity: 0.9;
}

.cta-heading {
  color: #dcb36b;
  font-family: var(--vr-serif);
  letter-spacing: 0.5px;
}

.cta-desc {
  font-size: 0.85rem;
  opacity: 0.9;
}

.btn-cta-action {
  background-color: #dcb36b;
  color: #4b0e1b;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  border-radius: 4px;
}

.btn-cta-action:hover {
  background-color: #ffffff;
  color: #4b0e1b;
}




/* Styling for Single Option Horizontal Layout */
.pkgd-price-card-horizontal {
  position: relative;
  border-color: #eaeaea !important;
  min-height: 400px;
}

.pkgd-horizontal-left {
  background: #faf8f6;
  border-right: 1px solid #eaeaea;
  position: relative;
}

.pkgd-horizontal-tag-popular {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #6c011d;
  color: #fff;
  padding: 4px 16px;
  font-size: 0.75rem;
  font-weight: bold;
  border-radius: 4px;
  z-index: 10;
  letter-spacing: 1px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
}

.pkgd-horizontal-moon-icon {
  width: 54px;
  height: 54px;
  background: #111;
  color: #fff;
  margin: 0 auto;
}

.pkgd-horizontal-moon-icon i {
  font-size: 1.25rem;
}

.pkgd-horizontal-title {
  font-family: var(--vr-sans);
  color: #111;
  font-size: 1.6rem;
  letter-spacing: 0.5px;
}

.pkgd-horizontal-desc {
  font-family: var(--vr-sans);
}

.pkgd-price-card-horizontal .pkgd-check-list {
  list-style: none;
  padding-left: 0;
  width: fit-content;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  color: #333;
}

.pkgd-price-card-horizontal .pkgd-check-list i {
  color: #6c011d;
  font-size: 0.9rem;
}

.pkgd-horizontal-price {
  color: #6c011d !important;
  font-size: 2.2rem;
  font-family: var(--vr-sans);
  font-weight: 700;
}

.pkgd-price-card-horizontal .price-from,
.pkgd-price-card-horizontal .price-unit {
  font-size: 0.75rem;
  letter-spacing: 0.5px;
}

.pkgd-horizontal-btn {
  background: #6c011d;
  color: #fff;
  border-radius: 4px;
  letter-spacing: 1px;
  font-size: 0.9rem;
  transition: background 0.2s;
}

.pkgd-horizontal-btn:hover {
  background: #500014;
  color: #fff;
}

.pkgd-horizontal-right-img {
  min-height: 400px;
}

.pkgd-horizontal-mobile-img {
  height: 250px;
}

.object-fit-cover {
  object-fit: cover;
}



/* Grid layout: 6 columns on desktop */


/* Custom tab navigation styles matching the first screenshot */
.ts-custom-pills .nav-item {
  list-style: none;
}

.ts-custom-pills .nav-link {
  background-color: #f5f5f5;
  color: #333333;
  border: 1px solid #dcdadb;
  border-radius: 4px;
  padding: 8px 24px;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 600;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
}

.ts-custom-pills .nav-link.active {
  background-color: #6c011d !important;
  color: #ffffff !important;
  border-color: #6c011d !important;
}

.ts-custom-pills .nav-link:hover:not(.active) {
  background-color: #eaeaea;
  color: #333333;
}

/* Green grid container matching the first screenshot */
.ts-grid-container {
  background-color: #eef4f0;
  /* Light greenish gray */
  padding: 30px;
  border-radius: 4px;
  margin-top: 10px;
}

.ts-grid-heading {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 800;
  color: #333333;
  letter-spacing: 1px;
  margin-bottom: 24px;
  text-transform: uppercase;
}

.ts-weeks-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}

@media (max-width: 1200px) {
  .ts-weeks-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 992px) {
  .ts-weeks-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .ts-weeks-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .ts-weeks-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* Card layout matching the first screenshot */
.ts-grid-card {
  background-color: #ffffff;
  border-radius: 4px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 140px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
  border: 1px solid #e0e0e0;
  transition: all 0.3s ease;
}

.ts-grid-card .ts-card-num {
  font-family: var(--vr-sans);
  font-weight: 800;
  font-size: 1.1rem;
  color: #111111;
  margin-bottom: 8px;
}

.ts-grid-card .ts-card-dates {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: #555555;
  margin-bottom: 16px;
}

.ts-grid-card .ts-card-status {
  background-color: #e2ede4;
  color: #2e7d32;
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 0.75rem;
  padding: 6px 12px;
  border-radius: 4px;
  text-align: center;
  align-self: flex-start;
  width: 100%;
}

.ts-grid-card .ts-card-status.status-closed {
  background-color: #f5f5f5;
  color: #777777;
}

.ts-grid-card .ts-card-status.status-maintenance {
  background-color: #fff3e0;
  color: #ef6c00;
}

/* Selected/Active Hot Pick styling (e.g. Week 17) */
.ts-grid-card.active-card {
  background-color: #6c011d !important;
  border-color: #6c011d !important;
}

.ts-grid-card.active-card .ts-card-num,
.ts-grid-card.active-card .ts-card-dates {
  color: #ffffff !important;
}

.ts-grid-card.active-card .ts-card-status {
  background-color: #ffffff !important;
  color: #2e7d32 !important;
}


/* ==========================================================================
   TIMESHARE PAGE REDESIGN STYLES
   ========================================================================== */

/* Hero Section */
.vr-hero.ts-hero::before {
  background: linear-gradient(180deg, rgba(30, 20, 15, 0.55) 0%, rgba(20, 10, 5, 0.85) 100%);
}

/* Feature Cards */
.ts-feature-card {
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
  height: 100%;
}

.ts-feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  border-color: var(--vr-gold, #d1a869);
}

.ts-feature-icon {
  font-size: 2.2rem;
  color: #6c011d;
  /* Maroon brand color */
  transition: transform 0.3s ease;
}

.ts-feature-card:hover .ts-feature-icon {
  transform: scale(1.1);
  color: var(--vr-gold, #d1a869);
}

.ts-feature-card h4 {
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  color: #2c2520;
}

.ts-feature-card p {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  line-height: 1.5;
  color: #666666;
  margin: 0;
}

/* Tabs & Navigation */
.ts-nav-pills {
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 5px;
}

.ts-nav-pills .nav-link {
  background: #ffffff;
  color: #555555;
  border: 1px solid #e0e0e0;
  border-radius: 30px;
  padding: 8px 20px;
  transition: all 0.3s ease;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  white-space: nowrap;
}

.ts-nav-pills .nav-link.active,
.ts-nav-pills .nav-link:hover {
  background: #6c011d !important;
  color: #ffffff !important;
  border-color: #6c011d !important;
}

.ts-nav-pills .nav-link.top-trending.active,
.ts-nav-pills .nav-link.top-trending:hover {
  background: #ebdcd0 !important;
  color: #6c011d !important;
  border-color: var(--vr-gold, #d1a869) !important;
}

/* Search and Filters Redesign & Sticky Controls Header */
#calendar-section {
  overflow: visible !important;
  /* Enable sticky positioning for child elements by overriding global overflow: hidden */
}

.ts-calendar-sticky-header-wrapper {
  position: sticky;
  top: 72px;
  /* Aligns just below sticky main navigation header */
  z-index: 990;
  /* Render below header dropdowns but above calendar cards */
  background-color: #f8f6f5;
  /* Matches section bg-light-1 to hide scrolled cards */
  padding-top: 15px;
  padding-bottom: 15px;
  margin-top: -10px;
  margin-bottom: 25px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  /* Subtle boundary divider */
  transition: all 0.3s ease;
}

@media (max-width: 991px) {
  .ts-calendar-sticky-header-wrapper {
    top: 60px;
    /* Offset adjustment for mobile header */
    padding-top: 10px;
    padding-bottom: 10px;
  }

  /* Make Tab Pills swipeable on mobile instead of wrapping vertically */
  .ts-nav-pills {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    justify-content: flex-start !important;
    padding-bottom: 5px;
    scrollbar-width: none;
    /* Hide scrollbar */
  }

  .ts-nav-pills::-webkit-scrollbar {
    display: none;
  }

  .ts-nav-pills .nav-item {
    flex: 0 0 auto;
  }
}

.ts-search-filter-row {
  background: #ffffff;
  padding: 16px 24px;
  border-radius: 50px;
  /* Pill shape layout */
  border: 1px solid #e5e2e0;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.ts-search-input-wrapper {
  position: relative;
}

.ts-search-input-wrapper i {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: #6c011d;
  /* Maroon theme color */
  font-size: 1rem;
  z-index: 10;
  transition: color 0.3s ease;
}

.ts-search-input-wrapper input {
  padding-left: 48px !important;
  /* Fixed overlap */
  padding-right: 20px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  border-radius: 30px !important;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  border: 1px solid #dcdadb !important;
  height: 48px !important;
  background-color: #fcfbfa !important;
  transition: all 0.3s ease;
  box-shadow: none !important;
  color: #333333;
}

.ts-search-input-wrapper input:focus {
  background-color: #ffffff !important;
  border-color: #6c011d !important;
  box-shadow: 0 0 0 4px rgba(108, 1, 29, 0.1) !important;
  outline: none !important;
}

.ts-search-input-wrapper input:focus+i {
  color: #d1a869;
  /* Gold accent on focus */
}

.ts-search-input-wrapper input::placeholder {
  color: #9c9a98 !important;
  font-size: 0.9rem;
  opacity: 1;
}

.ts-filter-select {
  border-radius: 30px !important;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  border: 1px solid #dcdadb !important;
  cursor: pointer;
  height: 48px !important;
  padding-left: 20px !important;
  padding-right: 40px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  background-color: #fcfbfa !important;
  transition: all 0.3s ease;
  box-shadow: none !important;
  color: #333333;
}

.ts-filter-select:focus {
  background-color: #ffffff !important;
  border-color: #6c011d !important;
  box-shadow: 0 0 0 4px rgba(108, 1, 29, 0.1) !important;
  outline: none !important;
}

.ts-results-counter {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  color: #6c011d;
  font-weight: 600;
  display: inline-block;
  padding: 8px 16px;
  background: rgba(108, 1, 29, 0.05);
  border-radius: 20px;
}

/* Override default container backgrounds to match the theme */
.box.available,
.box.closed,
.box.special {
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Seasonal Sections & Carousels */
.ts-season-section {
  position: relative;
}

.ts-season-heading {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
}

.ts-season-heading.season-spring-text {
  color: #b48a47;
}

/* Gold */
.ts-season-heading.season-summer-text {
  color: #6c011d;
}

/* Maroon */
.ts-season-heading.season-autumn-text {
  color: #a67c43;
}

/* Bronze */
.ts-season-heading.season-winter-text {
  color: #4e443c;
}

/* Charcoal */

.ts-season-count {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 500;
  color: #777777;
  text-transform: lowercase;
}

.ts-season-carousel {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding: 10px 4px 20px 4px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

/* Custom Scrollbars */
.ts-season-carousel::-webkit-scrollbar {
  height: 6px;
}

.ts-season-carousel::-webkit-scrollbar-thumb {
  background-color: rgba(209, 168, 105, 0.3);
  border-radius: 10px;
  transition: background-color 0.2s;
}

.ts-season-carousel:hover::-webkit-scrollbar-thumb {
  background-color: rgba(209, 168, 105, 0.6);
}

.ts-season-carousel::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.03);
  border-radius: 10px;
}

/* Redesigned Compact Week Cards - Luxury & Rectangular */
.ts-week-card {
  width: 240px;
  height: 180px;
  flex: 0 0 auto;
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-top: 4px solid #cccccc;
  border-radius: 14px;
  padding: 16px;
  text-align: left;
  /* Left align is more premium */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  position: relative;
  overflow: hidden;
}

.ts-week-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 25px rgba(30, 20, 10, 0.06);
  border-color: rgba(209, 168, 105, 0.4);
}

.ts-week-card.season-spring {
  border-top-color: #d1a869;
}

/* Gold */
.ts-week-card.season-summer {
  border-top-color: #6c011d;
}

/* Maroon */
.ts-week-card.season-autumn {
  border-top-color: #a67c43;
}

/* Bronze */
.ts-week-card.season-winter {
  border-top-color: #4e443c;
}

/* Charcoal */

/* Active Week Spotlight */
.ts-week-card.active {
  border: 1.5px solid #d1a869;
  border-top: 5px solid #6c011d;
  background: #fffcf8;
  box-shadow: 0 8px 24px rgba(108, 1, 29, 0.06);
}

/* Season Badges (Top Left) */
.ts-week-card .ts-season-badge {
  font-family: var(--vr-sans);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 3px 10px;
  border-radius: 30px;
  display: inline-block;
}

.ts-week-card.season-spring .ts-season-badge {
  background: #fdf8f0;
  color: #b48a47;
}

/* Gold */
.ts-week-card.season-summer .ts-season-badge {
  background: #f9edf0;
  color: #6c011d;
}

/* Maroon */
.ts-week-card.season-autumn .ts-season-badge {
  background: #fcf6ed;
  color: #a67c43;
}

/* Bronze */
.ts-week-card.season-winter .ts-season-badge {
  background: #f5f3f2;
  color: #4e443c;
}

/* Charcoal */

/* Status Indicators (Top Right) */
.ts-week-card .ts-status-indicator {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--vr-sans);
  font-size: 0.65rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 30px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ts-week-card .ts-status-indicator::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
}

.ts-week-card .ts-status-indicator.available {
  background: #e8f5e9;
  color: #2e7d32;
}

.ts-week-card .ts-status-indicator.available::before {
  background-color: #2e7d32;
  box-shadow: 0 0 6px #2e7d32;
}

.ts-week-card .ts-status-indicator.closed {
  background: #f5f5f5;
  color: #777777;
}

.ts-week-card .ts-status-indicator.closed::before {
  background-color: #777777;
}

.ts-week-card .ts-status-indicator.maintenance {
  background: #fff3e0;
  color: #ef6c00;
}

.ts-week-card .ts-status-indicator.maintenance::before {
  background-color: #ef6c00;
}

/* Week number */
.ts-week-card .ts-week-number {
  font-family: var(--vr-sans);
  font-size: 1.4rem;
  font-weight: 700;
  color: #2c2520;
  margin-top: 6px;
  margin-bottom: 2px;
}

.ts-week-card.active .ts-week-number {
  color: #6c011d;
}

.ts-week-card.status-closed .ts-week-number {
  color: #a0a0a0;
}

/* Date */
.ts-week-card .ts-week-date {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #666666;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
}

.ts-week-card .ts-week-date i {
  color: #c5a059;
}

/* Card Button */
.ts-card-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 32px;
  border-radius: 30px;
  font-family: var(--vr-sans);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none !important;
  transition: all 0.3s ease;
}

.ts-card-action-btn.btn-inquire {
  background: transparent;
  color: #6c011d;
  border: 1px solid #6c011d;
}

.ts-card-action-btn.btn-inquire:hover {
  background: #6c011d;
  color: #ffffff;
  border-color: #6c011d;
}

.ts-week-card.season-spring .btn-inquire {
  color: #b48a47;
  border-color: #b48a47;
}

.ts-week-card.season-spring .btn-inquire:hover {
  background: #b48a47;
  color: #ffffff;
}

.ts-week-card.season-summer .btn-inquire {
  color: #6c011d;
  border-color: #6c011d;
}

.ts-week-card.season-summer .btn-inquire:hover {
  background: #6c011d;
  color: #ffffff;
}

.ts-week-card.season-autumn .btn-inquire {
  color: #a67c43;
  border-color: #a67c43;
}

.ts-week-card.season-autumn .btn-inquire:hover {
  background: #a67c43;
  color: #ffffff;
}

.ts-week-card.season-winter .btn-inquire {
  color: #4e443c;
  border-color: #4e443c;
}

.ts-week-card.season-winter .btn-inquire:hover {
  background: #4e443c;
  color: #ffffff;
}

/* Active buttons - solid look */
.ts-week-card.active .btn-inquire {
  background: #6c011d;
  color: #ffffff;
  border-color: #6c011d;
}

.ts-week-card.active .btn-inquire:hover {
  background: #880226;
  border-color: #880226;
}

/* Tab Content Spacing */
.tab-content {
  padding-top: 35px;
}

/* Feature Spotlight Items */
.ts-hot-feature-item {
  display: flex;
  align-items: center;
  gap: 15px;
  background: #ffffff;
  padding: 16px 20px;
  border-radius: 12px;
  border: 1px solid #f2efeb;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.01);
  transition: all 0.3s ease;
}

.ts-hot-feature-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(108, 1, 29, 0.04);
  border-color: rgba(108, 1, 29, 0.1);
}

.ts-hot-feature-item .icon-circle {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: #ebdcd0;
  color: #6c011d;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

/* Booklet Viewer Redesign */
.ts-booklet-viewer {
  background: #ffffff;
  border: 1px solid #e5e2e0;
  border-radius: 20px;
  padding: 35px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.ts-booklet-frame {
  background: #faf9f8;
  /* Warm light beige matching theme */
  border: 1px solid #f2efeb;
  border-radius: 12px;
  padding: 35px 20px;
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.02);
  margin-bottom: 20px;
  position: relative;
}

.ts-booklet-img-wrapper {
  max-width: 320px;
  /* Scaled up cover preview */
  margin: 0 auto;
  border-radius: 6px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  border: 1px solid #e5e2e0;
}

.ts-booklet-img-wrapper img {
  width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}

.ts-booklet-viewer:hover .ts-booklet-img-wrapper img {
  transform: scale(1.02);
}

.ts-booklet-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  background: #fcfbfa;
  border: 1px solid #e8e5e1;
  padding: 10px 24px;
  border-radius: 40px;
  max-width: 300px;
  margin: 0 auto 20px auto;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.ts-booklet-controls button {
  background: transparent;
  border: none;
  color: #333;
  font-size: 1rem;
  cursor: pointer;
  transition: color 0.2s ease;
}

.ts-booklet-controls button:hover {
  color: #6c011d;
}

.ts-page-box {
  background: #ffffff;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 2px 10px;
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 600;
}

/* Inquiry Form Section */
.ts-inquiry-sec {
  background: linear-gradient(135deg, #2c2520 0%, #171210 100%);
  position: relative;
  padding: 80px 0;
}

.ts-inquiry-sec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('../images/experience-bg.jpg');
  background-size: cover;
  background-position: center;
  opacity: 0.06;
  z-index: 1;
}

.ts-inquiry-container {
  position: relative;
  z-index: 2;
}

.ts-inquiry-form-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.ts-inquiry-form-card label {
  color: #fff;
  font-family: var(--vr-sans);
  font-weight: 500;
  font-size: 0.85rem;
  margin-bottom: 8px;
}

.ts-inquiry-form-card .form-control,
.ts-inquiry-form-card .form-select {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ffffff;
  border-radius: 6px;
  padding: 12px;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
}

.ts-inquiry-form-card .form-control:focus,
.ts-inquiry-form-card .form-select:focus {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--vr-gold, #d1a869);
  box-shadow: none;
  color: #fff;
}

.ts-inquiry-form-card .form-control::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.ts-inquiry-form-card .form-select option {
  background: #2c2520;
  color: #fff;
}

.ts-submit-btn {
  background: #6c011d;
  color: #ffffff;
  border: 1px solid #6c011d;
  padding: 12px 30px;
  border-radius: 30px;
  font-family: var(--vr-sans);
  font-weight: 600;
  transition: all 0.3s ease;
}

.ts-submit-btn:hover {
  background: #880226;
  border-color: #880226;
  color: #fff;
}

@media (max-width: 767px) {
  .ts-inquiry-form-card {
    padding: 25px;
  }

  .ts-booklet-viewer {
    padding: 15px;
  }

  .ts-booklet-frame {
    padding: 15px;
  }
}

/* Header Spacing and Link Optimization to Prevent Menu Wrapping */
@media (min-width: 1200px) {

  /* Perfectly center the navigation menu, and balance logo and button spacing symmetrically */
  .primary-menu .container-fluid {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 80px !important;
  }

  .primary-menu .logo {
    position: absolute !important;
    left: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 10 !important;
  }

  .primary-menu a.btn-new.btn-primary {
    position: absolute !important;
    right: 30px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 10 !important;
  }

  #header-nav.collapse.navbar-collapse {
    display: flex !important;
    justify-content: right !important;
    flex-grow: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 60px;
  }

  .primary-menu ul.navbar-nav>li>a:not(.btn) {
    padding: 0px 0.45rem !important;
    /* Tighten horizontal spacing */
    font-size: 13px !important;
    letter-spacing: 0.4px !important;
    white-space: nowrap !important;
    margin: 0px 2px !important;
  }

  /* Specific padding-right override for dropdown toggles to match regular links (chevron is inline) */
  .primary-menu ul.navbar-nav>li.dropdown>a.dropdown-toggle {
    padding-right: 0.45rem !important;
  }

  /* When header becomes sticky and items align vertically */
  .primary-menu.sticky-on ul.navbar-nav>li>a:not(.btn) {
    margin: 0 2px !important;
    /* Maintain narrow margins on sticky header */
  }

  /* Premium Dropdown Hover Animation & Glassmorphism */
  .primary-menu:not(.navbar-overlay):not(.navbar-sidebar):not(.navbar-expand-none) ul.navbar-nav li.dropdown .dropdown-menu {
    display: block !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px) scale(0.99);
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1),
      transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0.25s;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(108, 1, 29, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 15px 35px rgba(108, 1, 29, 0.08) !important;
    padding: 18px 24px !important;
    margin-top: 5px !important;
    z-index: 9999 !important;
  }

  /* Hover Bridge for Dropdown Spacing Gaps (prevents unexpected closing on hover) */
  .primary-menu:not(.navbar-overlay):not(.navbar-sidebar):not(.navbar-expand-none) ul.navbar-nav>li.dropdown>.dropdown-menu::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
    height: 15px;
    background: transparent;
    display: block;
    pointer-events: auto;
  }

  .primary-menu:not(.navbar-overlay):not(.navbar-sidebar):not(.navbar-expand-none) ul.navbar-nav>li.dropdown .dropdown-menu .dropdown-menu::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -25px;
    width: 25px;
    height: auto;
    background: transparent;
    display: block;
    pointer-events: auto;
  }

  /* Dropdown Active/Show State */
  .primary-menu:not(.navbar-overlay):not(.navbar-sidebar):not(.navbar-expand-none) ul.navbar-nav li.dropdown .dropdown-menu.show-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }

  /* Sub-dropdown initial state correction */
  .primary-menu ul.navbar-nav>li.dropdown .dropdown-menu .dropdown-menu {
    left: 100% !important;
    margin-top: -52px !important;
    transform: translateX(12px) scale(0.99) !important;
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1),
      transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
      visibility 0.25s !important;
  }

  /* Sub-dropdown active state correction */
  .primary-menu ul.navbar-nav>li.dropdown .dropdown-menu .dropdown-menu.show-dropdown {
    transform: translateX(0) scale(1) !important;
  }
}

/* Ensure main header overlay stacks above the sticky calendar wrapper */
.header-sec,
#header {
  z-index: 1030 !important;
}

/* Extracted Timeshare View CSS classes */
.ts-hero-subtitle {
  color: #d1a869;
  font-weight: 700;
  font-size: 0.9rem;
}

.ts-hero-title {
  font-family: var(--vr-sans);
  font-size: 3.5rem;
  font-weight: 700;
}

.ts-hero-desc {
  font-family: var(--vr-sans);
  font-size: 1.1rem;
  opacity: 0.9;
}

.ts-legacy-sub {
  color: #6c011d;
  font-size: 0.85rem;
}

.ts-legacy-desc {
  font-size: 1rem;
}

.ts-owners-link {
  color: #6c011d;
  font-weight: 600;
  text-decoration: underline;
}

#calendar-section {
  padding-top: 0 !important;
}

.ts-calendar-title {
  font-family: var(--vr-sans);
  color: #2c2520;
}

.ts-custom-pills {
  list-style: none;
  padding: 0;
  display: flex;
}

#menuTabContent {
  padding-top: 0 !important;
}

.ts-hot-sub {
  color: #6c011d;
  font-size: 0.8rem;
}

.ts-hot-calendar-icon {
  color: #c5a059;
}

.ts-hot-desc {
  line-height: 1.6;
}

.ts-booklet-caption {
  font-size: 0.85rem;
  font-style: italic;
}

.ts-download-btn {
  border-color: #6c011d !important;
  color: #6c011d !important;
}

.ts-inquiry-subtitle {
  color: #d1a869;
  font-size: 0.85rem;
}

.ts-inquiry-desc {
  opacity: 0.85;
  line-height: 1.6;
}

.ts-contact-icon-circle {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 50% !important;
}

.ts-contact-label {
  opacity: 0.6;
  font-size: 0.75rem;
}

.ts-contact-link {
  text-decoration: none;
}

.ts-inquiry-card-title {
  font-size: 1.5rem;
}

.ts-submit-icon {
  font-size: 0.8rem;
}

/* Home Page Custom Cleanup Classes */
.vr-hero-video {
  object-fit: cover !important;
  z-index: 0 !important;
  top: 0 !important;
  left: 0 !important;
}

.vr-hero-overlay {
  background: linear-gradient(90deg, rgba(16, 12, 10, 0.4) 0%, rgba(16, 12, 10, 0.1) 50%, rgba(16, 12, 10, 0) 100%) !important;
  z-index: 1 !important;
  top: 0 !important;
  left: 0 !important;
}

.vr-hero-container {
  position: relative !important;
  z-index: 2 !important;
}

.vr-hero-title {
  font-family: var(--vr-serif) !important;
}

.vr-hero-desc {
  max-width: 650px !important;
}

.vr-booking-form-section {
  position: relative !important;
  z-index: 10 !important;
  margin-top: -50px !important;
}

.vr-booking-form-bar {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
}

.vr-booking-input-wrap-180 {
  min-width: 180px !important;
}

.vr-booking-input-wrap-200 {
  min-width: 200px !important;
}

.vr-border-bottom-only {
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

.vr-nowrap {
  white-space: nowrap !important;
}

.vr-resort-amenities {
  background-color: #fbf9f4 !important;
}

.vr-font-serif {
  font-family: var(--vr-serif) !important;
}

.vr-icon-lg {
  font-size: 2rem !important;
}

.vr-amenity-heading {
  font-size: 0.8rem !important;
  letter-spacing: 0.5px !important;
}

.vr-golf-carousel {
  position: relative !important;
}

.vr-golf-carousel-inner {
  min-height: 400px !important;
}

.vr-golf-carousel-item {
  height: 400px !important;
}

.vr-golf-carousel-item img {
  object-fit: cover !important;
}

.vr-golf-overlay {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.vr-golf-container {
  pointer-events: auto !important;
}

.vr-golf-seasonal-content {
  max-width: 550px !important;
}

.vr-letter-spacing-2 {
  font-size: 0.8rem !important;
  letter-spacing: 2px !important;
}

.vr-golf-heading {
  font-family: var(--vr-serif) !important;
  font-size: 2.5rem !important;
  letter-spacing: 1px !important;
  line-height: 1.1 !important;
}

.vr-golf-desc {
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

.vr-golf-btn {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  border-width: 2px !important;
  letter-spacing: 1px !important;
}

.vr-gift-wellness-pad {
  padding: 2.5rem !important;
}

.vr-gift-img {
  top: 2.5rem !important;
  right: 2.5rem !important;
  width: 200px !important;
  z-index: 5 !important;
  border-radius: 8px !important;
}

.vr-gift-text-wrap {
  width: 55% !important;
  position: relative !important;
  z-index: 10 !important;
}

.vr-text-xs {
  font-size: 0.82rem !important;
}

.vr-max-w-100 {
  max-width: 100% !important;
}

.vr-stay-btn {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
}

.vr-event-img-link {
  height: 220px !important;
}

.vr-event-img {
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

/* ==========================================================================
   GOLF PAGE CUSTOM STYLES
   ========================================================================== */
.golf-hero {
  min-height: 85vh !important;
  background-image: url('../images/golf-bg.png');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 120px;
  padding-bottom: 120px;
}

.golf-hero-overlay {
  background: linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%);
}

.golf-hero-title-top {
  font-family: var(--vr-serif);
  font-size: 2.5rem;
  letter-spacing: 1px;
}

.golf-hero-title-main {
  font-family: var(--vr-serif);
  font-size: 4.5rem;
  color: #dcb36b;
  letter-spacing: 1px;
  line-height: 1.1;
}

.golf-hero-tagline {
  font-size: 1.25rem;
  letter-spacing: 0.5px;
}

.golf-hero-desc {
  font-size: 0.95rem;
  line-height: 1.6;
  max-width: 500px;
}

.golf-hero-btn-primary {
  background-color: #6d152c;
  font-size: 0.85rem;
  letter-spacing: 1px;
}

.golf-hero-btn-secondary {
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: transparent;
  font-size: 0.85rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.golf-hero-btn-secondary:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

.golf-booking-section {
  margin-top: -60px;
  margin-bottom: 60px;
}

.golf-booking-container {
  max-width: 1100px;
}

.golf-booking-card {
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1) !important;
}

.golf-booking-col-border {
  border-right: 1px solid #eee;
}

.golf-booking-label {
  font-size: 0.65rem;
  letter-spacing: 1px;
}

.golf-color-maroon {
  color: #6d152c !important;
}

.golf-booking-input {
  font-size: 0.95rem;
  cursor: pointer;
  outline: none;
}

.golf-booking-select {
  font-size: 0.95rem;
  cursor: pointer;
  background-image: none;
  appearance: none;
}

.golf-chevron-icon {
  font-size: 0.75rem;
  pointer-events: none;
}

.golf-btn-availability {
  background-color: #6d152c;
  transition: 0.3s;
}

.golf-btn-availability:hover {
  background-color: #4b0e1b !important;
}

.golf-btn-availability-text {
  font-size: 1.1rem;
  letter-spacing: 1px;
}

.golf-font-sm {
  font-size: 0.85rem;
}

.golf-booking-note {
  border-color: #eee;
}

.golf-booking-note-icon {
  color: #6d152c;
  font-size: 0.8rem;
}

.golf-booking-note-text {
  font-size: 0.75rem;
}

.golf-section-light {
  background-color: #fbf9f4;
}

.golf-banner-card {
  background-color: #1a2f20;
  min-height: 280px;
}

.golf-banner-content {
  width: 100%;
  max-width: 350px;
  flex-shrink: 0;
}

.golf-banner-title {
  letter-spacing: 1px;
  font-size: 1rem;
}

.golf-banner-subtitle {
  font-size: 0.85rem;
  font-weight: 500;
  opacity: 0.9;
}

.golf-banner-desc {
  font-size: 0.8rem;
  line-height: 1.6;
  opacity: 0.7;
}

.golf-btn-maroon {
  background-color: #6c011d;
  border: none;
  font-size: 0.75rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.golf-btn-maroon:hover {
  background-color: #8c0126 !important;
}

.golf-banner-img-container {
  min-height: 250px;
  position: relative;
  overflow: hidden;
  min-width: 0;
  flex-grow: 1;
}

.golf-banner-fade-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 100%;
  /*background: linear-gradient(to right, #1a2f20, transparent);*/
  z-index: 1;
}

.golf-section-sand {
  background-color: #fcf9f2;
}

.golf-title-line {
  height: 1px;
  width: 50px;
  background-color: #dcb36b;
}

.golf-section-title {
  color: #222;
  letter-spacing: 1px;
  font-size: 1.25rem;
}

.golf-membership-card {
  background-color: #fff;
  padding: 1.5rem 1.25rem 2rem 1.25rem;
  text-align: center;
  border: 1px solid #e2e8f0;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  border-radius: 4px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.golf-membership-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 20px -5px rgba(0, 0, 0, 0.1), 0 8px 8px -5px rgba(0, 0, 0, 0.04);
}

@media (min-width: 992px) {
  .golf-membership-card {
    padding: 2rem 1.25rem 2.25rem 1.25rem;
  }
}

.golf-membership-card.popular {
  box-shadow: 0 10px 40px rgba(109, 21, 44, 0.08) !important;
  border: 2px solid #6d152c;
  z-index: 5;
}

.golf-membership-card.popular:hover {
  box-shadow: 0 20px 40px rgba(109, 21, 44, 0.15) !important;
  transform: translateY(-8px);
}

.golf-membership-badge {
  background-color: #6d152c;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 6px 15px;
}

.golf-membership-title {
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 700 !important;
  color: #1a202c !important;
  margin-bottom: 0.75rem !important;
}

.golf-membership-price {
  color: #111;
  font-size: 2.2rem;
  font-weight: 800 !important;
}

.golf-membership-period {
  font-size: 0.8rem;
  font-weight: 500;
}

.golf-membership-list {
  max-width: 100%;
  width: 100%;
  margin-bottom: 2rem !important;
}

.golf-membership-item {
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 0.25rem 0;
  color: #4a5568 !important;
}

.golf-membership-item i {
  font-size: 0.75rem;
  color: #6d152c !important;
}

.golf-membership-btn {
  width: 100%;
  font-weight: 700;
  margin-top: auto;
  border: 1px solid #6d152c;
  font-size: 0.8rem;
  letter-spacing: 1px;
  color: #6d152c;
  background-color: transparent;
  transition: all 0.3s ease;
  padding: 0.65rem 1rem;
  border-radius: 4px;
}

.golf-membership-btn:hover {
  background-color: #6d152c !important;
  color: #fff !important;
}

.golf-membership-btn.popular {
  background-color: #6d152c;
  color: #fff;
  border: 1px solid #6d152c;
}

.golf-membership-btn.popular:hover {
  background-color: #4b0e1b !important;
  border-color: #4b0e1b;
}

.golf-stay-card {
  border: 1px solid #eee;
}

.golf-stay-img {
  height: 160px;
}

.golf-stay-title {
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.golf-stay-item {
  font-size: 0.75rem;
  font-weight: 500;
}

.golf-stay-icon {
  width: 15px;
}

.golf-stay-subtitle {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 1px;
}

.golf-stay-btn {
  border: 1px solid #ddd;
  font-size: 0.7rem;
  letter-spacing: 0.5px;
  color: #333;
  transition: 0.3s;
}

.golf-stay-btn:hover {
  background-color: #f5f5f5 !important;
}

.golf-stay-card-custom {
  background-color: #1a2f20;
}

.golf-stay-custom-title {
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  line-height: 1.4;
}

.golf-stay-custom-desc {
  font-size: 0.7rem;
  opacity: 0.8;
  line-height: 1.6;
  font-weight: 500;
}

.golf-stay-custom-btn {
  border: 1px solid #dcb36b;
  font-size: 0.7rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.golf-stay-custom-btn:hover {
  background-color: #dcb36b !important;
  color: #1a2f20 !important;
}

.golf-calendar-date {
  font-size: 0.65rem;
  letter-spacing: 1px;
}

.golf-calendar-title {
  font-size: 0.85rem;
  line-height: 1.4;
}

.golf-calendar-btn {
  background-color: #6d152c;
  font-size: 0.75rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.golf-calendar-btn:hover {
  background-color: #4b0e1b !important;
}

.golf-calendar-img {
  height: 220px;
}

.golf-feature-card {
  border: 1px solid #eee !important;
}

.golf-feature-card.primary {
  background-color: #1a2f20;
  border: none !important;
}

.golf-feature-img {
  height: 220px;
}

.golf-feature-title {
  font-size: 1.2rem;
  letter-spacing: 0.5px;
}

.golf-feature-desc {
  font-size: 0.85rem;
  line-height: 1.6;
  font-weight: 500;
  max-width: 250px;
}

.golf-feature-btn {
  background-color: #6d152c;
  font-size: 0.75rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.golf-feature-btn:hover {
  background-color: #4b0e1b !important;
}

.golf-scorecard-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.65);
  z-index: 9999;
  display: none;
  overflow-y: auto;
  padding: 40px 20px;
}

.golf-scorecard-modal-content {
  background: #fff;
  border-radius: 12px;
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  padding: 40px 32px;
  position: relative;
}

.golf-scorecard-modal-close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
  line-height: 1;
}

.golf-scorecard-modal-title {
  letter-spacing: 2px;
  font-size: 1.4rem;
  color: #1a1a1a;
}

.golf-scorecard-header-title {
  color: #1a2f20;
  font-size: 1rem;
  letter-spacing: 1px;
}

.golf-scorecard-header-stats {
  font-size: 0.75rem;
  color: #666;
  font-weight: 600;
}

.golf-scorecard-table {
  font-size: 0.78rem;
  border-color: #e8e8e8;
}

.golf-scorecard-th-hole {
  background: #f0f0f0;
  color: #333;
  font-weight: 700;
  letter-spacing: 0.5px;
  width: 160px;
}

.golf-scorecard-th-light {
  background: #f0f0f0;
}

.golf-scorecard-th-dark {
  background: #333;
  color: #fff;
  font-weight: 700;
}

.golf-scorecard-td-handicap-lbl {
  color: #6d152c;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.golf-scorecard-td-blue {
  color: #4472c4;
}

.golf-scorecard-td-maroon {
  color: #6d152c;
}

.golf-scorecard-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 8px;
}

.golf-scorecard-dot.dark {
  background: #111;
}

.golf-scorecard-dot.blue {
  background: #4472c4;
}

/* ==========================================================================
   ALBA NOUVA (EAT) PAGE STYLES
   ========================================================================== */
:root {
  --alba-maroon: #6d152c;
  --alba-gold: #dcb36b;
  --alba-dark-gold: #b38e4d;
  --alba-bg-light: #faf8f5;
  --alba-card-border: rgba(109, 21, 44, 0.08);
}

.alba-serif {
  font-family: var(--vr-sans);
}

.alba-sans {
  font-family: var(--vr-sans);
}

/* ==================== HERO SECTION ==================== */
.eat-hero {
  position: relative;
  min-height: 80vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-end;
  color: #fff;
  padding-top: 140px;
  padding-bottom: 60px;
}

.eat-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%);
  z-index: 1;
}

.eat-hero-content {
  position: relative;
  z-index: 2;
  max-width: 650px;
}

.eat-breadcrumb {
  font-size: 0.85rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 2rem;
}

.eat-breadcrumb a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s;
}

.eat-breadcrumb a:hover {
  color: var(--alba-gold);
}

.eat-hero-logo {
  width: 70px;
  height: auto;
  margin-bottom: 1.5rem;
}

.eat-hero-title {
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  color: #fff;
}

.eat-hero-subtitle {
  font-size: 1.1rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--alba-gold);
  font-weight: 600;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 15px;
}

/*.eat-hero-subtitle::after {*/
/*  content: '';*/
/*  flex-grow: 1;*/
/*  height: 1px;*/
/*  background: linear-gradient(to right, var(--alba-gold), transparent);*/
/*}*/

.eat-hero-desc {
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 3rem;
  font-weight: 400;
}

.eat-hero-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding-top: 2rem;
}

.eat-hero-feature-item {
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  padding: 0 10px;
}

.eat-hero-feature-item:last-child {
  border-right: none;
}

.eat-hero-feature-icon {
  font-size: 1.5rem;
  color: var(--alba-gold);
  margin-bottom: 0.75rem;
}

.eat-hero-feature-text {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
  color: #fff;
}

@media (max-width: 991px) {
  .eat-hero {
    min-height: 60vh;
    padding-top: 100px;
  }

  .eat-hero-title {
    font-size: 2.8rem;
  }

  .eat-hero-features {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .eat-hero-feature-item:nth-child(2) {
    border-right: none;
  }
}

/* ==================== MAIN PAGE CONTAINER ==================== */
.eat-main-section {
  background-color: var(--alba-bg-light);
}

.eat-card {
  background: #fff;
  border-radius: 8px;
  border: 1px solid var(--alba-card-border);
  box-shadow: 0 4px 20px rgba(109, 21, 44, 0.02);
  padding: 2.5rem;
  margin-bottom: 2rem;
}

.eat-card-title {
  color: var(--alba-maroon);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  text-align: center;
  position: relative;
  margin-bottom: 1.5rem;
}

.eat-card-title::after {
  content: '\f0f5';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
  display: block;
  font-size: 0.9rem;
  color: var(--alba-gold);
  margin-top: 5px;
  letter-spacing: 0;
}

.eat-about-desc {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #555;
  text-align: center;
  max-width: 700px;
  margin: 0 auto 2.5rem auto;
}

/* Grid parameters inside About */
.eat-info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.eat-info-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 1rem;
  border-radius: 6px;
  background: var(--alba-bg-light);
  border: 1px solid rgba(109, 21, 44, 0.03);
}

.eat-info-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--alba-gold);
  font-size: 1.1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  flex-shrink: 0;
}

.eat-info-label {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #888;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.eat-info-value {
  font-size: 0.8rem;
  font-weight: 600;
  color: #333;
}

@media (max-width: 768px) {
  .eat-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ==================== THE MENU SECTION ==================== */
.eat-menu-subtitle {
  font-size: 0.9rem;
  color: #777;
  text-align: center;
  margin-bottom: 2.5rem;
}

.eat-menu-book-container {
  position: relative;
  background: #2b1f1d url('https://www.transparenttextures.com/patterns/dark-wood.png');
  border-radius: 12px;
  padding: 3.5rem 2rem 2.5rem 2rem;
  box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.8), 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* Book Frame layout */
.eat-menu-book {
  background: #fff;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  min-height: 480px;
  position: relative;
}

/* Middle Crease */
.eat-menu-book::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 30px;
  height: 100%;
  transform: translateX(-50%);
  background: linear-gradient(to right, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.02) 20%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.02) 80%, rgba(0, 0, 0, 0.15) 100%);
  z-index: 10;
  pointer-events: none;
}

.eat-menu-page {
  width: 50%;
  padding: 3rem;
  background: #fbf9f4;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.eat-menu-page-left {
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  align-items: center;
  text-align: center;
}

.eat-menu-cover-drawing {
  width: 140px;
  height: auto;
  margin-bottom: 2rem;
  opacity: 0.85;
}

.eat-menu-cover-title {
  color: var(--alba-maroon);
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 0.25rem;
}

.eat-menu-cover-subtitle {
  font-size: 0.7rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--alba-gold);
  margin-bottom: 2.5rem;
}

.eat-menu-cover-label {
  font-size: 1.5rem;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #333;
  position: relative;
  padding: 0.5rem 0;
}

.eat-menu-cover-label::before,
.eat-menu-cover-label::after {
  content: '';
  position: absolute;
  left: 25%;
  width: 50%;
  height: 1px;
  background: var(--alba-gold);
}

.eat-menu-cover-label::before {
  top: 0;
}

.eat-menu-cover-label::after {
  bottom: 0;
}

/* Menu Details Right Page */
.eat-menu-page-right {
  padding-left: 3.5rem;
}

.eat-menu-section-title {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 3px;
  color: var(--alba-maroon);
  margin-bottom: 1.5rem;
  border-bottom: 1px double var(--alba-gold);
  padding-bottom: 5px;
  text-transform: uppercase;
}

.eat-menu-item {
  margin-bottom: 1.25rem;
}

.eat-menu-item-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 3px;
}

.eat-menu-item-name {
  font-size: 0.9rem;
  font-weight: 700;
  color: #222;
}

.eat-menu-item-price {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--alba-maroon);
}

.eat-menu-item-desc {
  font-size: 0.75rem;
  color: #666;
  font-style: italic;
}

/* Arrows */
.eat-menu-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  z-index: 12;
  transition: all 0.3s;
}

.eat-menu-arrow:hover {
  background: var(--alba-gold);
  color: #fff;
}

.eat-menu-arrow-left {
  left: 10px;
}

.eat-menu-arrow-right {
  right: 10px;
}

/* Book Footer Options */
.eat-menu-book-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.5rem;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.8rem;
}

.eat-menu-footer-icons {
  display: flex;
  gap: 20px;
}

.eat-menu-footer-icons i {
  cursor: pointer;
  transition: color 0.3s;
}

.eat-menu-footer-icons i:hover {
  color: var(--alba-gold);
}

.eat-menu-download-btn {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: color 0.3s;
  text-decoration: none;
}

.eat-menu-download-btn:hover {
  color: var(--alba-gold);
}

@media (max-width: 768px) {
  .eat-menu-book {
    flex-direction: column;
    min-height: auto;
  }

  .eat-menu-page {
    width: 100%;
    padding: 2rem;
  }

  .eat-menu-book::before {
    display: none;
  }
}

/* ==================== GALLERY ==================== */
.eat-gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-bottom: 2rem;
}

.eat-gallery-item {
  height: 120px;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}

.eat-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.eat-gallery-item:hover img {
  transform: scale(1.1);
}

.eat-gallery-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(109, 21, 44, 0.4);
  opacity: 0;
  transition: opacity 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.2rem;
}

.eat-gallery-item:hover .eat-gallery-overlay {
  opacity: 1;
}

.eat-gallery-btn-wrap {
  text-align: center;
}

.eat-btn-outline {
  border: 1px solid var(--alba-maroon);
  color: var(--alba-maroon);
  background: transparent;
  padding: 0.75rem 2rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 4px;
  transition: all 0.3s;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.eat-btn-outline:hover {
  background: var(--alba-maroon);
  color: #fff;
}

@media (max-width: 768px) {
  .eat-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ==================== OPERATING HOURS ==================== */
.eat-hours-list {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
}

.eat-hours-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(109, 21, 44, 0.05);
}

.eat-hours-item:last-child {
  border-bottom: none;
}

.eat-hours-label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #333;
}

.eat-hours-label i {
  color: var(--alba-gold);
}

.eat-hours-value {
  font-size: 0.85rem;
  font-weight: 600;
  color: #555;
}

.eat-btn-solid {
  background: var(--alba-maroon);
  color: #fff;
  border: none;
  width: 100%;
  padding: 1rem;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  border-radius: 4px;
  transition: opacity 0.3s;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.eat-btn-solid:hover {
  opacity: 0.9;
  color: #fff;
}

/* ==================== GUIDELINES ==================== */
.eat-guide-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.eat-guide-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 1.5rem;
}

.eat-guide-item:last-child {
  margin-bottom: 0;
}

.eat-guide-icon {
  font-size: 1.1rem;
  color: var(--alba-gold);
  flex-shrink: 0;
  margin-top: 3px;
}

.eat-guide-text {
  font-size: 0.85rem;
  color: #555;
  line-height: 1.6;
}

.eat-guide-text a {
  color: var(--alba-maroon);
  font-weight: 600;
  text-decoration: none;
}

.eat-guide-text a:hover {
  text-decoration: underline;
}

/* ==================== LOCATION ==================== */
.eat-map-container {
  border-radius: 6px;
  overflow: hidden;
  height: 160px;
  margin-bottom: 1.5rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.eat-map-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.eat-location-address {
  font-size: 0.85rem;
  color: #555;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* ==================== BOTTOM HORIZONTAL BAR ==================== */
.eat-bottom-bar {
  background: #fff;
  border-radius: 8px;
  border: 1px solid var(--alba-card-border);
  padding: 2rem;
  margin-top: 2rem;
}

.eat-bottom-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.eat-bottom-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  border-right: 1px solid rgba(109, 21, 44, 0.08);
  padding-right: 15px;
}

.eat-bottom-item:last-child {
  border-right: none;
  padding-right: 0;
}

.eat-bottom-icon {
  font-size: 1.8rem;
  color: var(--alba-gold);
  flex-shrink: 0;
}

.eat-bottom-title {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #222;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.eat-bottom-desc {
  font-size: 0.75rem;
  color: #666;
  line-height: 1.5;
}

@media (max-width: 991px) {
  .eat-bottom-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .eat-bottom-item:nth-child(2) {
    border-right: none;
  }
}

@media (max-width: 576px) {
  .eat-bottom-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .eat-bottom-item {
    border-right: none;
    padding-right: 0;
  }
}


.social-hero-bg {
  min-height: 80vh !important;
}

/* ==========================================
   Meetings & Conventions Custom Styles
   ========================================== */
.meetings-hero {
  padding: 13rem 0 10rem 0;
  min-height: 450px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.meetings-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%);
  z-index: 1;
}

@media (max-width: 991.98px) {
  .meetings-hero-overlay {
    background: linear-gradient(180deg, rgba(20, 10, 8, 0.9) 0%, rgba(20, 10, 8, 0.7) 100%);
  }
}

.meetings-hero-content {
  color: #fff;
  padding: 60px 0;
  position: relative;
  z-index: 5;
}

.meetings-hero-title {
  font-size: 2.8rem;
  font-family: var(--vr-sans);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.5px;
  color: #fff;
}

.meetings-hero-subtitle {
  font-size: 1.1rem;
  color: #d1a869;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
}

.meetings-hero-divider {
  width: 80px;
  height: 3px;
  background-color: #d1a869;
  margin: 20px 0;
}

.meetings-hero-features-list {
  margin: 25px 0 35px 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 30px;
}

@media (max-width: 575.98px) {
  .meetings-hero-features-list {
    grid-template-columns: 1fr;
  }

  .meetings-hero-title {
    font-size: 2rem;
  }
}

.meetings-hero-features-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 500;
}

.meetings-hero-features-list li i {
  color: #d1a869;
  font-size: 1.1rem;
}

.meetings-hero-address-bar {
  background-color: #d1a869;
  color: #fff;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 1px;
  border-radius: 4px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.meetings-hero-address-bar a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s;
}

.meetings-hero-address-bar a:hover {
  color: #6c011d;
}

/* 4 Grid Cards Style */
.gallery-card-item {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background-color: #fff;
}

.gallery-card-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.gallery-card-img-wrapper {
  height: 200px;
  overflow: hidden;
  position: relative;
}

.gallery-card-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.gallery-card-item:hover .gallery-card-img-wrapper img {
  transform: scale(1.08);
}

.gallery-card-label {
  background-color: #6c011d;
  color: #fff;
  padding: 12px 15px;
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 1px;
  transition: background-color 0.3s;
}

.gallery-card-item:hover .gallery-card-label {
  background-color: #520116;
}

/* Highlights Metrics Block */
.metrics-section {
  background-color: #faf7f2;
  padding: 60px 0;
  border-top: 1px solid #eae5d8;
  border-bottom: 1px solid #eae5d8;
}

.metric-box {
  padding: 20px 15px;
  background: #fff;
  border: 1px solid #ebe6da;
  border-radius: 8px;
  height: 100%;
  transition: transform 0.3s, box-shadow 0.3s;
}

.metric-box:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(108, 1, 29, 0.06);
  border-color: #d1a869;
}

.metric-icon {
  font-size: 2.2rem;
  color: #6c011d;
  margin-bottom: 15px;
}

.metric-title {
  font-family: var(--vr-sans);
  font-size: 1.25rem;
  font-weight: 700;
  color: #6c011d;
  margin-bottom: 5px;
}

.metric-desc {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #666;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* Specifications Table */
.table-section-title {
  font-family: var(--vr-sans);
  color: #6c011d;
  font-weight: 700;
}

.spec-table-container {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  border: 1px solid #eae5d8;
}

.spec-table {
  margin-bottom: 0;
  vertical-align: middle;
}

.spec-table thead th {
  background-color: #6c011d !important;
  color: #fff !important;
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: none;
  padding: 15px 12px;
}

.spec-table tbody td {
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  color: #2c2c2c;
  padding: 14px 12px;
  border-bottom: 1px solid #f0eae1;
}

.spec-table tbody tr:last-child td {
  border-bottom: none;
}

.spec-table tbody tr:nth-child(even) {
  background-color: #faf9f6;
}

.spec-table tbody tr:hover {
  background-color: #f5f0e6;
}

/* Contact Us Layout */
.contact-section-wrapper {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.contact-info-panel {
  background-color: #520116;
  color: #fff;
  padding: 50px 40px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.contact-info-title {
  font-family: var(--vr-sans);
  font-size: 2.2rem;
  font-weight: 700;
  border-bottom: 2px solid #d1a869;
  padding-bottom: 15px;
  margin-bottom: 30px;
}

.contact-info-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.contact-info-list li {
  margin-bottom: 25px;
  font-family: var(--vr-sans);
  font-size: 1rem;
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.contact-info-list li i {
  color: #d1a869;
  font-size: 1.25rem;
  margin-top: 3px;
}

.contact-form-panel {
  background-color: #fff;
  padding: 50px 40px;
}

.contact-form-title {
  font-family: var(--vr-sans);
  color: #6c011d;
  font-weight: 700;
  margin-bottom: 30px;
}

.contact-form-panel .form-control,
.contact-form-panel .form-select {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 10px 15px;
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  background-color: #fcfcfc;
  transition: all 0.3s;
}

.contact-form-panel .form-control:focus,
.contact-form-panel .form-select:focus {
  border-color: #6c011d;
  box-shadow: 0 0 0 3px rgba(108, 1, 29, 0.1);
  background-color: #fff;
}

/* Custom Buttons */
.btn-vr-primary {
  background-color: #6c011d;
  border-color: #6c011d;
  color: #fff;
  font-family: var(--vr-sans);
  font-weight: 700;
  padding: 12px 25px;
  border-radius: 6px;
  transition: all 0.3s ease;
  letter-spacing: 0.5px;
}

.btn-vr-primary:hover {
  background-color: #520116;
  border-color: #520116;
  color: #fff;
  transform: translateY(-2px);
}

.btn-vr-gold {
  background-color: #d1a869;
  border-color: #d1a869;
  color: #fff;
  font-family: var(--vr-sans);
  font-weight: 700;
  padding: 12px 25px;
  border-radius: 6px;
  transition: all 0.3s ease;
  letter-spacing: 0.5px;
}

.btn-vr-gold:hover {
  background-color: #b89154;
  border-color: #b89154;
  color: #fff;
  transform: translateY(-2px);
}

.btn-vr-outline {
  border: 2px solid #d1a869;
  color: #d1a869;
  background: transparent;
  font-family: var(--vr-sans);
  font-weight: 700;
  padding: 11px 25px;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.btn-vr-outline:hover {
  background-color: #d1a869;
  color: #fff;
  transform: translateY(-2px);
}


/* ==================== LEGAL PAGES STYLING ==================== */
.legal-content-sec {
  padding-top: 3rem;
  padding-bottom: 3rem;
  font-family: var(--vr-sans);
  color: #333;
  line-height: 1.8;
  background-color: #ffffff;
}

.legal-content-sec h3 {
  font-family: var(--vr-sans);
  color: #1a1a1a;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.legal-content-sec h4 {
  font-family: var(--vr-sans);
  color: #6c011d;
  margin-bottom: 10px;
  font-weight: 700;
}

.legal-contact-box {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background-color: #f9f9f9;
  border-left: 4px solid #6c011d;
}

.legal-content-sec a {
  color: #6c011d;
  text-decoration: none;
}

.legal-content-sec a:hover {
  text-decoration: underline;
}

/* ==================== FITNESS CENTER STYLING ==================== */
.fitness-hero-section {
  /* min-height: 85vh; */
  border-bottom: 5px solid var(--vr-maroon);
}

.fitness-hero-overlay {
  background: linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%)
}

.fitness-hero-container {
  padding-top: 120px;
}

.fitness-title {
  font-family: var(--vr-serif);
  letter-spacing: 1px;
}

.fitness-subtitle {
  color: #dcb36b;
  font-family: var(--vr-serif);
  font-size: 1.8rem;
  letter-spacing: 0.5px;
}

.fitness-description {
  font-size: 1rem;
  line-height: 1.6;
  opacity: 0.9;
  max-width: 480px;
}

.fitness-features-row {
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.fitness-feature-icon {
  color: #dcb36b !important;
}

.fitness-feature-title {
  font-size: 0.8rem;
  letter-spacing: 0.5px;
}

.fitness-feature-desc {
  font-size: 0.75rem;
  opacity: 0.7;
}

.fitness-overview-sec {
  background-color: #fbf9f4;
}

.fitness-overview-card {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.fitness-sec-title {
  color: #4b0e1b;
  font-family: var(--vr-serif);
  letter-spacing: 1px;
}

.fitness-overview-p {
  font-size: 0.9rem;
  line-height: 1.6;
  font-weight: 500;
}

.fitness-list-icon {
  color: #dcb36b;
}

.fitness-list-text {
  font-size: 0.85rem;
  font-weight: 600;
}

.fitness-video-placeholder {
  min-height: 400px;
}

.fitness-video-overlay {
  background-color: rgba(0, 0, 0, 0.35);
}

.fitness-play-btn {
  width: 65px;
  height: 65px;
  text-decoration: none;
  transition: 0.3s;
  background-color: rgba(0, 0, 0, 0.2);
}

.fitness-play-btn:hover {
  background-color: rgba(255, 255, 255, 0.2) !important;
}

.fitness-play-label {
  font-size: 0.85rem;
  letter-spacing: 1px;
}

.fitness-info-card {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  background-color: #fdfcf9 !important;
}

.fitness-info-title {
  color: #4b0e1b;
  font-size: 1.1rem;
  letter-spacing: 0.5px;
  font-family: var(--vr-serif);
}

.fitness-info-icon {
  color: #4b0e1b;
}

.fitness-info-p {
  font-size: 0.9rem;
}

.fitness-info-desc {
  font-size: 0.85rem;
  line-height: 1.6;
  font-weight: 500;
}

.fitness-btn-primary {
  background-color: #4b0e1b;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  border-radius: 4px;
  padding: 10px 0;
  transition: background-color 0.2s;
}

.fitness-btn-primary:hover {
  background-color: #2a080f !important;
}

.fitness-info-subtext {
  font-size: 0.8rem;
  line-height: 1.5;
  font-weight: 500;
}

.fitness-sec-subtitle {
  font-size: 0.95rem;
}

.fitness-link-action {
  color: #6d152c;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
}

.fitness-plan-card {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  background-color: #fdfcf9 !important;
}

.fitness-plan-card.popular {
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  border: 2px solid #dcb36b;
}

.fitness-popular-badge {
  background-color: #dcb36b;
  color: #4b0e1b;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 6px 15px;
}

.fitness-plan-icon {
  font-size: 2.2rem;
  color: #6d152c;
}

.fitness-plan-title {
  color: #4b0e1b;
  font-family: var(--vr-serif);
  letter-spacing: 0.5px;
}

.fitness-plan-desc {
  font-size: 0.85rem;
  font-weight: 500;
  min-height: 40px;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.fitness-plan-price {
  color: #6d152c;
  font-size: 1.8rem;
}

.fitness-plan-period {
  font-size: 0.85rem;
}

.fitness-plan-btn {
  border: 1px solid #ddd;
  color: #222;
  font-size: 0.8rem;
  letter-spacing: 0.5px;
}

.fitness-plan-btn.popular {
  background-color: #4b0e1b;
  color: #fff;
  border: none;
}

.fitness-features-title {
  font-size: 0.8rem;
}

.fitness-plan-feature-item {
  font-size: 0.8rem;
  font-weight: 500;
}

.fitness-plan-feature-check {
  color: #6d152c;
}

.fitness-benefits-banner {
  background-color: #f8f6f0;
}

.fitness-benefits-info {
  max-width: 300px;
}

.fitness-benefits-icon {
  font-size: 2.2rem;
  color: #a67c42;
}

.fitness-benefits-title {
  color: #6d152c;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
}

.fitness-benefits-desc {
  font-size: 0.75rem;
  line-height: 1.4;
  font-weight: 500;
}

.fitness-benefit-icon {
  color: #a67c42;
}

.fitness-benefit-text {
  font-size: 0.7rem;
  line-height: 1.2;
  font-weight: 600;
  width: 70px;
}

.fitness-cta-banner {
  background-color: #380b14;
}

.fitness-cta-icon {
  opacity: 0.9;
}

.fitness-cta-title {
  font-size: 1rem;
  letter-spacing: 0.5px;
}

.fitness-cta-desc {
  font-size: 0.85rem;
  line-height: 1.5;
  opacity: 0.85;
  max-width: 500px;
}

.fitness-cta-btn {
  border: 1px solid rgba(255, 255, 255, 0.4);
  max-width: 350px;
  font-size: 0.85rem;
  letter-spacing: 1px;
  transition: 0.3s;
}

.fitness-cta-btn:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Event Voucher Styles */
.vr-voucher-ticket {
  background: linear-gradient(135deg, #FAF6F0 0%, #F5EEDC 100%);
  border: 1px dashed #ebdcb9;
  border-radius: 8px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  margin-top: auto;
  margin-bottom: 12px;
  box-shadow: 0 2px 6px rgba(108, 1, 29, 0.04);
}

.vr-voucher-ticket::before,
.vr-voucher-ticket::after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  background-color: #fff;
  /* matches the card background */
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid #ebdcb9;
}

.vr-voucher-ticket::before {
  left: -6px;
  border-left-color: transparent;
}

.vr-voucher-ticket::after {
  right: -6px;
  border-right-color: transparent;
}

.vr-voucher-ticket .voucher-icon-circle {
  width: 32px;
  height: 32px;
  background: #6c011d;
  border-radius: 50%;
  color: #fff;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vr-voucher-ticket .ticket-info {
  text-align: left;
}

.vr-voucher-ticket .ticket-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #6c011d;
  font-weight: 700;
  display: block;
  line-height: 1.1;
}

.vr-voucher-ticket .ticket-title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #333;
  display: block;
  margin-top: 1px;
  line-height: 1.2;
}

.voucher-btn {
  background: #6c011d;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.85rem;
  gap: 8px;
  border: none;
  transition: background 0.2s ease;
}

.voucher-btn i {
  transform: rotate(-45deg);
}

.voucher-btn:hover {
  background-color: #540116 !important;
  color: #fff !important;
}

/* Event Detail Voucher Page Redesign */
.voucher-detail-card {
  border: 1px solid #ebdcb9;
  border-radius: 12px;
  background-color: #FAF8F5;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.voucher-detail-header {
  background-color: #540116;
  color: #fff;
  padding: 20px;
  text-align: center;
}

.voucher-detail-header h4 {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 1px;
  margin: 0;
  text-transform: uppercase;
  color: #fff;
}

.voucher-detail-body {
  padding: 25px 20px;
}

.voucher-value-box {
  border: 1px dashed #d1a869;
  border-radius: 8px;
  background-color: #fff;
  padding: 20px;
  text-align: center;
  margin-bottom: 25px;
}

.voucher-value-box span {
  font-size: 0.75rem;
  letter-spacing: 1px;
  color: #8c8c8f;
  text-transform: uppercase;
  font-weight: 600;
}

.voucher-value-box h2 {
  font-size: 3rem;
  font-weight: 800;
  color: #540116;
  margin: 10px 0;
}

.voucher-value-box p {
  font-size: 0.8rem;
  font-weight: 700;
  color: #2c2520;
  margin: 0;
}

.voucher-bullet-list {
  list-style: none;
  padding: 0;
  margin: 0 0 25px 0;
}

.voucher-bullet-list li {
  font-size: 0.85rem;
  color: #2c2520;
  margin-bottom: 12px;
  display: flex;
  align-items: start;
  gap: 10px;
}

.voucher-bullet-list li i {
  color: #0b7a54;
  margin-top: 3px;
}

.voucher-buy-btn {
  background-color: #d1a869;
  color: #fff;
  width: 100%;
  padding: 14px;
  font-weight: 700;
  border-radius: 8px;
  font-size: 0.95rem;
  border: none;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.3s ease;
}

.voucher-buy-btn:hover {
  background-color: #bfa15c;
  color: #fff;
}

.voucher-checkout-note {
  text-align: center;
  font-size: 0.75rem;
  color: #8c8c8f;
  margin-top: 15px;
}

/* What to Expect Grid */
.expect-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin-top: 25px;
  margin-bottom: 35px;
}

.expect-card {
  background: #FAF8F5;
  border-radius: 12px;
  padding: 20px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.expect-icon-circle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #ebdcb9;
  color: #d1a869;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  margin-bottom: 12px;
}

.expect-card span {
  font-size: 0.8rem;
  font-weight: 600;
  color: #2c2520;
  line-height: 1.3;
}

/* Important Info Row */
.info-row-banner {
  background: #FAF8F5;
  border-radius: 12px;
  padding: 25px;
  margin-top: 35px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.info-col {
  display: flex;
  gap: 15px;
}

.info-icon-box {
  font-size: 1.5rem;
  color: #d1a869;
  margin-top: 3px;
}

.info-text-box h5 {
  font-size: 0.85rem;
  font-weight: 700;
  color: #2c2520;
  margin: 0 0 5px 0;
}

.info-text-box p {
  font-size: 0.75rem;
  color: #8c8c8f;
  margin: 0;
  line-height: 1.4;
}

/* Gallery Thumbnails */
.event-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.event-gallery-item {
  border-radius: 8px;
  overflow: hidden;
  height: 90px;
}

.event-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 767px) {
  .expect-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .info-row-banner {
    grid-template-columns: 1fr;
  }

  .event-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Resort Highlights dynamic style rules */
.highlight-card {
  display: block;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.highlight-card:hover {
  transform: translateY(-5px);
}

.highlight-card:hover .highlight-img {
  transform: scale(1.08);
}

.highlight-card-body {
  aspect-ratio: 3/4;
  background-color: #ffffff;
}

.highlight-img {
  object-fit: cover;
  top: 0;
  left: 0;
  transition: transform 0.5s ease;
}

.highlight-overlay {
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.85) 100%);
  z-index: 1;
}

.highlight-title-container {
  bottom: 0;
  left: 0;
  z-index: 2;
}

.highlight-title {
  font-size: 1rem;
  letter-spacing: 1px;
  /*text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);*/
}

/* Reusable Premium Highlights Bar */
.vr-highlights-bar {
  background-color: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-bottom: none !important;
  border-radius: 12px 12px 0 0 !important;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.03) !important;
  padding: 1.8rem 2.5rem !important;
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}

.vr-highlights-bar .feature-item {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  background: transparent !important;
}

.vr-highlights-bar .feature-icon {
  width: auto !important;
  height: auto !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-size: 1.8rem !important;
  color: #dcb36b !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.vr-highlights-bar .feature-title {
  font-family: var(--vr-sans);
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #2c2520 !important;
  margin-bottom: 2px !important;
  text-transform: uppercase !important;
}

.vr-highlights-bar .feature-desc {
  font-family: var(--vr-sans);
  font-size: 0.75rem !important;
  color: #666666 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

/* Reusable Premium Floating Hero Highlights Bar */
.vr-hero-highlights-bar-section {
  position: relative !important;
  z-index: 10 !important;
  margin-top: -50px !important;
  margin-bottom: 20px !important;
}

.vr-hero-highlights-bar {
  background-color: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
  padding: 2.5rem 2rem 1rem 2rem !important;
}

.vr-hero-highlights-bar .highlight-item {
  display: flex !important;
  align-items: start !important;
  gap: 15px !important;
}

.vr-hero-highlights-bar .highlight-icon {
  font-size: 1.8rem !important;
  color: #dcb36b !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

.vr-hero-highlights-bar .highlight-title {
  font-family: var(--vr-sans);
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #2c2520 !important;
  margin-bottom: 2px !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

.vr-hero-highlights-bar .highlight-desc {
  font-family: var(--vr-sans);
  font-size: 0.75rem !important;
  color: #666666 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}

.vr-hero-highlights-bar .highlight-desc:empty {
  display: none !important;
}

/* ==========================================================================
   VR UNIFIED HERO LAYOUT & SIZE
   ========================================================================== */
.vr-unified-hero {
  overflow: visible !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  min-height: 85vh !important;
  padding-top: 120px !important;
  padding-bottom: 120px !important;
  margin-top: 0 !important;
  /* Reset any header negative margins */
  margin-bottom: 0 !important;
}

/* Specific page overrides to maintain vertical centering inside standard heroes */
.vr-unified-hero .vr-sports-hero-container,
.vr-unified-hero .fitness-hero-container,
.vr-unified-hero .meetings-hero-content,
.vr-unified-hero .cu-hero-inner,
.vr-unified-hero .oo-hero-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Ensure content containers inside unified heroes are positioned above overlays */
.vr-unified-hero .container,
.vr-unified-hero .container-fluid,
.vr-unified-hero .vr-sports-hero-container,
.vr-unified-hero .fitness-hero-container,
.vr-unified-hero .meetings-hero-content {
  position: relative !important;
  z-index: 2 !important;
}
.amenities-hero-content .oo-divider 
{
display:none;
}
@media (max-width: 991px) {
  .vr-unified-hero {
    min-height: 85vh !important;
    padding-top: 140px !important;
    padding-bottom: 80px !important;
  }
}

/* Standardized Typography inside Unified Hero Sections */
.vr-unified-hero h1,
.vr-unified-hero .vr-hero-title,
.vr-unified-hero .stays-hero-title,
.vr-unified-hero .golf-hero-title-main,
.vr-unified-hero .amenities-hero-title,
.vr-unified-hero .vr-sports-hero-title,
.vr-unified-hero .fitness-title,
.vr-unified-hero .meetings-hero-title,
.vr-unified-hero .social-hero-title,
.vr-unified-hero .pkg-hero-title,
.vr-unified-hero .eat-hero-title,
.vr-unified-hero .cu-hero-left h1,
.vr-unified-hero .oo-hero-title,
.vr-unified-hero .vr-wellness-hero-title {
  color: #ffffff !important;
  font-family: var(--vr-sans);
  font-size: 50px !important;
  text-transform:uppercase;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
  margin-bottom: 1rem !important;
}

@media (max-width: 991px) {

  .vr-unified-hero h1,
  .vr-unified-hero .vr-hero-title,
  .vr-unified-hero .stays-hero-title,
  .vr-unified-hero .golf-hero-title-main,
  .vr-unified-hero .amenities-hero-title,
  .vr-unified-hero .vr-sports-hero-title,
  .vr-unified-hero .fitness-title,
  .vr-unified-hero .meetings-hero-title,
  .vr-unified-hero .social-hero-title,
  .vr-unified-hero .pkg-hero-title,
  .vr-unified-hero .eat-hero-title,
  .vr-unified-hero .cu-hero-left h1,
  .vr-unified-hero .oo-hero-title,
  .vr-unified-hero .vr-wellness-hero-title {
    font-size: 2.1rem !important;
  }
}

/* Subtitle styling inside heroes */
.vr-unified-hero h2,
.vr-unified-hero h3,
.vr-unified-hero h4,
.vr-unified-hero h5,
.vr-unified-hero h6,
.vr-unified-hero .vr-hero-subtitle-gold,
.vr-unified-hero .golf-hero-title-top,
.vr-unified-hero .golf-hero-tagline,
.vr-unified-hero .fitness-subtitle,
.vr-unified-hero .vr-sports-hero-subtitle,
.vr-unified-hero .social-hero-span,
.vr-unified-hero .meetings-hero-subtitle,
.vr-unified-hero .amenities-hero-subtitle,
.vr-unified-hero .cu-hero-tagline,
.vr-unified-hero .oo-hero-tagline,
.vr-unified-hero .vr-wellness-hero-subtitle {
  color: #dcb36b !important;
  font-family: var(--vr-sans);
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin-bottom: 1rem !important;
}

/* Description styling inside heroes */
.vr-unified-hero p,
.vr-unified-hero .vr-hero-desc,
.vr-unified-hero .stays-hero-desc,
.vr-unified-hero .golf-hero-desc,
.vr-unified-hero .fitness-description,
.vr-unified-hero .vr-sports-hero-desc,
.vr-unified-hero .social-hero-desc,
.vr-unified-hero .meetings-hero-desc,
.vr-unified-hero .pkg-hero-desc,
.vr-unified-hero .eat-hero-desc,
.vr-unified-hero .cu-hero-desc,
.vr-unified-hero .oo-hero-desc,
.vr-unified-hero .vr-wellness-hero-desc {
  color: rgba(255, 255, 255, 0.85) !important;
  font-family: var(--vr-sans);
  font-size: 1.125rem !important;
  line-height: 1.6 !important;
  max-width: 650px !important;
  margin-top: 1rem !important;
  margin-bottom: 2rem !important;
}

/* Elegant Flat Active-Underlined Tabs for Event / Package Filter Bar */
.pkg-filter-sec {
  background: #fff !important;
  border-bottom: 1px solid #eaeaea !important;
  padding: 0 !important;
}

.pkg-filters {
  display: flex !important;
  justify-content: center !important;
  gap: 0 !important;
  padding-bottom: 0 !important;
}

.pkg-filters li a {
  background: none !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  padding: 18px 30px !important;
  font-family: var(--vr-sans);
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #666 !important;
  transition: all 0.25s !important;
}

.pkg-filters li.active a,
.pkg-filters li a:hover {
  background: none !important;
  color: #6c011d !important;
  border-bottom-color: #6c011d !important;
}

/* Add spacing clearance on Events filter bar to offset overlapping card */
.vr-events-filter-sec {
  padding-top: 45px !important;
}

/* Guarantee exact height match of cards and buttons */
.row.g-4 {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

.pkg-item {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: auto !important;
}

.pkg-item.d-none {
  display: none !important;
}

.pkg-item .blog-post.card {
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.pkg-item .blog-post.card .card-body {
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

/* Unified Common Help Banner styling */
.vr-common-help-banner {
  background: linear-gradient(135deg, #540116 0%, #3a000e 100%) !important;
  color: #fff !important;
  padding: 4rem 0 2rem 0 !important;
  /* Adjusted for visual vertical balance */
  position: relative !important;
  overflow: hidden !important;
  border-top: 3px solid #ebdcb9 !important;
  /* elegant gold top border line */
}

.vr-common-help-banner::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: radial-gradient(circle at center, rgba(235, 220, 185, 0.08) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

.help-banner-content {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  width: 100% !important;
}

.help-left {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
}

.help-icon {
  font-size: 2.2rem !important;
  color: #ebdcb9 !important;
}

.help-text h4 {
  font-family: var(--vr-sans);
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  margin: 0 0 0.25rem 0 !important;
  color: #ebdcb9 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.help-text p {
  font-family: var(--vr-sans);
  font-size: 0.9rem !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

.vr-common-help-banner .btn-help-solid {
  background-color: #ebdcb9 !important;
  color: #540116 !important;
  border: 1px solid #ebdcb9 !important;
  padding: 0.6rem 1.5rem !important;
  font-weight: 700 !important;
  font-family: var(--vr-sans);
  font-size: 0.8rem !important;
  letter-spacing: 0.5px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
}

.vr-common-help-banner .btn-help-solid:hover {
  background-color: #fff !important;
  border-color: #fff !important;
  color: #540116 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
}

.vr-common-help-banner .btn-help-outline {
  background-color: transparent !important;
  color: #ebdcb9 !important;
  border: 1px solid #ebdcb9 !important;
  padding: 0.6rem 1.5rem !important;
  font-weight: 700 !important;
  font-family: var(--vr-sans);
  font-size: 0.8rem !important;
  letter-spacing: 0.5px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
}

.vr-common-help-banner .btn-help-outline:hover {
  background-color: rgba(235, 220, 185, 0.1) !important;
  color: #fff !important;
  border-color: #fff !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 768px) {
  .help-banner-content {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .help-left {
    align-items: flex-start !important;
  }
}

/* Eliminate empty white space between help banner and subscription banner */
.vr-common-help-banner+.vr-subscribe-banner {
  margin-top: 0 !important;
}


/* ==================== STYLES MOVED FROM meeting-conventions.php ==================== */

.metric-fancy-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 35px 25px;
  border: 1px solid rgba(209, 168, 105, 0.3);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: hidden;
  z-index: 1;
}

.metric-fancy-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #6c011d, #d1a869);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.metric-fancy-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(108, 1, 29, 0.1);
  border-color: #d1a869;
}

.metric-fancy-card:hover::before {
  opacity: 1;
}

.metric-fancy-icon-wrapper {
  width: 70px;
  height: 70px;
  background: rgba(209, 168, 105, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #6c011d;
  transition: all 0.4s ease;
  box-shadow: 0 0 0 0 rgba(209, 168, 105, 0.4);
}

.metric-fancy-icon-wrapper i,
.metric-fancy-icon-wrapper svg {
  color: #6c011d !important;
  fill: #6c011d !important;
  transition: all 0.4s ease;
}

.metric-fancy-card:hover .metric-fancy-icon-wrapper {
  background: #6c011d;
  color: #ffffff;
  box-shadow: 0 0 0 8px rgba(209, 168, 105, 0.2);
  transform: scale(1.05);
}

.metric-fancy-card:hover .metric-fancy-icon-wrapper i,
.metric-fancy-card:hover .metric-fancy-icon-wrapper svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.metric-fancy-title {
  font-family: var(--vr-sans);
  color: #1a1a1a;
  font-size: 1.35rem;
  font-weight: 700;
  transition: color 0.3s ease;
}

.metric-fancy-card:hover .metric-fancy-title {
  color: #6c011d;
}

.metric-fancy-desc {
  font-family: var(--vr-sans);
  color: #666;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.6;
}

/* Floating Metrics Bar Styles */
.metrics-floating-section {
  z-index: 10;
}

.metrics-floating-bar {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(209, 168, 105, 0.2);
  padding: 30px 40px;
  position: relative;
  transition: all 0.4s ease;
}

.metrics-floating-bar:hover {
  box-shadow: 0 20px 50px rgba(108, 1, 29, 0.08);
  border-color: rgba(209, 168, 105, 0.4);
}

.metric-bar-item {
  display: flex;
  align-items: center;
  gap: 16px;
  width: auto;
  transition: transform 0.3s ease;
}

.metric-bar-item:hover {
  transform: translateY(-2px);
}

.metric-bar-icon {
  font-size: 2.2rem;
  color: #d1a869;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.metric-bar-icon i,
.metric-bar-icon svg {
  color: #d1a869 !important;
  fill: #d1a869 !important;
  transition: all 0.3s ease;
}

.metric-bar-item:hover .metric-bar-icon {
  transform: scale(1.1);
}

.metric-bar-item:hover .metric-bar-icon i,
.metric-bar-item:hover .metric-bar-icon svg {
  color: #6c011d !important;
  fill: #6c011d !important;
}

.metric-bar-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.metric-bar-num {
  font-family: var(--vr-sans);
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.2;
  transition: color 0.3s ease;
}

.metric-bar-item:hover .metric-bar-num {
  color: #6c011d;
}

.metric-bar-label {
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  color: #777777;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  line-height: 1.2;
}

@media (max-width: 991.98px) {
  .metrics-floating-bar-wrapper {
    margin-top: -30px !important;
  }

  .metrics-floating-bar {
    padding: 25px 20px;
  }

  .metric-bar-num {
    font-size: 1.2rem;
  }

  .metric-bar-label {
    font-size: 0.7rem;
    letter-spacing: 1px;
  }

  .metric-bar-icon {
    font-size: 1.8rem;
  }
}

@media (max-width: 575.98px) {
  .metrics-floating-bar-wrapper {
    margin-top: -20px !important;
  }

  .metric-bar-item {
    justify-content: flex-start;
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
  }
}


.room-specs-swiper {
  padding-bottom: 50px;
  position: relative;
}

.room-spec-image-card {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  transition: all 0.4s ease;
  border: 1px solid rgba(209, 168, 105, 0.2);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.room-spec-image-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(108, 1, 29, 0.1);
  border-color: #d1a869;
}

.room-spec-img-wrapper {
  position: relative;
  height: 160px;
  overflow: hidden;
}

.room-spec-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.room-spec-image-card:hover .room-spec-img-wrapper img {
  transform: scale(1.08);
}

.room-spec-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(26, 59, 43, 0.9) 100%);
}

.room-spec-content {
  padding: 25px 15px 15px;
  position: relative;
  margin-top: -30px;
  background: #fff;
  border-radius: 16px 16px 0 0;
  z-index: 2;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.room-spec-icon-wrapper {
  width: 45px;
  height: 45px;
  background: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: #6c011d;
  margin-top: -50px;
  box-shadow: 0 5px 15px rgba(108, 1, 29, 0.15);
  border: 2px solid #fbfaf8;
  transition: all 0.4s ease;
  z-index: 3;
}

.room-spec-image-card:hover .room-spec-icon-wrapper {
  background: #6c011d;
  color: #ffffff;
  transform: rotateY(360deg);
  border-color: #d1a869;
}

.room-spec-title {
  font-family: var(--vr-sans);
  color: #1a1a1a;
  font-size: 1.2rem;
  font-weight: 800;
  margin-bottom: 5px;
}

.room-spec-name {
  font-family: var(--vr-sans);
  color: #6c011d;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}

.room-spec-dimensions {
  font-family: var(--vr-sans);
  color: #555;
  font-size: 0.8rem;
  background: #f4f1ea;
  padding: 6px 12px;
  border-radius: 20px;
  display: inline-block;
  border: 1px solid rgba(209, 168, 105, 0.3);
  margin-top: auto;
}

.room-specs-swiper .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background-color: #d1a869;
  opacity: 0.5;
  margin: 0 5px !important;
  transition: all 0.3s ease;
}

.room-specs-swiper .swiper-pagination-bullet-active {
  opacity: 1;
  background-color: #6c011d;
  transform: scale(1.2);
}


.fullwidth-contact-banner {
  background-color: #500a18;
  padding: 40px 30px;
  color: #fff;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.06);
}

.fullwidth-contact-banner .contact-info-title {
  font-family: var(--vr-sans);
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 25px;
  color: #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 10px;
  display: inline-block;
}

.fullwidth-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 20px;
}

.fullwidth-contact-list li {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  align-items: center;
  gap: 15px;
  background: rgba(255, 255, 255, 0.05);
  padding: 15px 12px;
  border-radius: 8px;
  border: 1px solid rgba(209, 168, 105, 0.2);
  text-align: left;
}

.fullwidth-contact-list li i {
  color: #d1a869;
  font-size: 1.8rem;
}

.fullwidth-contact-list h6 {
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 5px;
  color: #fff;
  font-family: var(--vr-sans);
}

.fullwidth-contact-list a,
.fullwidth-contact-list span {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  text-decoration: none;
  font-family: var(--vr-sans);
}

/* Modal Styles */
.inquiry-modal .modal-content {
  border: none;
  border-radius: 12px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.inquiry-modal .modal-header {
  background-color: #fbfaf8;
  border-bottom: 1px solid #eaeaea;
  padding: 25px 40px;
  border-radius: 12px 12px 0 0;
}

.inquiry-modal .modal-title {
  font-family: var(--vr-sans);
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a3b2b;
}

.inquiry-modal .modal-body {
  padding: 40px;
  background: #fff;
}

.unified-contact-right .form-label {
  font-size: 0.8rem;
  color: #777;
  font-weight: 600;
  margin-bottom: 6px;
}

.unified-contact-right .form-control,
.unified-contact-right .form-select {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 10px 15px;
  font-size: 0.9rem;
  box-shadow: none !important;
  background-color: #fff;
}

.unified-contact-right .form-control:focus,
.unified-contact-right .form-select:focus {
  border-color: #1a3b2b;
}

.unified-section-title {
  font-family: var(--vr-sans);
  color: #500a18;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 20px;
  margin-top: 40px;
}

.unified-section-title:first-child {
  margin-top: 0;
}

.unified-top-text {
  color: #666;
  font-size: 0.95rem;
  margin-bottom: 30px;
}

@media (max-width: 991.98px) {
  .fullwidth-contact-list {
    flex-wrap: wrap;
  }

  .fullwidth-contact-list li {
    flex: 1 1 45%;
    min-width: 200px;
  }
}

@media (max-width: 767.98px) {
  .fullwidth-contact-list li {
    flex: 1 1 100%;
  }

  .inquiry-modal .modal-body {
    padding: 25px;
  }
}


.policies-nav-tabs {
  border-bottom: 2px solid #eaeaea;
  justify-content: center;
  gap: 10px;
}

.policies-nav-tabs .nav-link {
  border: none;
  background: transparent;
  color: #1a3b2b;
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 0.95rem;
  padding: 10px 14px;
  position: relative;
  transition: all 0.3s ease;
}

.policies-nav-tabs .nav-link:hover {
  color: #d1a869;
}

.policies-nav-tabs .nav-link.active {
  color: #6c011d;
  background: transparent;
}

.policies-nav-tabs .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #6c011d;
}

.policies-content-card {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  padding: 40px;
  border: 1px solid #f0f0f0;
}

.policies-content-card p {
  color: #555;
  font-size: 0.95rem;
  line-height: 1.8;
  margin-bottom: 0;
  font-family: var(--vr-sans);
}

.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Custom Premium Styles for Social Gathering Page */
.social-sec-title {
  font-family: var(--vr-sans);
  font-size: 2.2rem;
  letter-spacing: 1px;
  color: var(--vr-maroon);
}

.social-divider {
  width: 60px;
  height: 3px;
  background-color: var(--vr-gold);
  margin: 15px auto 0;
}

.vr-event-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  height: 400px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  cursor: pointer;
}

.vr-event-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.vr-event-card:hover img {
  transform: scale(1.08);
}

.vr-event-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  transition: background 0.4s ease;
}

.vr-event-card:hover .vr-event-overlay {
  background: rgba(0, 0, 0, 0.7);
}

.vr-event-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 30px;
  text-align: center;
  color: #fff;
  transition: transform 0.4s ease;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  height: 100%;
  z-index: 2;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.8);
}
.vr-event-content h6,
.vr-event-btn
{
    text-align:center !important;
    margin:0 auto;
}
.vr-event-icon {
  width: 40px;
  height: 40px;
  margin:0 auto;
  background: rgba(209, 168, 105, 0.15);
  border: 1px solid rgba(209, 168, 105, 0.4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  color: #d1a869;
  font-size: 0.9rem;
  transition: all 0.4s ease;
}

.vr-event-card:hover .vr-event-icon {
  background: #d1a869;
  color: #1a3b2b;
  transform: translateY(-5px);
}

.vr-event-title {
  font-family: var(--vr-sans);
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
  transition: margin 0.4s ease;
}

.vr-event-card:hover .vr-event-title {
  margin-bottom: 10px;
}

.vr-event-desc {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: #d8dfdb;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
  line-height: 1.6;
}

.vr-event-card:hover .vr-event-desc {
  opacity: 1;
  max-height: 120px;
  margin-bottom: 20px;
}

.vr-event-btn {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s ease;
  background: transparent;
  color: #d1a869;
  padding: 0 24px;
  border: none;
  max-height: 0;
  overflow: hidden;
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 4px;
  letter-spacing: 1px;
}

.vr-event-card:hover .vr-event-btn {
  opacity: 1;
  transform: translateY(0);
  max-height: 50px;
  padding: 10px 24px;
  border: 1px solid #d1a869;
}

.vr-event-btn:hover {
  background: #d1a869 !important;
  color: #1a3b2b !important;
}

/* Modal Custom Styling */
.modal-thumbnails-container::-webkit-scrollbar {
  height: 6px;
}

.modal-thumbnails-container::-webkit-scrollbar-thumb {
  background: rgba(99, 11, 36, 0.2);
  border-radius: 3px;
}

.modal-thumbnail-img {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  border: 2px solid transparent;
  opacity: 0.7;
  transition: all 0.3s ease;
}

.modal-thumbnail-img:hover,
.modal-thumbnail-img.active {
  opacity: 1;
  border-color: var(--vr-gold);
}

.modal-feature-badge {
  background-color: rgba(99, 11, 36, 0.05);
  color: var(--vr-maroon);
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 12px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.modal-perfect-item {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: var(--vr-text-muted);
  display: flex;
  align-items: start;
  gap: 8px;
  margin-bottom: 8px;
}

.modal-perfect-item i {
  color: var(--vr-gold);
  margin-top: 3px;
}

.sec-subtitle-gold {
  color: var(--vr-gold);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.sec-title-maroon {
  font-family: var(--vr-sans);
  color: var(--vr-maroon);
  font-weight: 700;
}

/* Footer Contact Banner Classes */
.vr-footer-banner-sec {
  background-color: #fcfaf5;
  z-index: 10;
  margin-bottom: 0;
  padding-bottom: 0;
}

.vr-footer-contact-card {
  background-color: #4b0e1b;
  color: white;
  border-radius: 1.5rem 1.5rem 0 0;
  margin-top: -60px;
  margin-bottom: 0;
}

.vr-card-divider {
  width: 300px;
  height: 1px;
  background-color: rgba(209, 168, 105, 0.4);
}

.vr-contact-banner-item {
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.3s ease;
}

.vr-contact-banner-item:hover {
  background-color: rgba(255, 255, 255, 0.08) !important;
}

.vr-contact-icon-gold {
  color: #d1a869;
}

.vr-cta-btn-gold {
  background-color: #d1a869;
  color: #3a0a14;
  border-radius: 4px;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  text-transform: uppercase;
}

.vr-cta-btn-gold:hover {
  background-color: #e3bc7c !important;
  color: #3a0a14 !important;
  transform: translateY(-2px);
}

/* Meetings & Conventions Page Custom Classes */
.vr-about-subtitle-maroon {
  color: #6c011d;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-family: var(--vr-sans);
}

.vr-about-title-maroon {
  color: #6c011d;
  font-family: var(--vr-sans);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 25px;
}

.vr-about-desc-wrap {
  font-family: var(--vr-sans);
  color: #555;
  font-size: 1.05rem;
  line-height: 1.8;
}

.vr-about-quote-box {
  color: #6c011d;
  font-weight: 600;
  font-style: italic;
  border-left: 3px solid #d1a869;
  padding-left: 15px;
}

.vr-about-image-shadow {
  object-fit: cover;
  max-height: 450px;
  border-radius: 24px;
}

.vr-pkg-sec-gold {
  background-color: #f4f1ea;
}

.vr-pkg-gold-star-divider {
  width: 50px;
  height: 2px;
  background-color: #d1a869;
}

.vr-pkg-gold-star {
  color: #d1a869;
  font-size: 0.8rem;
}

.vr-pkg-carousel-indicator-gold {
  background-color: #1a3b2b;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin: 0 5px;
}

.vr-pkg-carousel-control {
  width: auto;
  padding: 0 20px;
}

.vr-pkg-carousel-control-icon {
  background-color: rgba(0, 0, 0, 0.3);
  width: 40px;
  height: 40px;
}

.vr-proposal-btn-submit-direct {
  background-color: #d1a869;
  color: #1a1a1a;
  font-weight: 700;
  font-family: var(--vr-sans);
  font-size: 1rem;
  border-radius: 4px;
  border: none;
  letter-spacing: 1px;
  box-shadow: 0 5px 15px rgba(209, 168, 105, 0.4);
  transition: transform 0.3s ease;
}

.vr-proposal-btn-submit-direct:hover {
  transform: translateY(-2px);
  color: #1a1a1a !important;
}

.vr-proposal-modal-dialog-style {
  background-color: #fafafa;
  border-radius: 8px;
  border: 1px solid #ddd;
}

.vr-proposal-modal-header-title {
  font-family: var(--vr-sans);
  color: #1a3b2b;
  border-bottom: 2px solid #eaeaea;
  padding-bottom: 10px;
}

.vr-proposal-modal-text-input {
  border: none;
  border-bottom: 1px solid #ccc;
  border-radius: 0;
  background: transparent;
  padding-left: 0;
}

.vr-proposal-modal-textarea {
  border: 1px solid #ccc;
  border-radius: 4px;
  resize: vertical;
}

/* Custom Premium Styles for Celebrations Page */
:root {
  --vr-maroon: #630b24;
  --vr-maroon-hover: #4e081c;
  --vr-gold: #c59b27;
  --vr-gold-light: #e5c158;
  --vr-bg-cream: #fbf9f4;
  --vr-text-dark: #222222;
  --vr-text-muted: #666666;
}

.celebrations-title {
  font-family: var(--vr-sans);
  font-size: 2.2rem;
  letter-spacing: 1px;
  color: var(--vr-maroon);
}

.celebrations-divider {
  width: 60px;
  height: 3px;
  background-color: var(--vr-gold);
  margin: 15px auto 0;
}

.social-card {
  border: 1px solid rgba(99, 11, 36, 0.08);
  border-radius: 12px;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  background-color: #ffffff;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.social-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(99, 11, 36, 0.08) !important;
  border-color: rgba(197, 155, 39, 0.4);
}

.social-card-img-wrap {
  position: relative;
  overflow: hidden;
  height: 270px;
  background-color: #f5f5f5;
}

.social-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.social-card:hover .social-card-img {
  transform: scale(1.08);
}

.social-card-icon-wrap {
  width: 44px;
  height: 44px;
  margin-top: -22px;
  background-color: var(--vr-maroon);
  border: 2px solid #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  z-index: 10;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease;
}

.social-card:hover .social-card-icon-wrap {
  background-color: var(--vr-gold);
  transform: scale(1.1);
  box-shadow: 0 4px 15px rgba(197, 155, 39, 0.3);
}

.social-card-body {
  padding: 15px 15px 25px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-align: center;
}

.social-card-title {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--vr-text-dark);
  letter-spacing: 0.5px;
  transition: color 0.3s ease;
}

.social-card:hover .social-card-title {
  color: var(--vr-maroon);
}

.social-card-desc {
  font-family: var(--vr-sans);
  color: var(--vr-text-muted);
  font-size: 0.75rem;
  line-height: 1.5;
  margin-bottom: 20px;
  flex-grow: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.btn-celebrations-action {
  background-color: #d1a869;
  border: 1px solid #d1a869;
  color: #1a1a1a;
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 10px 16px;
  border-radius: 4px;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  width: 100%;
}

.btn-celebrations-action:hover {
  background-color: #c59b27;
  border-color: #c59b27;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(197, 155, 39, 0.2);
}

.btn-celebrations-info {
  background-color: transparent;
  border: 1.5px solid var(--vr-maroon);
  color: var(--vr-maroon);
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 8px 16px;
  border-radius: 4px;
  transition: all 0.3s ease;
  width: 100%;
}

.btn-celebrations-info:hover {
  background-color: var(--vr-maroon);
  color: #ffffff;
  border-color: var(--vr-maroon);
  box-shadow: 0 4px 12px rgba(99, 11, 36, 0.15);
}

.italic-subheading {
  font-family: var(--vr-sans);
  font-style: italic;
  font-weight: 500;
  color: var(--vr-gold) !important;
  font-size: 0.75rem;
}

.cursor-pointer {
  cursor: pointer;
}


/* Modal Custom Styling */
.modal-thumbnails-container::-webkit-scrollbar {
  height: 6px;
}

.modal-thumbnails-container::-webkit-scrollbar-thumb {
  background: rgba(99, 11, 36, 0.2);
  border-radius: 3px;
}

.modal-thumbnail-img {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  border: 2px solid transparent;
  opacity: 0.7;
  transition: all 0.3s ease;
}

.modal-thumbnail-img:hover,
.modal-thumbnail-img.active {
  opacity: 1;
  border-color: var(--vr-gold);
}

.modal-feature-badge {
  background-color: rgba(99, 11, 36, 0.05);
  color: var(--vr-maroon);
  font-family: var(--vr-sans);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 12px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.modal-perfect-item {
  font-family: var(--vr-sans);
  font-size: 0.85rem;
  color: var(--vr-text-muted);
  display: flex;
  align-items: start;
  gap: 8px;
  margin-bottom: 8px;
}

.modal-perfect-item i {
  color: var(--vr-gold);
  margin-top: 3px;
}

.sec-subtitle-gold {
  color: var(--vr-gold);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.sec-title-maroon {
  font-family: var(--vr-sans);
  color: var(--vr-maroon);
  font-weight: 700;
}

/* Extra Refactored Classes for Celebrations / Social Gatherings */
.vr-celebration-packages {
  background-color: #fcfaf5;
}

.vr-bg-cream-light {
  background-color: #fcfaf5;
}

.vr-price-starting-label {
  font-size: 0.65rem;
  letter-spacing: 1px;
  font-weight: 700;
  display: block;
  margin-bottom: 2px;
}

.vr-price-amount {
  color: #630b24;
  font-family: var(--vr-sans);
  font-size: 1.35rem;
}

.vr-price-period {
  font-size: 0.7rem;
  display: block;
  margin-top: 1px;
}

.vr-modal-featured-img-wrap {
  height: 380px;
}

.vr-modal-featured-img {
  object-fit: cover;
  transition: opacity 0.3s ease;
}

.vr-modal-title-style {
  font-size: 2.2rem;
  line-height: 1.2;
}

.modal-description-text {
  line-height: 1.8;
  font-size: 0.9rem;
}

.vr-modal-perfect-title {
  font-size: 0.8rem;
  letter-spacing: 1px;
}

.vr-modal-price-notes {
  color: #630b24;
}

.vr-btn-rounded-sm {
  border-radius: 4px;
}

/* Hero Video Background Classes */
.vr-hero-video-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

.vr-hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vr-hero-video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6));
  z-index: 2;
}

.vr-z-3 {
  z-index: 3 !important;
}

/* Package Banner Carousel & Utility Classes */
.vr-carousel-indicators {
  bottom: -15px !important;
}

.vr-carousel-indicator-btn {
  background-color: #1a3b2b !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  margin: 0 5px !important;
}

.package-banner-card {
  background-color: #1a3b2b;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.package-banner-row {
  min-height: 380px;
}

.package-banner-img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.package-banner-eyebrow {
  color: #d1a869;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.package-banner-title {
  color: #ffffff;
  font-family: var(--vr-sans);
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.package-banner-desc {
  color: #d8dfdb;
  font-size: 0.85rem;
  line-height: 1.5;
  margin-bottom: 15px;
  max-width: 90%;
}

.package-banner-btn-outline {
  font-size: 0.85rem;
  font-weight: 700;
  border-radius: 4px;
  letter-spacing: 1px;
}

.package-banner-btn-gold {
  background-color: #d1a869;
  color: #1a3b2b !important;
  font-size: 0.85rem;
  font-weight: 700;
  border-radius: 4px;
  border: none;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.package-banner-btn-gold:hover {
  background-color: #e3bc7c !important;
  color: #1a3b2b !important;
}

.premium-experience-card {
  transition: all 0.3s ease;
  cursor: pointer;
}

.premium-experience-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
}

.premium-experience-card .card-img-top-wrap {
  height: 220px;
  overflow: hidden;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}

.premium-experience-card .card-img-top-wrap img {
  object-fit: cover;
  transition: transform 0.5s ease;
}

.premium-experience-card:hover .card-img-top-wrap img {
  transform: scale(1.08);
}

.experience-card-title {
  color: #630b24;
  letter-spacing: 1px;
  font-size: 0.9rem;
}

.experience-card-desc {
  font-size: 0.85rem;
  line-height: 1.6;
  max-width: 95%;
}

.vr-modal-body-scrollable {
  max-height: 70vh;
  overflow-y: auto;
}

.vr-date-picker-input {
  background-color: #ffffff !important;
  cursor: pointer;
}

.form-label-mini {
  font-size: 0.75rem;
}

.btn-vr-maroon {
  background-color: #4b0e1b;
  color: #ffffff;
  border: none;
}

.btn-vr-maroon:hover {
  background-color: #630b24;
  color: #ffffff;
}

.lh-1-8 {
  line-height: 1.8;
}

.bg-light-gray {
  background-color: #f8f9fa !important;
}
.golf-scorecard-modal-content tr th
{
    background:#FAF6F0 !important;
}

/* Online Order Styling */
.oo-hero-sec {
  position: relative;
  background: linear-gradient(90deg, rgba(16, 12, 10, 0.6) 0%, rgba(16, 12, 10, 0.2) 50%, rgba(16, 12, 10, 0) 100%), url('../images/online-order/online-order.jpeg') center/cover no-repeat;
  padding: 100px 0;
  color: #fff;
  border-bottom: 3px solid #d1a869;
}

.oo-hero-content {
  max-width: 650px;
  z-index: 2;
}

.oo-hero-tagline {
  font-family: var(--vr-sans);
  font-style: italic;
  color: #d1a869;
  font-size: 1.8rem;
  margin-bottom: 10px;
}

.oo-hero-title {
  font-family: var(--vr-sans);
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 20px;
  line-height: 1.1;
  text-transform: uppercase;
}

.oo-divider {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 25px;
}

.oo-divider-line {
  flex-grow: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(209, 168, 105, 0.7), transparent);
}

.oo-divider-line.left {
  background: linear-gradient(90deg, transparent, rgba(209, 168, 105, 0.7));
}

.oo-divider-diamond {
  width: 8px;
  height: 8px;
  background-color: #d1a869;
  transform: rotate(45deg);
}

.oo-hero-desc {
  font-family: var(--vr-sans);
  font-size: 1.05rem;
  line-height: 1.6;
  color: #eaeaea;
  margin-bottom: 35px;
}

.oo-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.oo-hero-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 12px 24px;
  border-radius: 8px;
  min-width: 200px;
  backdrop-filter: blur(10px);
}

.oo-hero-badge i {
  font-size: 1.5rem;
  color: #d1a869;
}

.oo-hero-badge-title {
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 2px;
}

.oo-hero-badge-desc {
  font-size: 0.75rem;
  color: #bbb;
}

/* Restaurants Section */
.oo-restaurants-sec {
  background-color: #fdfcfb;
  padding: 80px 0;
}

.oo-sec-header {
  text-align: center;
  margin-bottom: 60px;
}

.oo-sec-subtitle-top {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  font-weight: 700;
  color: #d1a869;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.oo-sec-title {
  font-family: var(--vr-sans);
  font-size: 2.5rem;
  font-weight: 700;
  color: #6c011d;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.oo-sec-desc {
  font-family: var(--vr-sans);
  color: #666;
  font-size: 1rem;
  max-width: 600px;
  margin: 0 auto;
}

/* Restaurant Row Cards */
.oo-restaurant-card {
  display: flex;
  background: #FAF6F0;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.oo-restaurant-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
}

.oo-card-img-col {
  width: 320px;
  position: relative;
  flex-shrink: 0;
}

.oo-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.oo-card-content-col {
  flex-grow: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
}

.oo-italian-bg {
  /*background: linear-gradient(135deg, #091c13 0%, #050e0a 100%);*/
      background: rgba(255, 255, 255, 0.02);
}

.oo-grill-bg {
  /*background: linear-gradient(135deg, #1f110f 0%, #0d0706 100%);*/
      background: rgba(255, 255, 255, 0.02);
}

.oo-asian-bg {
  /*background: linear-gradient(135deg, #081524 0%, #030a12 100%);*/
      background: rgba(255, 255, 255, 0.02);
}

.oo-card-icon {
  font-size: 1.8rem;
  color: #d1a869;
  margin-bottom: 12px;
}

.oo-card-title {
  font-family: var(--vr-sans);
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 4px;
  letter-spacing: 1px;
  text-transform: uppercase;
color: var(--vr-maroon) !important;
}

.oo-card-subtitle {
  font-family: var(--vr-sans);
  color: #d1a869;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 18px;
}

.oo-card-desc {
  font-family: var(--vr-sans);
  font-size: 0.95rem;
  line-height: 1.6;
      color: #4a3e3d !important;
  margin-bottom: 25px;
  max-width: 100%;
}

.oo-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.oo-tag-item {
  font-family: var(--vr-sans);
  font-size: 0.78rem;
    color: #4a3e3d !important;
  display: flex;
  align-items: center;
  gap: 6px;
}

.oo-tag-item i {
  color: #d1a869;
  font-size: 0.85rem;
}

.oo-card-btn-col {
  width: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 30px 20px;
  background: rgba(255, 255, 255, 0.02);
  border-left: 1px solid rgba(255, 255, 255, 0.05);
}

.oo-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #d1a869;
  color: #fff;
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 14px 20px;
  border: 1px solid #d1a869;
  transition: all 0.3s ease;
  border-radius: 4px;
  width: 100%;
  justify-content: center;
  white-space: nowrap;
}

.oo-card-btn:hover {
  background-color: #d1a869;
  color: #000;
  box-shadow: 0 4px 15px rgba(209, 168, 105, 0.3);
}

/* Features/Service Bar */
.oo-features-bar {
  background: #fff;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
  padding: 40px 0;
}

.oo-feature-col {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}

.oo-feature-icon {
  font-size: 1.8rem;
  color: #6c011d;
}

.oo-feature-title {
  font-family: var(--vr-sans);
  font-weight: 700;
  color: #1a1a1a;
  font-size: 0.95rem;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.oo-feature-desc {
  font-family: var(--vr-sans);
  font-size: 0.8rem;
  color: #666;
  line-height: 1.4;
  margin: 0;
}

/* Responsive layout overrides */
@media (max-width: 991px) {
  .oo-restaurant-card {
    flex-direction: column;
  }

  .oo-card-img-col {
    width: 100%;
    height: 250px;
  }

  .oo-card-btn-col {
    width: 100%;
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 24px 40px;
  }
}

/* =========================================================================
   DINING DETAILS PAGE CUSTOM STYLING (vr-styles.css Additions)
   ========================================================================= */
.eat-main-section,
.bg-light-eat {
  background-color: #fdfbf7 !important;
  padding-top: 5rem !important;
}

section.vr-unified-hero+section.eat-main-section {
  padding-top: 5rem !important;
}

.eat-card {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 4rem 0 !important;
  border-bottom: 1px solid #e0dcd3 !important;
}

.eat-card:last-child {
  border-bottom: none !important;
}

.eat-card-title {
  font-family: var(--vr-sans);
  color: #6c011d !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 5px !important;
}

.eat-card-title::after {
  display: none !important;
}

.eat-gold-icon {
  color: #d4af37;
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
  text-align: center;
}

.eat-about-desc {
  font-family: var(--vr-sans);
  color: #666;
  line-height: 1.8;
  font-size: 1.05rem;
}

.eat-hours-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 15px;
  border-right: 1px solid #f2f2f2;
  font-family: var(--vr-sans);
  font-size: 0.9rem;
  font-weight: 700;
  color: #444;
  text-align: center;
}

.eat-hours-item:last-child {
  border-right: none;
}

.eat-hours-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #888;
  font-size: 0.8rem;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.eat-hours-label i {
  color: #d4af37;
  font-size: 1rem;
}

.eat-btn-solid {
  background-color: #6c011d !important;
  color: white !important;
  font-family: var(--vr-sans);
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 1px;
  padding: 15px 35px;
  border-radius: 4px;
  border: none;
  text-transform: uppercase;
  margin-top: 25px;
  transition: 0.3s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.eat-btn-solid:hover {
  background-color: #520015 !important;
}

/* MENU TABS styling */
.eat-menu-wrapper {
  margin-top: 1rem;
  font-family: var(--vr-sans);
}

.eat-menu-tabs {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  margin-bottom: 0;
  padding-left: 0;
}

.eat-menu-tab {
  padding: 15px 30px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #555;
  cursor: pointer;
  background: transparent;
  text-align: center;
  line-height: 1.4;
  border: 1px solid transparent;
  border-bottom: 1px solid #d4af37;
  transition: 0.3s;
  flex: 1 1 auto;
  white-space: nowrap;
}

.eat-menu-tab:hover {
  color: #6c011d;
}

.eat-menu-tab.active {
  color: #6c011d;
  background: #fff;
  border: 1px solid #d4af37;
  border-bottom-color: #fff;
  border-top: 3px solid #6c011d;
}

.eat-menu-content {
  background: #fff;
  padding: 40px;
  border: 1px solid #d4af37;
  border-top: none;
  font-size: 1rem;
  color: #444;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}

/* GUIDELINES styling */
.eat-guide-item {
  display: flex;
  align-items: start;
  gap: 15px;
  background: #fafafa;
  padding: 20px;
  border-radius: 8px;
  font-family: var(--vr-sans);
  color: #444;
  font-size: 0.9rem;
  border: 1px solid #f2f2f2;
}

.eat-guide-icon {
  color: #d4af37;
  font-size: 1.2rem;
  margin-top: 2px;
}

/* Package selector styling */
.eat-pkg-card {
  border-radius: 12px;
  height: 280px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  background: #fff;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.2);
}

.eat-pkg-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(108, 1, 29, 0.3);
  border-color: rgba(212, 175, 55, 0.6);
}

.eat-pkg-img-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}

.eat-pkg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
  transition: transform 0.8s ease;
}

.eat-pkg-card:hover .eat-pkg-img {
  transform: scale(1.15);
}

.eat-pkg-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
  display: flex;
  align-items: flex-end;
  padding: 25px 20px;
  transition: height 0.4s ease;
}

.eat-pkg-card:hover .eat-pkg-overlay {
  height: 55%;
}

.eat-pkg-title {
  color: #fff;
  font-family: var(--vr-sans);
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9), 0 0 3px rgba(0, 0, 0, 0.8);
  line-height: 1.3;
}

@media (max-width: 991px) {
  .eat-hours-item {
    border-right: none;
    border-bottom: 1px solid #f2f2f2;
  }

  .eat-hours-item:last-child {
    border-bottom: none;
  }

  .eat-card {
    padding: 2rem 1.5rem !important;
  }
}

/* Dining specific utility classes (replacing inline styles) */
.eat-card-no-pt {
  padding-top: 0 !important;
}

.eat-heading-logo {
  height: 80px !important;
  width: auto !important;
  max-width: 250px !important;
  object-fit: contain !important;
  display: inline-block !important;
}

.eat-about-desc {
  max-width: 800px !important;
  margin: 0 !important;
}

.eat-menu-title {
  font-size: 1.4rem !important;
  margin-top: 0px !important;
}

.eat-menu-title-margin {
  margin-top: 15px !important;
}

.eat-menu-subtitle {
  color: #666 !important;
  font-size: 0.85rem !important;
}

.eat-booklet-viewer {
  width: 100% !important;
  margin: 0 auto !important;
  flex-grow: 1 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.eat-booklet-frame {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  flex-grow: 1 !important;
  display: flex !important;
  align-items: stretch !important;
}

#eat-menu-container {
  width: 100% !important;
  height: 100% !important;
  min-height: 450px !important;
  margin: 0 auto !important;
}

.eat-menu-download-btn {
  text-decoration: none !important;
  border: 1px solid #6c011d !important;
  color: #6c011d !important;
  padding: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  transition: 0.3s !important;
  font-size: 0.85rem !important;
  background: transparent;
}

.eat-menu-download-btn:hover {
  background-color: #6c011d !important;
  color: #fff !important;
}

.eat-inroom-card {
  border-radius: 12px !important;
  background: #0A1A12 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
}

.eat-inroom-img {
  width: 100% !important;
  height: 100% !important;
  min-height: 350px !important;
  object-fit: cover !important;
}

.eat-inroom-bell {
  color: #d4af37 !important;
  font-size: 1.5rem !important;
  margin-bottom: 15px !important;
}

.eat-inroom-title {
  color: #ffffff !important;
  font-family: var(--vr-sans);
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  margin-bottom: 5px !important;
}

.eat-inroom-subtitle {
  color: #d4af37 !important;
  font-family: var(--vr-sans);
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin-bottom: 20px !important;
}

.eat-inroom-desc {
  color: rgba(255, 255, 255, 0.7) !important;
  font-family: var(--vr-sans);
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  margin-bottom: 30px !important;
}

.eat-badge-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #d4af37 !important;
  display: inline-block !important;
}

.eat-badge-text {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 0.9rem !important;
  font-family: var(--vr-sans);
}

.eat-inroom-action-col {
  background: #000000 !important;
  border-left: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.eat-inroom-btn {
  border: 1px solid #d4af37 !important;
  font-family: var(--vr-sans);
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  letter-spacing: 1px !important;
  transition: 0.3s !important;
  background: transparent !important;
  color: #fff !important;
}

.eat-inroom-btn:hover {
  background: #d4af37 !important;
  color: #000 !important;
}

.eat-package-title-main {
  color: #6c011d !important;
  font-family: var(--vr-sans);
  font-size: 1.5rem !important;
  letter-spacing: 1px !important;
}

.eat-view-all-packages-btn {
  background: #6c011d !important;
  font-family: var(--vr-sans);
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  letter-spacing: 1px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: 0.3s !important;
  color: #fff !important;
}

.eat-view-all-packages-btn:hover {
  background: #520015 !important;
}

.eat-hours-card {
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
}

.eat-color-maroon {
  color: #6c011d !important;
}

.eat-hours-header-title {
  color: #6c011d !important;
  font-family: var(--vr-sans);
  letter-spacing: 1px !important;
  font-size: 0.9rem !important;
}

.eat-fs-09 {
  font-size: 0.9rem !important;
}

.eat-hours-border {
  border-color: #f2f2f2 !important;
}

.eat-color-444 {
  color: #444 !important;
}

.eat-color-666 {
  color: #666 !important;
}

.eat-hours-bg-icon {
  font-size: 8rem !important;
  color: rgba(212, 175, 55, 0.05) !important;
  bottom: -20px !important;
  right: -20px !important;
  z-index: 0 !important;
}

.eat-logo-card {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
}

.eat-logo-blur-bg {
  position: absolute !important;
  top: -30px !important;
  left: -30px !important;
  right: -30px !important;
  bottom: -30px !important;
  background-size: cover !important;
  background-position: center !important;
  filter: blur(30px) !important;
  opacity: 0.85 !important;
  z-index: 0 !important;
}

.eat-logo-overlay-soft {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(255, 255, 255, 0.15) !important;
  z-index: 1 !important;
}

.eat-logo-wrapper {
  z-index: 2 !important;
}

.eat-logo-img {
  max-height: 200px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  transition: transform 0.5s ease !important;
}

.eat-logo-img:hover {
  transform: scale(1.05) !important;
}

.eat-logo-fallback {
  background: #fff !important;
  z-index: 2 !important;
}




@keyframes shine-animation {
  0% {
    left: -150%;
  }

  25% {
    left: 200%;
  }

  100% {
    left: 200%;
  }
}

.Date_range_input input[type="text"] {
  height: 45px;
  line-height: 45px;
  padding: 0 15px;
  font-size: 0.9rem !important;
}

.cabana-unit {
  float: left;
  margin: 10px;
}

.form-check-input:checked {
  background-color: #5a1123;
  border-color: #5a1123;
}

.new_cabana-pro-img {
  height: 260px !important;
}

/* =========================================
   FLIPBOOK MENU CUSTOMIZATIONS
========================================= */
/* Hide Demo Watermark */
.demo-msg {
  display: none !important;
}

/* Style Next/Prev Arrows */
.flip-book .view .fnav a {
  font-size: 1.5rem !important;
  /* Smaller, more elegant */
  color: #6c011d !important;
  /* Villa Roma Maroon */
  background: rgba(255, 255, 255, 0.9) !important;
  /* Semi-transparent white circle */
  width: 45px !important;
  height: 45px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  /* Circle shape */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  /* Soft shadow */
  transition: all 0.3s ease !important;
  text-shadow: none !important;
}

.flip-book .view .fnav a:hover {
  background: #6c011d !important;
  color: #ffffff !important;
  transform: scale(1.1) !important;
  box-shadow: 0 6px 16px rgba(108, 1, 29, 0.3) !important;
}

.flip-book .view .fnav a:active {
  font-size: 1.5rem !important;
  transform: scale(0.95) !important;
}

/* Adjust position slightly inwards for better framing */
.flip-book .view .prev {
  left: 30px !important;
}

.flip-book .view .next {
  right: 30px !important;
}

/* Clean up bottom toolbar styling */
.flip-book .controls .fnavbar {
  background: rgba(255, 255, 255, 0.95) !important;
  border-top: 1px solid #eaeaea !important;
  border-radius: 12px 12px 0 0 !important;
  box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.05) !important;
}

.flip-book .controls .fnavbar .fnav-item a {
  color: #444 !important;
}

.flip-book .controls .fnavbar .fnav-item a:hover {
  color: #6c011d !important;
}

/* --- Wellness Page Styles --- */
.wellness-tabs {
  border-bottom: 1px solid #eaeaea;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 20px;
}

.wellness-tabs .nav-link {
  background: none !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  padding: 18px 30px !important;
  font-family: var(--vr-sans);
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #666 !important;
  transition: all 0.25s !important;
  margin: 0;
}

.wellness-tabs .nav-link.active,
.wellness-tabs .nav-link:hover {
  background: none !important;
  color: #6c011d !important;
  border-bottom-color: #6c011d !important;
}

.wellness-tabs-section .swiper-slide a,
.wellness-tabs-section .swiper-slide img {
  -webkit-user-drag: none;
  user-drag: none;
}

/* --- Recreational Activities Styles --- */
.custom-rich-text ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 0;
}

.custom-rich-text ul li {
  position: relative;
  padding-left: 30px;
  font-size: 0.85rem;
  margin-bottom: 10px;
}

.custom-rich-text ul li::before {
  content: "\f058";
  font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 3px;
  color: #6d152c;
  line-height: 1;
}

/* --- Gym Fitness Center Styles --- */
.gym-pkg-tabs .nav-link {
  color: #4a0d17;
  background-color: transparent;
  border: 2px solid #4a0d17;
  border-radius: 30px;
  margin: 0 8px 10px 8px;
  padding: 10px 24px;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}

.gym-pkg-tabs .nav-link:hover {
  background-color: #f7e6c1;
  color: #4a0d17;
}

.gym-pkg-tabs .nav-link.active {
  background-color: #4a0d17;
  color: #fff;
  border-color: #4a0d17;
}

/* --- Inline Style Replacements --- */
.vr-section-light-bg {
  background-color: #faf8f5;
  padding-top: 80px;
  padding-bottom: 0;
}

.vr-section-title {
  color: #6d152c;
  font-family: var(--vr-serif);
  letter-spacing: 0.5px;
}

.vr-section-desc {
  font-size: 0.85rem;
  line-height: 1.6;
}

.vr-small-text {
  font-size: 0.85rem;
}

/* --- Dining Landing Styles --- */
.dining-hero {
  position: relative;
  background: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.7)), url('../images/online-order/pickup_delivery_hero.png') center/cover no-repeat;
  height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  margin-bottom: 2rem;
}

.dining-hero-content {
  max-width: 800px;
  padding: 20px;
  z-index: 2;
}

.dining-hero-title {
  font-family: 'Playfair Display', serif;
  font-size: 3.5rem;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 15px;
  text-transform: uppercase;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  color: #ffffff !important;
}

.dining-hero-desc {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.15rem;
  line-height: 1.6;
  opacity: 0.9;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.dining-sec-title {
  font-family: 'Playfair Display', serif;
  color: #6c011d;
  font-weight: 700;
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 30px;
}

.dining-sec-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background-color: #d1a869;
}

.dining-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.dining-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
  border-color: #d1a869;
}

.dining-card-img-wrap {
  position: relative;
  height: 240px;
  overflow: hidden;
}

.dining-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.dining-card:hover .dining-card-img {
  transform: scale(1.08);
}

.dining-card-overlay {
  position: absolute;
  top: 15px;
  left: 15px;
  background: rgba(108, 1, 29, 0.9);
  color: #fff;
  padding: 6px 14px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.dining-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  height: calc(100% - 240px);
}

.dining-card-title {
  font-family: 'Playfair Display', serif;
  color: #1a1a1a;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 8px;
  transition: color 0.3s ease;
}

.dining-card:hover .dining-card-title {
  color: #6c011d;
}

.dining-card-subtitle {
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: #d1a869;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

.dining-card-desc {
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: #666;
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 20px;
  flex-grow: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dining-card-meta {
  border-top: 1px solid #f0f0f0;
  padding-top: 15px;
  margin-top: auto;
}

.dining-meta-item {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.82rem;
  color: #555;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.dining-meta-item i {
  color: #6c011d;
  width: 16px;
}

.dining-card-btn {
  background: #6c011d;
  color: #fff;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 12px 24px;
  border-radius: 6px;
  border: none;
  transition: all 0.3s ease;
  width: 100%;
  margin-top: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.dining-card-btn:hover {
  background: #d1a869;
  color: #fff;
  box-shadow: 0 4px 10px rgba(209, 168, 105, 0.3);
}

.dining-grid-container {
  padding: 0 15px;
}

/* --- Global Header Font Settings --- */
:root {
  --bs-font-sans-serif: 'Lato', sans-serif !important;
  --bs-body-font-family: 'Lato', sans-serif !important;
  --vr-sans: 'Lato', sans-serif !important;
  --vr-serif: 'Lato', sans-serif !important;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
button,
input,
select,
textarea,
.nav-link,
.menu-item {
  font-family: 'Lato', sans-serif !important;
}

/* --- Group Gathering Detail Page Styles --- */
.group-detail-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  height: 50vh;
  min-height: 350px;
  display: flex;
  align-items: center;
  color: #ffffff;
}

.group-detail-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7));
  z-index: 1;
}

.group-detail-hero-content {
  position: relative;
  z-index: 2;
}

.group-detail-hero-title {
  font-family: 'Playfair Display', serif;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.2;
}

.group-breadcrumb {
  font-size: 0.85rem;
  letter-spacing: 1px;
}

.group-breadcrumb a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.3s ease;
}

.group-breadcrumb a:hover {
  color: #c59b27;
}

.group-breadcrumb-active {
  color: #c59b27;
}

.detail-content-card {
  background-color: #ffffff;
  border: 1px solid rgba(99, 11, 36, 0.06);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

.detail-main-img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}

.detail-body-content {
  padding: 40px;
  line-height: 1.8;
  font-size: 0.95rem;
  color: #444;
}

.detail-body-content h3,
.detail-body-content h4,
.detail-body-content h5 {
  font-family: 'Playfair Display', serif;
  color: #630b24;
  font-weight: 700;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

.sidebar-cta-card {
  background: linear-gradient(135deg, #4b0e1b, #6d152c);
  border-radius: 16px;
  padding: 30px;
  color: #ffffff;
  box-shadow: 0 10px 30px rgba(109, 21, 44, 0.15);
}

.sidebar-cta-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.sidebar-contact-list {
  padding-left: 0;
  list-style: none;
}

.sidebar-contact-list li {
  margin-bottom: 15px;
  font-size: 0.9rem;
  display: flex;
  align-items: start;
  gap: 12px;
}

.sidebar-contact-list li i {
  color: #c59b27;
  margin-top: 4px;
}

.btn-sidebar-proposal {
  background-color: #c59b27;
  color: #1a1a1a;
  border: 1px solid #c59b27;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 12px 20px;
  border-radius: 4px;
  transition: all 0.3s ease;
  width: 100%;
}

.btn-sidebar-proposal:hover {
  background-color: #e5c158;
  border-color: #e5c158;
  color: #1a1a1a;
  box-shadow: 0 4px 15px rgba(197, 155, 39, 0.3);
}

.sidebar-nav-card {
  background-color: #ffffff;
  border: 1px solid rgba(99, 11, 36, 0.06);
  border-radius: 16px;
  padding: 25px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.sidebar-nav-title {
  font-family: 'Playfair Display', serif;
  color: #630b24;
  font-weight: 700;
  font-size: 1.2rem;
  margin-bottom: 20px;
  border-bottom: 2px solid rgba(99, 11, 36, 0.06);
  padding-bottom: 10px;
}

.sidebar-nav-list {
  padding-left: 0;
  list-style: none;
  margin-bottom: 0;
}

.sidebar-nav-item {
  margin-bottom: 8px;
}

.sidebar-nav-item:last-child {
  margin-bottom: 0;
}

.sidebar-nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 15px;
  border-radius: 8px;
  color: #222222;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  transition: all 0.3s ease;
  background-color: rgba(99, 11, 36, 0.02);
}

.sidebar-nav-link:hover,
.sidebar-nav-link.active {
  background-color: #630b24;
  color: #ffffff;
}

.sidebar-nav-link i {
  font-size: 0.75rem;
  transition: transform 0.3s ease;
}

.sidebar-nav-link:hover i {
  transform: translateX(4px);
}

/* --- Social Gathering Detail Page Styles --- */
.social-detail-hero {
  position: relative;
  height: 85vh;
  color: #ffffff;
  display: flex;
  align-items: center;
  padding-top: 40px;
  padding-bottom: 80px;
}

.social-detail-hero .breadcrumb {
  font-size: 0.85rem;
  letter-spacing: 1px;
  margin-bottom: 2rem;
}

.social-detail-hero .breadcrumb a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.3s ease;
}

.social-detail-hero .breadcrumb a:hover {
  color: #c59b27;
}

.social-detail-hero .breadcrumb-item.active {
  color: #ffffff;
}

.social-detail-hero .breadcrumb-item+.breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.5);
}

.badge-category {
  font-size: 0.9rem;
  font-weight: 700;
  color: #c59b27;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 1rem;
  display: inline-block;
}

.social-detail-hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.2;
  max-width: 750px;
  margin-bottom: 1.5rem;
  color: #fff;
}

.social-detail-hero p {
  font-size: 1.1rem;
  max-width: 650px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 2.5rem;
}

.btn-maroon-solid {
  background-color: #630b24;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 1px;
  border: 1px solid #630b24;
  border-radius: 0;
  padding: 12px 28px;
  transition: all 0.3s ease;
}

.btn-maroon-solid:hover {
  background-color: #4e081c;
  border-color: #4e081c;
  color: #ffffff;
}

.btn-outline-gold {
  background-color: transparent;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 1px;
  border: 1.5px solid #c59b27;
  border-radius: 0;
  padding: 12px 28px;
  transition: all 0.3s ease;
}

.btn-outline-gold:hover {
  background-color: #c59b27;
  color: #222222;
}

/* --- Overlapping Features Grid --- */
.features-overlap-container {
  margin-top: -60px;
  position: relative;
  z-index: 10;
  margin-bottom: 3rem;
}

.features-overlap-bar {
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  border-bottom: 3px solid #c59b27;
  padding: 20px 10px;
}

.feature-item-col {
  border-right: 1px solid #eeeeee;
  padding: 10px 15px;
}

.feature-item-col:last-child {
  border-right: none;
}

.feature-icon-wrap {
  color: #c59b27;
  font-size: 1.8rem;
  margin-bottom: 8px;
}

.feature-label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #222222;
  margin: 0;
}

/* --- Sections Title Divider --- */
.sec-subtitle-gold {
  color: #630b24;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  display: block;
}

.sec-title-maroon {
  font-family: 'Playfair Display', serif;
  color: #630b24;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

.section-divider-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin: 2.5rem 0;
}

.section-divider-line::before,
.section-divider-line::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #e5d5c5;
}

.section-divider-line span {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #630b24;
  letter-spacing: 2px;
}

/* --- Perfect For Section --- */
.perfect-card {
  background: #ffffff;
  border: 1px solid rgba(99, 11, 36, 0.08);
  border-radius: 8px;
  padding: 25px 20px;
  height: 100%;
  transition: all 0.3s ease;
  text-align: center;
}

.perfect-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(99, 11, 36, 0.05);
  border-color: #c59b27;
}

.perfect-icon-wrap {
  color: #630b24;
  font-size: 2.2rem;
  margin-bottom: 15px;
}

.perfect-card h5 {
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #222222;
  margin-bottom: 10px;
}

.perfect-card p {
  font-size: 0.85rem;
  color: #666666;
  margin: 0;
  line-height: 1.5;
}

/* --- Venue Section --- */
.venue-card {
  background: #ffffff;
  border: 1px solid rgba(99, 11, 36, 0.08);
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

.venue-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  border-color: #c59b27;
}

.venue-img-wrapper {
  height: 160px;
  overflow: hidden;
  position: relative;
}

.venue-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.venue-card:hover .venue-img-wrapper img {
  transform: scale(1.08);
}

.venue-info {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-align: center;
}

.venue-info h5 {
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #222222;
  margin-bottom: 10px;
}

.venue-info p {
  font-size: 0.85rem;
  color: #666666;
  margin-bottom: 20px;
  line-height: 1.5;
  flex-grow: 1;
}

.btn-venue-view {
  background-color: #630b24;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 0;
  padding: 8px 20px;
  align-self: center;
  border: none;
  transition: all 0.3s ease;
}

.btn-venue-view:hover {
  background-color: #c59b27;
  color: #222222;
}

/* --- Resort Experiences Grid --- */
.experience-item {
  text-align: center;
  padding: 10px;
  transition: transform 0.3s ease;
  position: relative;
}

.experience-item::after {
  content: "";
  position: absolute;
  right: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background-color: #eeeeee;
}

.experience-item:last-child::after {
  display: none;
}

.experience-item:hover {
  transform: scale(1.08);
}

.experience-icon-wrap {
  font-size: 1.8rem;
  color: #630b24;
  margin-bottom: 10px;
}

.experience-label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #222222;
  margin: 0;
}

/* --- Gallery Swiper Custom Styling --- */
.gallery-swiper-wrapper {
  position: relative;
  padding: 0 45px;
}

.gallery-swiper-prev,
.gallery-swiper-next {
  width: 36px;
  height: 36px;
  background-color: #630b24 !important;
  color: #ffffff !important;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery-swiper-prev {
  left: 0;
}

.gallery-swiper-next {
  right: 0;
}

.gallery-swiper-prev::after,
.gallery-swiper-next::after {
  font-size: 14px !important;
  font-weight: bold;
}

.gallery-swiper-prev:hover,
.gallery-swiper-next:hover {
  background-color: #c59b27 !important;
  color: #222222 !important;
}

.gallery-swiper .swiper-pagination-bullet-active {
  background-color: #630b24 !important;
}


/* --- Inquiry Form Sidebar --- */
.inquiry-sidebar-card {
  background-color: #f7f3eb;
  border: 1px solid #e5d6c3;
  padding: 30px 25px;
  border-radius: 8px;
  position: sticky;
  top: 100px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.02);
}

.inquiry-sidebar-card h3 {
  font-family: 'Playfair Display', serif;
  color: #630b24;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 12px;
}

.inquiry-sidebar-card .form-subtitle {
  font-size: 0.85rem;
  color: #666666;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 25px;
}

.inquiry-sidebar-card .form-label {
  font-size: 0.8rem;
  font-weight: 700;
  color: #222222;
  margin-bottom: 6px;
}

.inquiry-sidebar-card .form-control,
.inquiry-sidebar-card .form-select {
  border: 1px solid #dcd1bd;
  border-radius: 4px;
  padding: 10px 12px;
  font-size: 0.9rem;
  background-color: #ffffff;
  color: #222222;
  transition: border-color 0.3s ease;
}

.inquiry-sidebar-card .form-control:focus,
.inquiry-sidebar-card .form-select:focus {
  border-color: #c59b27;
  box-shadow: none;
  outline: none;
}

.inquiry-sidebar-card .form-control::placeholder {
  color: #999999;
}

.btn-submit-inquiry {
  background-color: #630b24;
  color: #ffffff;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: none;
  border-radius: 4px;
  padding: 14px;
  margin-top: 10px;
  transition: all 0.3s ease;
}

.btn-submit-inquiry:hover {
  background-color: #4e081c;
  color: #ffffff;
}

.security-info {
  font-size: 0.75rem;
  color: #666666;
  margin-top: 15px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.4;
}

.security-info i {
  color: #c59b27;
  font-size: 0.85rem;
  margin-top: 2px;
}

/* --- Footer Info Bar --- */
.footer-info-bar {
  background-color: #f2ede2;
  border-top: 1px solid #e2d5c3;
  padding: 30px 0;
  margin-top: 5rem;
}

.footer-info-col {
  display: flex;
  align-items: center;
  gap: 15px;
}

.footer-info-icon {
  font-size: 1.8rem;
  color: #630b24;
}

.footer-info-text h6 {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 2px;
  color: #666666;
}

.footer-info-text p,
.footer-info-text a {
  font-size: 0.95rem;
  font-weight: 700;
  color: #222222;
  margin: 0;
  text-decoration: none;
}

.footer-info-text a:hover {
  color: #630b24;
}

/* Responsive styling */
@media (max-width: 991.98px) {
  .social-detail-hero {
    height: auto;
    padding-top: 60px;
    padding-bottom: 100px;
  }

  .social-detail-hero h1 {
    font-size: 2.5rem;
  }

  .features-overlap-container {
    margin-top: -40px;
  }

  .feature-item-col {
    border-right: none;
    border-bottom: 1px solid #eeeeee;
  }

  .feature-item-col:last-child {
    border-bottom: none;
  }

  .inquiry-sidebar-card {
    position: static;
    margin-top: 30px;
  }
}

/* --- Dining Packages Selection Grid --- */
.css-carousel {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  gap: 15px;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-top: -15px;
}

.css-carousel::-webkit-scrollbar {
  height: 5px;
}

.css-carousel::-webkit-scrollbar-thumb {
  background-color: rgba(108, 1, 29, 0.4);
  border-radius: 4px;
}

.css-carousel:hover::-webkit-scrollbar-thumb {
  background-color: rgba(108, 1, 29, 0.8);
}

.css-slide {
  flex: 0 0 calc(25% - 11.25px);
  scroll-snap-align: start;
}

@media (max-width: 991px) {
  .css-slide {
    flex: 0 0 calc(33.333% - 10px);
  }
}

@media (max-width: 767px) {
  .css-slide {
    flex: 0 0 calc(50% - 7.5px);
  }
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: 1px solid #ddd;
  color: #6c011d;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}

.carousel-btn:hover {
  background: #6c011d;
  color: #fff;
}

.carousel-btn-prev {
  left: -15px;
}

.carousel-btn-next {
  right: -15px;
}

/* Premium Card Styles */
.eat-pkg-card {
  border-radius: 12px;
  height: 280px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  background: #fff;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
}

.eat-pkg-card:hover,
.dp-select-card.active {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(108, 1, 29, 0.3) !important;
  border-color: rgba(212, 175, 55, 0.6) !important;
}

.eat-pkg-img-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}

.eat-pkg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
  transition: transform 0.8s ease;
}

.eat-pkg-card:hover .eat-pkg-img,
.dp-select-card.active .eat-pkg-img {
  transform: scale(1.15);
}

.eat-pkg-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  display: flex;
  align-items: flex-end;
  padding: 25px 20px;
  transition: height 0.4s ease;
}

.eat-pkg-card:hover .eat-pkg-overlay,
.dp-select-card.active .eat-pkg-overlay {
  height: 65%;
}

.eat-pkg-title {
  color: #fff;
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  line-height: 1.3;
}

.dp-check-badge {
  display: none;
  position: absolute;
  top: 15px;
  right: 15px;
  background: #d4af37;
  color: #fff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  z-index: 10;
}

.dp-select-card.active .dp-check-badge {
  display: flex;
}

/* --- Package List Page Styles --- */
#pkg-filters-wrapper::-webkit-scrollbar {
  display: none;
}

.scroll-arrow {
  transition: opacity 0.3s;
}

.scroll-arrow:hover i {
  color: #6c011d !important;
}

.pkg-filters-centered::before,
.pkg-filters-centered::after {
  content: '';
  margin: auto;
}

/* --- Package Detail Page Styles --- */
.pkgd-accordion-scrollable {
  max-height: 200px;
  overflow-y: auto !important;
  padding-right: 8px;
  position: relative;
  z-index: 5;
}

.pkgd-accordion-scrollable::-webkit-scrollbar {
  width: 6px;
}

.pkgd-accordion-scrollable::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 6px;
}

.pkgd-accordion-scrollable::-webkit-scrollbar-thumb {
  background: rgba(108, 1, 29, 0.3);
  border-radius: 6px;
}

.pkgd-accordion-scrollable::-webkit-scrollbar-thumb:hover {
  background: rgba(108, 1, 29, 0.6);
}

/* Custom Styles for horizontal package summary card */
.pkgd-price-card-horizontal-bespoke {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media (min-width: 992px) {
  .pkgd-price-card-horizontal-bespoke {
    flex-direction: row;
    align-items: flex-start;
  }
}

.pkgd-bespoke-details-col {
  flex: 1;
  padding: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #eae6df;
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.pkgd-bespoke-header-banner {
  padding: 2.5rem;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.95) 40%, rgba(255, 255, 255, 0.7) 100%), url('../images/golf_card_header_bg.png');
  background-size: cover;
  background-position: center right;
  border-bottom: 1px solid #f2ede4;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.pkgd-bespoke-badge-circle {
  width: 70px;
  height: 70px;
  background: #5c0f22;
  border: 3px solid #dfcbb5;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e5c19d;
  font-size: 1.8rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
}

.pkgd-bespoke-header-info {
  flex: 1;
  text-align: start;
}

.pkgd-bespoke-header-title {
  font-family: 'Playfair Display', serif;
  color: #333333;
  font-weight: 700;
  font-size: 1.5rem;
  margin: 0 0 0.25rem 0;
}

.pkgd-bespoke-header-subtitle {
  font-family: 'Inter', sans-serif;
  color: #8c233c;
  font-weight: 600;
  font-size: 1.05rem;
  margin: 0;
}

.pkgd-bespoke-content-area {
  padding: 2.5rem;
}

.pkgd-bespoke-section-label {
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 1px;
  color: #5c0f22;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-bottom: 1px solid #f2ede4;
  padding-bottom: 0.5rem;
  text-transform: uppercase;
}

.pkgd-bespoke-section-label i {
  font-size: 1.1rem;
}

.pkgd-bespoke-checklist {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
  text-align: start;
}

.pkgd-bespoke-checklist li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: 1rem;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #4a4a4a;
}

.pkgd-bespoke-checklist li i {
  position: absolute;
  left: 0;
  top: 3px;
  font-size: 1.15rem;
  color: #cda86b;
}

/* Rich Content List Overrides to avoid nested ul tags */
.pkgd-rich-content-features ul {
  list-style: none !important;
  margin: 0 0 2rem 0 !important;
  text-align: start !important;
}

.pkgd-rich-content-features ul li {
  position: relative !important;
  padding-left: 2rem !important;
  margin-bottom: 1rem !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: #4a4a4a !important;
}

.pkgd-rich-content-features ul li::before {
  content: "\f058" !important;
  /* FontAwesome circle-check */
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", sans-serif !important;
  font-weight: 900 !important;
  position: absolute !important;
  left: 0 !important;
  top: 3px !important;
  font-size: 1.15rem !important;
  color: #cda86b !important;
}

.pkgd-bespoke-accordion {
  border-top: 1px solid #eae6df;
  margin-top: 1.5rem;
}

.pkgd-bespoke-accordion .accordion-item {
  border: none;
  border-bottom: 1px solid #eae6df;
  background: transparent;
}

.pkgd-bespoke-accordion .accordion-button {
  font-weight: 700;
  color: #5c0f22;
  padding: 1.25rem 0;
  background-color: transparent !important;
  box-shadow: none !important;
  font-size: 0.95rem;
}

.pkgd-bespoke-accordion .accordion-button:not(.collapsed) {
  color: #5c0f22 !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.pkgd-bespoke-accordion .accordion-button:focus {
  border-color: transparent !important;
  box-shadow: none !important;
  background-color: transparent !important;
}

.pkgd-bespoke-accordion .accordion-button::after,
.pkgd-bespoke-accordion .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236c011d'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
  background-size: 0.85rem !important;
  filter: none !important;
  transition: transform 0.2s ease-in-out !important;
}

.pkgd-bespoke-accordion .accordion-button:not(.collapsed)::after {
  transform: rotate(-180deg) !important;
}

.pkgd-bespoke-accordion .accordion-body {
  padding: 0 0 1.25rem 0;
}

.pkgd-bespoke-summary-col {
  background: #fdfbf7;
  border: 1px solid #eae6df;
  border-radius: 1.25rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  padding: 2.5rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: start;
}

@media (min-width: 992px) {
  .pkgd-bespoke-summary-col {
    width: 380px;
    flex-shrink: 0;
    position: sticky;
    top: 100px;
  }
}

.pkgd-summary-title {
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 1px;
  color: #5c0f22;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.pkgd-summary-occupancy-badge {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #4a4a4a;
  margin-bottom: 1.5rem;
}

.pkgd-summary-occupancy-badge i {
  color: #5c0f22;
  font-size: 1.05rem;
}

.pkgd-summary-divider {
  border-top: 1px solid #eae6df;
  margin: 1.25rem 0;
}

.pkgd-summary-price-box {
  margin-bottom: 1.5rem;
}

.pkgd-summary-price-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #8c8c8c;
  letter-spacing: 0.5px;
  margin-bottom: 0.25rem;
}

.pkgd-summary-price-value {
  color: #5c0f22;
  font-size: 2.5rem;
  font-weight: 800;
  font-family: 'Playfair Display', serif;
}

.pkgd-summary-price-unit {
  font-size: 0.8rem;
  font-weight: 700;
  color: #8c8c8c;
  margin-left: 0.25rem;
}

.pkgd-summary-properties {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem 0;
}

.pkgd-summary-properties li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
  padding: 0.75rem 0;
  border-bottom: 1px dashed #eae6df;
}

.pkgd-summary-properties li:last-child {
  border-bottom: none;
}

.pkgd-summary-prop-label {
  color: #666666;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.pkgd-summary-prop-label i {
  color: #dfcbb5;
  font-size: 1rem;
  width: 20px;
  text-align: center;
}

.pkgd-summary-prop-value {
  color: #333333;
  font-weight: 700;
  text-align: right;
  max-width: 60%;
}

.pkgd-summary-book-btn {
  background: #5c0f22;
  color: #ffffff !important;
  border: none;
  border-radius: 0.5rem;
  padding: 1rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 0.95rem;
  transition: background 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  box-shadow: 0 4px 12px rgba(92, 15, 34, 0.2);
  text-decoration: none;
}

.pkgd-summary-book-btn:hover {
  background: #470b1a;
}

.pkgd-summary-security-note {
  font-size: 0.75rem;
  color: #8c8c8c;
  text-align: center;
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}

.pkgd-summary-security-note i {
  color: #dfcbb5;
}

/* --- Related Packages Styles --- */
.related-pkg-card {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.related-pkg-card-img {
  height: 150px;
  overflow: hidden;
}

.related-pkg-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.related-pkg-card-body {
  padding: 1rem;
}

.related-pkg-card-title {
  font-size: 1.1rem;
  text-align: center;
  font-family: 'Playfair Display', serif;
  color: #6c011d;
  font-weight: 700;
  height: 2.4rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.related-pkg-card-price {
  text-align: center;
}

.related-pkg-card-price.empty-price {
  height: 1.8rem;
}

.related-pkg-card-price .price-from {
  font-size: 0.75rem;
  color: #999;
}

.related-pkg-card-price strong {
  color: #333;
  font-size: 1.2rem;
}

.related-pkg-card-price .price-unit {
  font-size: 0.75rem;
  color: #999;
}

.related-pkg-btn-view {
  font-size: 0.7rem;
  border: none;
  background: transparent;
}

.related-pkg-slider-prev {
  color: #6c011d;
  transform: scale(0.5);
  left: -10px;
}

.related-pkg-slider-next {
  color: #6c011d;
  transform: scale(0.5);
  right: -10px;
}

/* --- Hero Section Styles --- */
.vr-unified-hero-overlay {
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

.vr-unified-hero-container {
  z-index: 2;
}

.vr-unified-hero-tag {
  color: #d1a869;
  letter-spacing: 2px;
  font-size: 0.85rem;
}

.vr-unified-hero-title {
  font-family: 'Playfair Display', serif;
  font-size: 3.5rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.vr-unified-hero-subtitle {
  color: #d1a869;
}

.vr-unified-hero-feat-icon {
  color: #d1a869;
}

.vr-unified-hero-feat-text {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* --- Highlights Bar Styles --- */
.vr-hero-highlights-bar-section {
  z-index: 10;
}

.vr-hero-highlights-card {
  transform: translateY(-50%);
  margin-bottom: -50px;
  background-color: #fff;
}

.vr-hero-highlights-icon {
  color: #630b24;
}

.vr-hero-highlights-title {
  color: #630b24;
  font-size: 0.9rem;
  letter-spacing: 1px;
}

.vr-hero-highlights-desc {
  font-size: 0.85rem;
}

/* --- Sidebar Form Styles --- */
.pkgd-sidebar-sticky {
  top: 100px;
  z-index: 10;
}

.pkgd-sidebar-form-container {
  background: #fdfdfd;
  border: 1px solid #eaeaea;
  border-radius: 8px;
}

.pkgd-sidebar-form-title {
  font-family: 'Playfair Display', serif;
  color: #6c011d;
  font-weight: 700;
}

.pkgd-sidebar-form-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  color: #666;
}

.pkgd-sidebar-form-calendar-icon {
  right: 12px;
  top: 12px;
  color: #999;
  pointer-events: none;
}

.pkgd-sidebar-form-select {
  color: #666;
}

.pkgd-sidebar-form-footer-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  color: #999;
  margin-bottom: 5px;
}

.pkgd-sidebar-form-footer-link {
  color: #333;
  font-weight: 600;
  text-decoration: none;
}

.pkgd-sidebar-form-footer-link i {
  color: #6c011d;
}

/* --- Section Titles --- */
.pkgd-section-title-left {
  text-align: left;
}

/* --- Default Layout Accordion Items --- */
.pkgd-default-accordion-btn {
  padding: 1rem 0;
  box-shadow: none;
}

.pkgd-default-accordion-btn i.popular-color {
  color: #6c011d;
}

.pkgd-default-accordion-btn i.normal-color {
  color: #d1a869;
}

/* --- Bottom CTA Banner Styles --- */
.pkg-help-sec-bespoke {
  background: #520116;
  padding: 3rem 0;
  color: #fff;
}

.pkg-help-logo-img {
  width: 70px;
}

.pkg-help-title-bespoke {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  margin-bottom: 0.3rem;
}

.pkg-help-desc-bespoke {
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}

.pkg-btn-outline-clear {
  border-color: transparent;
}

.pkg-btn-outline-clear-wrap {
  line-height: 1.2;
}

.pkg-btn-outline-clear-text-primary {
  font-size: 0.9rem;
}

.pkg-btn-outline-clear-text-secondary {
  font-size: 0.65rem;
  font-weight: 400;
  text-transform: none;
}

.pkg-help-call-bespoke {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  padding-left: 1.5rem;
}

.pkg-help-call-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 2px;
  display: block;
}

.pkg-help-call-link {
  font-family: 'Inter', sans-serif;
  font-size: 1.1rem;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

/* Event Detail Page Custom Classes */
.event-section-title {
  color: #540116 !important;
  font-size: 1.4rem !important;
}

.event-about-desc {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  color: #2c2520 !important;
}

.event-view-more-btn {
  border-radius: 20px !important;
  font-weight: 600 !important;
  color: #2c2520 !important;
  border-color: #ebdcb9 !important;
}

.event-map-iframe {
  border: 0 !important;
}

.event-qty-label {
  color: #2c2520 !important;
  font-size: 0.9rem !important;
}

.event-card-tag {
  left: auto !important;
  right: 15px !important;
  top: 15px !important;
  border-radius: 4px !important;
  padding: 4px 10px !important;
  font-size: 0.75rem !important;
  font-weight: bold !important;
  position: absolute !important;
  z-index: 2 !important;
}

/* Sidebar Upcoming Events List Widget */
.upcoming-event-widget {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.upcoming-event-item {
  display: flex;
  gap: 1rem;
  padding: 0.75rem;
  background: #fbf9f6;
  border-radius: 8px;
  border: 1px solid #ebdcb0;
  transition: all 0.3s ease;
  text-decoration: none !important;
}

.upcoming-event-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(108, 1, 29, 0.08);
  border-color: #6c011d;
  background: #fff;
}

.upcoming-event-thumb {
  width: 70px;
  height: 70px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
}

.upcoming-event-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.upcoming-event-item:hover .upcoming-event-thumb img {
  transform: scale(1.1);
}

.upcoming-event-meta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  min-width: 0;
}

.upcoming-event-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  color: #2c2520;
  margin-bottom: 0.25rem;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.3s ease;
}

.upcoming-event-item:hover .upcoming-event-title {
  color: #6c011d;
}

.upcoming-event-info {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  color: #706259;
  margin-bottom: 0.15rem;
}

.upcoming-event-info i {
  color: #b5873c;
  width: 12px;
  text-align: center;
}

/* GOLF INLINE REPLACEMENTS */
.golf-title-line {
  height: 1px;
  width: 60px;
  background-color: #d1a869;
}

.bg-light-warm {
  background-color: #fcfbf9 !important;
}

.pkg-banner-wrapper {
  background-color: #1a3322;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.pkg-banner-title {
  color: #ffffff;
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 12px;
}

.pkg-banner-season {
  color: #d1a869;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.pkg-banner-desc {
  color: #d8dfdb;
  font-size: 0.85rem;
  line-height: 1.6;
  margin-bottom: 25px;
  max-width: 95%;
}

.pkg-banner-icon {
  color: #d1a869;
  font-size: 0.85rem;
}

.pkg-banner-feat-text {
  color: #fff;
  font-size: 0.85rem;
  font-weight: 600;
}

.bg-golf-dark {
  background-color: #1a3322 !important;
}

.bg-golf-dark-alt {
  background-color: #1a2f20 !important;
}

.pkg-pricing-box {
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.pkg-starting-from {
  color: #d1a869;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.pkg-price-value {
  color: #6c011d;
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1;
}

.pkg-price-suffix {
  color: #888;
  font-size: 0.85rem;
}

.vr-golf-carousel-control {
  position: static !important;
  width: 45px;
  height: 45px;
  background-color: transparent;
  border: 1px solid #dcb36b;
  border-radius: 50%;
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.vr-golf-carousel-control:hover {
  background-color: #dcb36b !important;
}

.vr-golf-carousel-control:hover .carousel-control-icon {
  color: #fff !important;
}

.carousel-control-icon {
  color: #271418;
  font-size: 1rem;
  transition: color 0.3s ease;
}

.carousel-indicators-bottom-adj {
  bottom: -15px !important;
}

.fs-sm {
  font-size: 0.85rem !important;
}

.fs-4 {
  font-size: 24px !important;
}

.text-dark-gray {
  color: #444 !important;
}

.icon-sm {
  width: 20px;
  height: 20px;
}

.border-bottom-gray {
  border-bottom: 1px solid #ced4da !important;
}

.border-ddd {
  border-color: #ddd !important;
}

.border-f2 {
  border-color: #f2f2f2 !important;
}

.border-e0 {
  border-color: #e0e0e0 !important;
}

.modal-dialog-scrollable-custom {
  max-width: 900px;
  padding: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  margin: 0 auto;
  overflow: hidden;
}

.modal-dialog-scrollable-custom-lg {
  max-width: 960px;
  padding: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  margin: 0 auto;
  overflow: hidden;
}

.tracking-wide {
  letter-spacing: 1px !important;
}

.tracking-normal {
  letter-spacing: 0.5px !important;
}

.top-25 {
  top: 25px !important;
}

.right-25 {
  right: 25px !important;
}

.bg-light-gray {
  background-color: #fafafa !important;
}

.modal-backdrop-custom {
  display: none;
  z-index: 1060;
  padding: 5vh 20px;
}

.btn-outline-light-custom {
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-size: 0.85rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  background-color: transparent !important;
}

.mh-70vh {
  max-height: 70vh !important;
}

.object-fit-contain {
  object-fit: contain !important;
}

.btn-maroon-custom {
  background-color: #6c011d !important;
  border-radius: 6px;
  padding: 12px 30px;
  font-size: 1rem;
  letter-spacing: 0.5px;
}

.bg-icon-watermark {
  font-size: 8rem;
  color: #f8f5f0;
  bottom: -20px;
  right: -20px;
  z-index: 0;
  opacity: 0.8;
}

.text-gold {
  color: #dcb36b !important;
}

.font-inter {
  font-family: 'Inter', sans-serif !important;
}

.btn-gold-custom {
  background-color: #c9983f !important;
  border: none;
  font-size: 0.85rem;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.bg-maroon-dark {
  background-color: #4a101b !important;
}

.text-maroon {
  color: #6c011d !important;
}

.modal-footer-custom {
  padding: 20px 40px;
  border-top: 1px solid #eee;
  background: #fafafa;
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.font-playfair {
  font-family: 'Playfair Display', serif !important;
}

.modal-header-custom {
  padding: 20px 30px;
  border-bottom: 1px solid #eee;
  position: relative;
  flex-shrink: 0;
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-header-custom-alt {
  padding: 30px 40px 20px;
  border-bottom: 1px solid #eee;
  position: relative;
  flex-shrink: 0;
  background: #fff;
}

.modal-body-custom {
  padding: 30px 40px;
  overflow-y: auto;
  flex-grow: 1;
  background: #fff;
}

.pkg-banner-img {
  background-size: cover;
  background-position: center;
  min-height: 300px;
}

.bg-img-cover {
  background-size: cover;
  background-position: center;
}

.object-fit-cover-center {
  object-fit: cover;
  object-position: center;
}


/* DINING INLINE REPLACEMENTS */
.img-fluid {
  max-width: 100%;
  height: auto;
}

.bg-img-hero-dining {
  background-image: url('../images/dining-packages/hero-packages.png');
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.dining-badge-success {
  background: #f1f8e9;
  border: 1px solid #dcedc8;
  border-radius: 4px;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  color: #33691e;
  display: flex;
  gap: 10px;
}

.dining-section-offset {
  margin-top: -60px;
  margin-bottom: 40px;
}

.dining-hero-text {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: #fff;
  max-width: 550px;
  line-height: 1.6;
  margin-top: 1.5rem;
  opacity: 0.9;
}

.dining-img-container {
  width: 100%;
  height: 480px;
}

.fs-xs {
  font-size: 0.78rem !important;
}

.text-muted {
  color: #888 !important;
}

.border-eaeaea {
  border: 1px solid #eaeaea !important;
}

.star-icon-sm {
  color: #d1a869;
  font-size: 0.55rem;
}

.circle-icon-lg {
  width: 60px;
  height: 60px;
  border: 1px solid #d1a869;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d1a869;
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.text-dark-brown {
  color: #2c2520 !important;
}

.text-muted-777 {
  color: #777 !important;
}

.border-bottom-gold {
  border-bottom: 4px solid #d4af37 !important;
}

.lh-1 {
  line-height: 1 !important;
}

.text-gold-alt {
  color: #d4af37 !important;
}

.fs-2 {
  font-size: 2rem !important;
}

.fs-3-rem {
  font-size: 3rem !important;
}

.fs-hero {
  font-size: 3.5rem !important;
}

.btn-outline-gold-custom {
  border-color: #d1a869 !important;
  color: #d1a869 !important;
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.btn-outline-gold-custom:hover {
  background-color: #d1a869 !important;
  color: #fff !important;
}

.dining-sticky-sidebar {
  top: 100px;
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 2rem;
}

.bg-success-dark {
  background: #1b5e20 !important;
}

.dining-sub-desc {
  max-width: 600px;
}

.bg-light-f5 {
  background: #f5f5f5 !important;
}

.bg-warm-light {
  background: #fdfcfb !important;
}

.dining-qty-input {
  max-width: 120px;
}

.dining-price-box {
  width: 180px;
  flex-shrink: 0;
}

.circle-icon-md {
  width: 40px;
  height: 40px;
  border: 1px solid #d1a869;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d1a869;
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  margin: 0 auto 10px auto;
}

.text-success-alt {
  color: #2ca25f !important;
}

.dining-detail-scroll {
  min-height: 50px;
  max-height: 400px;
  overflow-y: auto;
}

.border-left-eaeaea {
  border-left: 1px solid #eaeaea !important;
}

.dining-table-custom {
  min-width: 600px;
  border-collapse: separate;
  border-spacing: 0;
  font-family: 'Inter', sans-serif;
}

.bg-dark {
  background: #111 !important;
}

.disabled-opacity {
  opacity: 0.5;
  pointer-events: none;
}

.btn-delete-custom {
  border: none;
  color: #dc3545;
  font-size: 1.1rem;
  background: transparent;
  padding: 0 10px;
}

.text-muted-999 {
  color: #999 !important;
}

.btn-reset-custom {
  background: none;
  box-shadow: none;
  border: none;
  padding: 0;
}

.dining-feature-box {
  padding: 30px 25px;
  display: flex;
  align-items: start;
  gap: 15px;
  height: 100%;
}

.border-right-f2 {
  border-right: 1px solid #f2f2f2 !important;
}


/* RECREATIONAL ACTIVITIES INLINE REPLACEMENTS */
.rounded-3 {
  border-radius: 6px !important;
}

.p-4 {
  padding: 24px !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.transition-300 {
  transition: 0.3s !important;
}

.border-white-40 {
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
}

.bg-gradient-dark-right {
  background: linear-gradient(to right, transparent 20%, #110e0e 90%) !important;
}

.border-maroon-light {
  border: 1px solid #8e5864 !important;
}

.text-maroon-light {
  color: #8e5864 !important;
}

.mh-75vh {
  min-height: 75vh !important;
}

.pt-140 {
  padding-top: 140px !important;
}

.z-99 {
  z-index: 99 !important;
}

.bg-img-cover-center {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.filter-brightness-60 {
  filter: brightness(0.6) !important;
}

.bg-light-f5 {
  background-color: #f5f3ef !important;
}

.border-light-04 {
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
}

.translate-y-50 {
  transform: translateY(50%) !important;
}

.cursor-pointer {
  cursor: pointer !important;
}

.font-serif {
  font-family: var(--vr-serif) !important;
}

.mh-400px {
  min-height: 400px !important;
}

.max-w-1200 {
  max-width: 1200px !important;
}

.gap-3 {
  gap: 15px !important;
}

.mh-140px {
  max-height: 140px !important;
}

.filter-grayscale-100 {
  filter: grayscale(100%) !important;
}

.border-bottom-maroon {
  border-bottom: 2px solid #6d152c !important;
}

.bg-maroon-darker {
  background-color: #5a1224 !important;
}

.w-fit {
  width: fit-content !important;
}

.flex-1 {
  flex: 1 1 0 !important;
}

.h-0 {
  height: 0 !important;
}

.min-h-0 {
  min-height: 0 !important;
}

.border-white-10 {
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.mh-42px {
  min-height: 42px !important;
}

.mh-200px {
  min-height: 200px !important;
}

.border-maroon {
  border: 1px solid #6d152c !important;
}

.bg-light-fdfdfc {
  background-color: #fdfdfc !important;
}

.border-black-06 {
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.max-w-600 {
  max-width: 600px !important;
}

.max-w-500 {
  max-width: 500px !important;
}

.bg-light-f7 {
  background-color: #f7f3f0 !important;
}

.bg-gradient-dark-right-alt {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.2) 100%) !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.bg-dark-11 {
  background-color: #110e0e !important;
}

.mh-120px {
  min-height: 120px !important;
}

.bg-transparent {
  background-color: transparent !important;
}


/* POOL PACKAGES INLINE REPLACEMENTS */
.btn-maroon-transition {
  background: #6c011d !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  font-size: 1.1rem !important;
  transition: background 0.3s !important;
  color: #fff;
  border: none;
}

.btn-maroon-transition:hover {
  background: #4a0110 !important;
}


/* WELLNESS INLINE REPLACEMENTS */
.bg-video-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  transform: translate(-50%, -50%);
  object-fit: cover;
  opacity: 0.85;
}

.border-bottom-eaeaea {
  border-bottom: 1px solid #eaeaea !important;
}

.h-100 {
  height: 100% !important;
}

.rotate-minus-45 {
  transform: rotate(-45deg) !important;
}

.bg-white {
  background-color: #fff !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.text-vr-maroon {
  color: var(--vr-maroon) !important;
}

.text-light {
  color: #f1e9e9 !important;
}

.opacity-35 {
  opacity: 0.35 !important;
}

.wellness-badge {
  left: auto;
  right: 15px;
  top: 15px;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 0.75rem;
  font-weight: bold;
  position: absolute;
  z-index: 2;
}

.wellness-vertical-bar {
  height: 28px;
  width: 4px;
  background-color: var(--vr-maroon);
  margin-right: 12px;
  border-radius: 2px;
}

.scale-50 {
  transform: scale(0.5) !important;
}

.right-0 {
  right: 0px !important;
}

.left-0 {
  left: 0px !important;
}

.mh-380px {
  min-height: 380px !important;
}

.text-muted-555 {
  color: #555 !important;
}

.bg-light-f8f5f0 {
  background-color: #f8f5f0 !important;
}

.bg-icon-watermark-alt {
  color: #f8f5f0;
  opacity: 1;
  font-size: 8rem;
  bottom: -20px;
  right: -20px;
  z-index: 0;
}

.wellness-alert-box {
  background-color: rgba(255, 255, 255, 0.1);
  font-size: 0.8rem;
  color: #fbf9f6;
  border-left: 2px solid #dcb36b;
}

.bg-success-alt {
  background-color: #5a7d59 !important;
}


/* MEETING CONVENTIONS INLINE REPLACEMENTS */
.mc-banner-wrapper {
  background-color: #1a3b2b;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.word-break-all {
  word-break: break-all !important;
}

.bg-light-fbfaf8 {
  background-color: #fbfaf8 !important;
}

.bottom-minus-15 {
  bottom: -15px !important;
}

.text-muted-d8 {
  color: #d8dfdb !important;
}

.max-w-90 {
  max-width: 90% !important;
}

.text-muted-e5 {
  color: #e5ebe8 !important;
}

.bg-img-hero-mc {
  background-size: cover;
  background-position: center;
}

.mc-title-line {
  width: 50px;
  height: 2px;
  background-color: #d1a869;
}

.text-mc-dark {
  color: #1a3b2b !important;
}


/* ACTIVITIES INLINE REPLACEMENTS */
.btn-outline-light-inter {
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem;
  letter-spacing: 1px;
}

.activities-columns {
  column-count: 2;
  column-gap: 15px;
  font-size: 0.8rem;
}

.activities-columns li
{
    position:relative;
    list-style:none;
    padding-left:17px;
}
.activities-columns li::after
{
    position:absolute;
    left:0;
    content:"✓";
    top:0;
        color: #dcb36b !important;
}
.btn-gold-inter {
  background-color: #c9983f !important;
  border: none;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem;
  letter-spacing: 1px;
}

.break-inside-avoid {
  break-inside: avoid !important;
}

.bg-img-more-dining {
  background-image: url('../images/more-dining.webp');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.1;
}

.font-inter {
  font-family: 'Inter', sans-serif !important;
}


/* REMAINING PAGES INLINE REPLACEMENTS */
.lh-lg {
  line-height: 1.8 !important;
}

.bg-light-fcfaf5 {
  background-color: #fcfaf5 !important;
}

.h-260px {
  height: 260px !important;
}

.bg-gradient-dark-right-alt2 {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 40%, rgba(0, 0, 0, 0.1) 100%) !important;
}

.bg-black {
  background-color: #000 !important;
}

.mh-40px {
  min-height: 40px !important;
}

.text-gold-alt2 {
  color: #c5a365 !important;
}

.mt-minus-30 {
  margin-top: -30px !important;
}

.z-10 {
  z-index: 10 !important;
}

.transition-opacity {
  transition: opacity 0.3s ease !important;
}

.top-12 {
  top: 12px !important;
}

.right-12 {
  right: 12px !important;
}

.text-muted-999 {
  color: #999999 !important;
}

.pointer-events-none {
  pointer-events: none !important;
}

.rounded-1 {
  border-radius: 4px !important;
}

.text-white-70 {
  color: rgba(255, 255, 255, 0.7) !important;
}

.text-maroon-dark2 {
  color: #630b24 !important;
}

.pb-5 {
  padding-bottom: 80px !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.z-5 {
  z-index: 5 !important;
}

.pe-4 {
  padding-right: 35px !important;
}

.h-380px {
  height: 380px !important;
}

.h-130px {
  height: 130px !important;
}

.top-0 {
  top: 0 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-3 {
  z-index: 3 !important;
}

.bg-gradient-dark-overlay {
  background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6)) !important;
}

.bg-img-hero-default {
  background-size: cover;
  background-position: center;
}

.bg-gradient-dark-overlay-hero {
  background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6)) !important;
  background-position: center;
  background-size: cover;
}

.bg-gradient-dark-overlay-hero-alt {
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7)) !important;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}



.vr-hero-btn .btn-icon {
  width: 32px !important;
  height: 32px !important;
  font-size: 13px !important;
}



/* Hero Button Sizing Fix */
.vr-hero-btn {
  padding: 0 20px !important;
  font-size: 14px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
}

.vr-hero-btn .btn-text {
  height: 16px !important;
  line-height: 16px !important;
  overflow: hidden !important;
  display: inline-block !important;
}

.vr-hero-btn .btn-text span {
  display: inline-block !important;
  line-height: 16px !important;
  text-shadow: 0 30px 0 !important;
  transform: translateY(0);
  transition: 0.4s ease-in-out;
}

.vr-hero-btn:hover .btn-text span {
  transform: translateY(-30px) !important;
}

.vr-hero-btn .btn-icon {
  width: 28px !important;
  height: 28px !important;
  font-size: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 10px !important;
}

/* Additional overrides for screens between 1200px and 1399.98px to prevent overlapping logo */
@media (min-width: 1200px) and (max-width: 1399.98px) {
  #header .logo img {
    max-width: 130px !important;
  }

  .primary-menu ul.navbar-nav>li>a:not(.btn) {
    padding: 0px 0.35rem !important;
    font-size: 11.5px !important;
    letter-spacing: 0.1px !important;
    margin: 0px 1px !important;
  }

  .primary-menu .logo {
    left: 20px !important;
  }

  #header-nav.collapse.navbar-collapse {
    padding-left: 20px !important;
  }
}

/* Limit width of card elements on mobile viewports to prevent them from stretching too wide */
@media (max-width: 767.98px) {

  .pkg-card,
  .stays-room-card,
  .golf-membership-card,
  .vr-wellness-pkg-card,
  .wd-pkg-card,
  .eat-pkg-card,
  .related-pkg-card {
    max-width: 310px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
  }

  /* Package detail hero - enough bottom padding on mobile so all content is visible */
  .vr-unified-hero .vr-unified-hero-container .row>div {
    padding-bottom: 20rem !important;
  }
}

/* Blog Custom Styling */
.blog-hero-sec {
  background: linear-gradient(135deg, #6c011d 0%, #aa998a 100%);
  padding: 100px 0 80px 0;
  color: #fff;
  text-align: center;
}

.blog-hero-title {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 15px;
  letter-spacing: -0.5px;
  font-family: 'Playfair Display', Georgia, serif;
}

.blog-hero-desc {
  font-size: 1.15rem;
  max-width: 600px;
  margin: 0 auto;
  opacity: 0.9;
}

.blog-grid-sec {
  padding: 80px 0;
  background-color: #fcfcfc;
}

.blog-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.05);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.blog-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  border-color: rgba(108, 1, 29, 0.2);
}

.blog-card-img {
  height: 240px;
  overflow: hidden;
  position: relative;
}

.blog-card-img a {
  display: block;
  width: 100%;
  height: 100%;
}

.blog-card-img img {
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.blog-card:hover .blog-card-img img {
  transform: scale(1.08);
}

.blog-date-badge {
  position: absolute;
  bottom: 15px;
  left: 15px;
  background: rgba(108, 1, 29, 0.95);
  color: #fff;
  padding: 6px 14px;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 30px;
  backdrop-filter: blur(4px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.blog-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.blog-card-title {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 12px;
  color: #1a1a1a;
  transition: color 0.3s ease;
  font-family: 'Playfair Display', Georgia, serif;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card:hover .blog-card-title {
  color: #6c011d;
}

.blog-card-desc {
  color: #666;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card-footer {
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.blog-read-more {
  color: #6c011d;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.3s ease;
}

.blog-card:hover .blog-read-more {
  gap: 10px;
}

.blog-keywords {
  font-size: 0.8rem;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 500;
}

/* Blog Detail Custom Styling */
.blog-detail-header {
  background: linear-gradient(135deg, #6c011d 0%, #aa998a 100%);
  padding: 120px 0 90px 0;
  color: #fff;
}

.blog-meta-info {
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #aa998a;
  margin-bottom: 15px;
}

.blog-detail-title {
  font-size: 2.75rem;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 0;
  font-family: 'Playfair Display', Georgia, serif;
  letter-spacing: -0.5px;
}

.blog-detail-content-sec {
  padding: 80px 0;
  background-color: #fbfbfb;
}

.blog-main-card {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.04);
}

.blog-banner-img-container {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 35px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
}

.blog-banner-img-container img {
  width: 100%;
  height: auto;
  display: block;
}

.blog-body-text {
  color: #2c2c2c;
  font-size: 1.1rem;
  line-height: 1.8;
}

.blog-body-text p {
  margin-bottom: 24px;
}

.blog-body-text h2,
.blog-body-text h3,
.blog-body-text h4 {
  color: #6c011d;
  font-weight: 700;
  margin-top: 40px;
  margin-bottom: 20px;
  font-family: 'Playfair Display', Georgia, serif;
}

.blog-body-text h2 {
  font-size: 1.8rem;
}

.blog-body-text h3 {
  font-size: 1.5rem;
}

.blog-body-text ul,
.blog-body-text ol {
  margin-bottom: 30px;
  padding-left: 20px;
}

.blog-body-text li {
  margin-bottom: 10px;
}

.blog-body-text blockquote {
  border-left: 4px solid #6c011d;
  padding-left: 20px;
  margin: 30px 0;
  font-style: italic;
  color: #555;
  font-size: 1.2rem;
}

.blog-body-text img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 30px 0;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}

/* Sidebar */
.blog-sidebar-card {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.04);
  margin-bottom: 30px;
}

.blog-sidebar-title {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: #6c011d;
  border-bottom: 2px solid #f0f0f0;
  padding-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-family: 'Playfair Display', Georgia, serif;
}

.recent-blog-item {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
  align-items: center;
}

.recent-blog-item:last-child {
  margin-bottom: 0;
}

.recent-blog-img {
  width: 70px;
  height: 70px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}

.recent-blog-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recent-blog-info {
  flex-grow: 1;
}

.recent-blog-title {
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 4px;
  line-height: 1.3;
  font-family: 'Playfair Display', Georgia, serif;
}

.recent-blog-title a {
  color: #2c2c2c;
  text-decoration: none;
  transition: color 0.3s ease;
}

.recent-blog-title a:hover {
  color: #6c011d;
}

.recent-blog-date {
  font-size: 0.8rem;
  color: #888;
}

.blog-cta-box {
  background: linear-gradient(135deg, #6c011d 0%, #aa998a 100%);
  color: #fff;
  border-radius: 16px;
  padding: 30px;
  text-align: center;
  box-shadow: 0 10px 35px rgba(108, 1, 29, 0.25);
}

.blog-cta-title {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 12px;
  font-family: 'Playfair Display', Georgia, serif;
}

.blog-cta-desc {
  font-size: 0.95rem;
  opacity: 0.9;
  margin-bottom: 20px;
  line-height: 1.5;
}

.blog-cta-btn {
  background: #fff;
  color: #6c011d;
  border: none;
  padding: 10px 24px;
  font-weight: 700;
  border-radius: 30px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
}

.blog-cta-btn:hover {
  background: #aa998a;
  color: #fff;
  transform: translateY(-2px);
}

/* ---------------------------------------------------
   Responsive Fixes (Moved from index.php)
------------------------------------------------------ */
.vr-hero-btn-outline {
  background-color: transparent !important;
  color: #fff !important;
  border: 1px solid #fff !important;
  transition: all 0.3s ease-in-out !important;
}

.vr-hero-btn-outline:hover {
  background-color: #fff !important;
  color: var(--vr-maroon, #7b1c3b) !important;
}
.vr-unified-hero h6
{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
}
.vr-unified-hero p
{
    margin-top:0 !important;
    padding-top:0 !important;
} 
.Well_items
{
    width:17% !important;
}
    .vr-hero-title {
    font-family: 'Lato', sans-serif !important;
    text-transform: uppercase;
    font-weight: 400;
    font-size:50px;
}


@media (max-width: 1450px) {
    .vr-hero-title {
    font-size: 38px;
}
}


/* Force Swiper to Grid on Desktop */
@media (min-width: 992px) {
  .desktop-grid-carousel {
    overflow: visible !important;
  }

  .desktop-grid-carousel .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    transform: none !important;
    margin-left: -0.75rem !important;
    margin-right: -0.75rem !important;
    width: auto !important;
    height: auto !important;
  }

  .desktop-grid-carousel .swiper-slide {
    width: 25% !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    margin-right: 0 !important;
    margin-bottom: 1.5rem !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
  }

  .desktop-grid-carousel .swiper-pagination {
    display: none !important;
  }

  /* Modifiers for different column counts */
  .desktop-grid-carousel.cols-5 .swiper-slide {
    width: 20% !important;
  }

  .desktop-grid-carousel.cols-3 .swiper-slide {
    width: 33.333333% !important;
  }

  .desktop-grid-carousel.cols-2 .swiper-slide {
    width: 50% !important;
  }
  .contact-details .col-6:nth-child(3)
  {
      width:70% !important;
  }
}

/* Tablet Responsive Fixes */
@media only screen and (min-width: 600px) and (max-width: 991px) {
  .vr-booking-form-bar {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .vr-booking-form-bar>div {
    width: 100% !important;
    margin-bottom: 10px;
  }

  .vr-booking-form-bar .flex-shrink-0 {
    width: 100%;
  }

  .vr-booking-form-bar button {
    width: 100%;
  }

  .vr-hero-title {
    font-size: 2.5rem !important;
  }

  .highlight-card-body {
    min-height: 150px;
  }
}

@media only screen and (max-width: 599px) {
  .vr-booking-form-bar {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .vr-booking-form-bar>div {
    width: 100% !important;
    margin-bottom: 10px;
  }

  .vr-booking-form-bar button {
    width: 100%;
  }
      .cu-hero-left {
        padding: 0rem 0 0rem 0;
    }
    .cu-pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
}
}

/* Swiper Pagination Styling (Visibility Fix) */
.swiper-pagination-bullet {
  background-color: var(--vr-maroon, #7b1c3b) !important;
  opacity: 0.3 !important;
  /* Make inactive dots visible */
}

.swiper-pagination-bullet-active {
  background-color: var(--vr-maroon, #7b1c3b) !important;
  opacity: 1 !important;
}
.vr-adventure-banner .banner-right {
    max-width: 260px;
}
.HLalign-top  .vr-hero-highlights-bar .highlight-item
{
    align-items:start !important;
}
.HLalign-top  .vr-hero-highlights-bar
{
    padding-bottom: 0 !important;
}
.comman-heading
{
    color: var(--vr-maroon) !important;
    text-transform: uppercase;
    font-weight: 400 !important;
    font-size:2rem;
}
.fitness-benefit-text {
    width: 100%;
}



/* ---------------------------------------------------
   Global Hero Section Mobile/Tablet Left Alignment
------------------------------------------------------ */


@media only screen and (-webkit-min-device-pixel-ratio: 2.0), 
       only screen and (min-resolution: 224dpi), 
       only screen and (min-resolution: 2.0dppx) {

    .contact-us-height {
        min-height: 70vh !important;
        padding-bottom: 30px !important;
    }
}

@media (max-width: 991px) {

  /* Override any center alignment on hero wrappers */
  .hero-content,
  .vr-hero-container,
  .vr-hero-event,
  .inner-hero,
  .hero,
  .amenities-hero-content,
  .amenities-hero-sec {
    text-align: left !important;
  }

  /* Target the column/container holding the text */
  .hero-content .row>div,
  .vr-hero-container .row>div,
  .vr-hero-event-content,
  .inner-hero-content,
  .amenities-hero-content,
  .hero .row>div,
  .hero .col-12 {
    text-align: left !important;
    align-items: flex-start !important;
  }

  /* Target the button wrappers to align left */
  .hero-content .d-flex.gap-3,
  .vr-hero-container .d-flex.gap-3,
  .hero-content .btn-group,
  .vr-hero-container .btn-group {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Ensure titles and paragraphs inside hero are left aligned */
  .vr-hero-title,
  .vr-hero-desc,
  .hero h1,
  .hero p,
  .vr-hero h1,
  .vr-hero p,
  .amenities-hero-title,
  .amenities-hero-subtitle {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* ---------------------------------------------------
   Mobile/Tablet Card Size Reductions & Aspect Ratios
------------------------------------------------------ */
@media (max-width: 991px) {

  /* Packages Card - Match desktop's portrait aspect ratio (taller than wide) to prevent cropping */
  .pkg-card {
    height: auto !important;
    aspect-ratio: 2 / 3;
  }

  .pkg-card-img img {
    object-fit: cover !important;
    /* Cover works perfectly without cropping if aspect-ratio matches image */
  }

  .pkg-card-body {
    padding: 20px 15px !important;
  }

  .pkg-card-title {
    font-size: 1.2rem !important;
  }

  /* Rooms & Suites Card */
  .vr-room-card .card-body {
    padding: 1.25rem !important;
  }

  .vr-room-card .card-img-top {
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4 / 3;
    object-fit: cover !important;
  }

  .vr-room-card h5 {
    font-size: 1.1rem !important;
  }

  /* Wellness Card */
  .vr-gift-wellness-card {
    flex-direction: column !important;
  }

  .vr-card-right-image img.vr-wellness-towels-img {
    height: 200px !important;
    width: 100% !important;
    object-fit: contain !important;
  }

  .vr-wellness-icons-row .vr-wellness-icon-item i {
    font-size: 1.5rem !important;
  }
  #header .navbar {
    padding: 10px 0;
}
.vr-hero, .vr-hero-event, .op-hero, .dn-hero, .dp-hero-sec, .cu-hero, .amenities-hero-sec, .bday-hero-sec, .pkg-hero-sec, .pkgd-hero, .act-hero-sec, .alba-hero-sec {
        min-height: 60vh !important;
    }
    .vr-wellness-booking-page .vr-hero h1 {
    font-size: 2rem;
}
#session-cards-container .vr-session-card 
{
display:block !important;
}
.vr-session-action> i
{
    display:none;
}
#scheduler-start .col-12.Tab_half
{
flex: 0 0 auto;
    width: 50%;
}
.PD-LR-10 {
    padding-left: 0;
    padding-right: 0;
}
}

@media only screen and (min-width: 600px) and (max-width: 820px) {

  .vr-events-section .col-lg-3.col-md-6.col-12,
  .stays-bottom-features-sec .col-md-6.col-12,
  .col-md-6.cabana-food-item,
  .cabana-bg-soft.cabana-border-soft .col-12 {
    flex: 0 0 auto;
    width: 50%;
  }

  .vr-gift-wellness .vr-card-left-content .text-start {
    text-align: center !important;
  }

  .pkg-card-body {
    padding: 53px 15px !important;
  }

  .pkg-card,
  .stays-room-card,
  .golf-membership-card,
  .vr-wellness-pkg-card,
  .wd-pkg-card,
  .eat-pkg-card,
  .related-pkg-card {
    max-width: 100% !important;
    width: 100% !important;
  }

  .stays-pricing-inner {
    width: 100%;
  }

  .stays-action-wrapper {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .stays-card-book-btn {
    width: auto;
    padding: 14px 25px !important;

  }

  .stays-pricing-col {
    padding: 15px 30px !important;
  }

  .vr-date-picker-trigger {
    font-size: 0.9rem;
  }

  .vr-date-carousel-scroll span {
    font-size: 15px;
  }

  .event-hero-content h1 {
    font-size: 30px;
    line-height: 37px;
  }

  .hero-subtitle {
    font-size: 18px;
    line-height: 20px;
  }

  .schedule-items-container tr td {
    font-size: 13px !important;
  }

  .pkg-btn-solid {
    padding: 0.9rem 1rem;
    font-size: 0.75rem;
  }

  .pkg-btn-outline {
    padding: 0.75rem 1rem;
  }

  .pool-meta-row {
    gap: 1rem;
  }

  .pool-card-info-col {
    flex: 1;
    padding: 2rem 1.5rem;
  }

  .cabana-font-sm {
    font-size: 0.9rem !important;
    padding-bottom: 0 !important;
    height: 45px ! IMPORTANT;
  }

  .col-12.transition-all {
    width: 50% !important;
  }

  #dynamic-cabana-map .gap-3 {
    gap: 0 !important;
  }

  .container,
  .container-sm {
    max-width: 100% !important;
  }

  .new_cabana-pro-img {
    height: 175px !important;
  }

  .promo-box h6 {
    color: #fff !important;
  }

  .vr-adventure-banner .banner-left {
    min-height: 200px;
    width: 100%;
  }

  .vr-wellness-filter-wrap {
    width: 100%;
  }

  .contact-us-banner .col-12.col-md-6 {
    flex: 0 0 auto;
    width: 33%;
  }

  .cu-pill h6 {

    margin: 0px 0 -10px 0;

  }

  .cu-info-row {
    width: 100%;
    float: left;
    display: block;
  }

  .cu-info-row .cu-info-item {
    flex: 0 0 auto;
    width: 45%;
    float: left;
    margin: 10px;
  }
.vr-wellness-booking-page .vr-detail-img-wrapper {
    height: 640px;

}
.cu-pill {
    text-align: center;
}
.cu-pill {
  gap: 0rem;

}
.vr-unified-hero p
{
    margin-bottom:0 !important;
}
    .oo-card-img-col {
        width: 100%;
        height: 445px;
    }
.vr-wellness-pkg-img {
    height: 400px;
}
.HLalign-top  .vr-hero-highlights-bar
{
    padding-bottom: 1.5em !important;
}
  .links-grid {
grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important;
        text-align: left !important;
  }
.links-grid ul li {
    margin-bottom: 0 !important;
    position: relative;
}
.golf-banner-content
{
    max-width:100% !important;
}
.golf-btn-maroon {
    max-width: 250px;
}
.pkg-banner-img {
    height: 350px;
}
.gym-pkg-tabs .nav-link {
    padding: 10px 15px;
    font-size: 1rem;
}
.contact-details .row
{
    display:flex !important;
}
.contact-details .row .col-md-4
{
    max-width:33% !important;
}
}




@media (max-width: 599px) {

  /* Packages Card further reduction */
  .pkg-card {
    height: auto !important;
    aspect-ratio: 2 / 3;
  }

  .pkg-card-title {
    font-size: 1.1rem !important;
  }

  .pkg-card-features span {
    font-size: 0.8rem !important;
  }

  .pkg-card-price strong {
    font-size: 1.2rem !important;
  }

  /* Rooms & Suites */
  .vr-room-card .card-img-top {
    aspect-ratio: 4 / 3;
    height: auto !important;
  }
  #header .navbar {
    padding: 10px 0;
}
.HLalign-top .col-6
{
    width:100% !important;
}
.HLalign-top  .vr-hero-highlights-bar
{
    padding-bottom: 1.5em !important;
}
.schedule-items-container table
{
    width:550px !important;
}
.schedule-items-container td
{
    font-size:14px;
}
.gym-pkg-tabs .nav-link {
    font-size: 0.9rem;
}
.contact-details .row .col-md-4
{
    max-width:50% !important;
}
        .contact-details .row.g-4 {
    justify-content: center;
}
}

/* Kids Birthday Package card overrides */
.bday-pack-card.pkg-card {
  cursor: pointer;
  height: 380px !important;
  min-height: 380px !important;
}

.bday-pack-card.pkg-card.selected {
  outline: 4px solid #6c011d !important;
  outline-offset: -4px;
  box-shadow: 0 0 20px rgba(108, 1, 29, 0.5) !important;
}

.bday-pack-card.pkg-card.selected .pack-check {
  opacity: 1 !important;
  background: #6c011d;
  color: #fff;
}

.bday-pack-card.pkg-card .pack-check {
  z-index: 10;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.bday-pack-card.pkg-card.selected .select-btn-label {
  background-color: #fff;
  color: #6c011d !important;
}

.bday-pack-card.pkg-card .pkg-card-body {
  padding: 25px;
}

.bday-pack-card.pkg-card .pkg-card-title {
  font-size: 1.35rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
  margin-bottom: 0;
  font-family: var(--vr-sans);
}

.bday-pack-card.pkg-card .pkg-card-desc {
  font-size: 0.85rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 12px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
}

.bday-pack-card.pkg-card .pkg-card-hover-details ul li i {
  color: #dcb36b;
  margin-right: 6px;
}

.bday-pack-card.pkg-card .pkg-card-hover-details .border-top {
  border-top-color: rgba(255, 255, 255, 0.15) !important;
}

.bday-pack-card.pkg-card .bday-card-price-label {
  font-size: 1.15rem;
  color: #fff;
  font-weight: 700;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}

/* Kids Birthday Review Layout overrides */
.bday-review-box {
  background: #fdfdfd;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 24px;
  margin-top: 10px;
}

.review-item {
  margin-bottom: 8px;
}

.review-label {
  font-size: 0.75rem;
  color: #888;
  margin-bottom: 2px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.review-value {
  font-size: 1rem;
  color: #333;
  font-weight: 500;
}