:root {
  /* Leisureboosters Custom Colors - Pink & Teal */
  --lb-pink-primary: #ec378d;
  --lb-pink-dark: #d12c7a;
  --lb-pink-light: #f05ea2;
  --lb-pink-lighter: #f58ab8;
  --lb-pink-pale: rgba(236, 55, 141, 0.1);
  
  --lb-teal-primary: #01a4ac;
  --lb-teal-dark: #018b92;
  --lb-teal-light: #33b7be;
  --lb-teal-lighter: #66cad0;
  --lb-teal-pale: rgba(1, 164, 172, 0.1);
  
  /* Primary color set to Pink */
  --bs-primary: #ec378d;
  --bs-primary-rgb: 236, 55, 141;
  --bs-link-color-rgb: 236, 55, 141;
  --bs-link-hover-color-rgb: 209, 44, 122;
  
  /* Soft and pale variants */
  --bs-soft-primary: rgba(236, 55, 141, 0.1);
  --bs-pale-primary: rgba(236, 55, 141, 0.15);
  --bs-bullet-soft-primary: rgba(236, 55, 141, 0.2);
  --bs-icon-fill-primary: rgba(236, 55, 141, 0.25);
  --bs-icon-solid-fill-primary: #ec378d;
  --bs-border-soft-primary: rgba(236, 55, 141, 0.3);
  
  /* Secondary color set to Teal */
  --bs-secondary: #01a4ac;
  --bs-secondary-rgb: 1, 164, 172;
}
.underline-3.primary.style-2:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 208.01 8.3'%3E%3Cpath fill='%23ec378d' d='M64.42,2.42Q42.78,1.46,21.19,0c-2.8-.19-4.09.89-3.87,2L3.92,1.87c-5.13-.05-5.28,3.87-.12,3.92l60.49.55c46.63,2.08,93.34,2.51,139.81,1.27,5-.13,5.39-3.87.13-3.92Z'/%3E%3C/svg%3E");
}
.underline-3.primary.style-3:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 205 9.37'%3E%3Cpath fill='%23ec378d' d='M202.47,9.37A1191.26,1191.26,0,0,0,1.79,7.48,1.67,1.67,0,0,1,0,5.92H0A1.76,1.76,0,0,1,1.63,4.21c67-5.71,133.83-5.43,200.8-.27A2.75,2.75,0,0,1,205,6.88h0A2.6,2.6,0,0,1,202.47,9.37Z'/%3E%3C/svg%3E");
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' width='45' height='32' viewBox='0 0 45 32'><path fill='%23ec378d' d='M26.88 29.888c-1.076 1.289-2.683 2.103-4.48 2.103s-3.404-0.814-4.472-2.093l-0.008-0.009-5.12-7.040-8.192-10.048-3.52-4.608c-0.646-0.848-1.036-1.922-1.036-3.087 0-2.828 2.292-5.12 5.12-5.12 0.139 0 0.277 0.006 0.413 0.016l-0.018-0.001h33.664c0.118-0.010 0.256-0.015 0.396-0.015 2.828 0 5.12 2.292 5.12 5.12 0 1.165-0.389 2.239-1.045 3.1l0.009-0.013-3.52 4.608-7.872 10.048z'/></svg>");
}
.cursor-primary a {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23ec378d;opacity:0.9;%7D.cls-2%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Ccircle class='cls-1' cx='25' cy='25' r='25'/%3E%3Cpath class='cls-2' d='M21.79,26.79,17,31.59V30a1,1,0,0,0-2,0v4a1,1,0,0,0,.08.38,1,1,0,0,0,.54.54A1,1,0,0,0,16,35h4a1,1,0,0,0,0-2H18.41l4.8-4.79a1,1,0,0,0-1.42-1.42Z'/%3E%3Cpath class='cls-2' d='M34.92,15.62a1,1,0,0,0-.54-.54A1,1,0,0,0,34,15H30a1,1,0,0,0,0,2h1.59l-4.8,4.79a1,1,0,0,0,0,1.41h0a1,1,0,0,0,1.41,0h0L33,18.41V20a1,1,0,0,0,2,0V16A1,1,0,0,0,34.92,15.62Z'/%3E%3C/svg%3E"), auto;
}
.process-wrapper.arrow [class*=col-]:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108.15 19.5'%3E%3Cpath fill='%23ec378d' d='M2.38,13.63A107.77,107.77,0,0,1,41.56,3.28C54.29,2.51,67,4.2,79.4,6.9c7.73,1.68,15.38,3.73,23,5.86a1.56,1.56,0,0,0,.83-3C89.85,6,76.35,2.5,62.54.87A111,111,0,0,0,24,2.73,119,119,0,0,0,.8,10.93c-1.81.85-.23,3.54,1.58,2.7Z'/%3E%3Cpath fill='%23ec378d' d='M95.51,19.27A60.35,60.35,0,0,1,107,12.41a1.58,1.58,0,0,0,1.12-1.29,1.53,1.53,0,0,0-.75-1.56,20.31,20.31,0,0,1-9-8.65a1.56,1.56,0,0,0-2.7,1.57c2.34,4,5.79,7.86,10.12,9.78l.37-2.86a62.69,62.69,0,0,0-12.25,7.18,1.6,1.6,0,0,0-.56,2.14,1.56,1.56,0,0,0,2.13.55Z'/%3E%3C/svg%3E");
}

/* Additional Leisureboosters color utilities */
.bg-lb-pink {
  background-color: var(--lb-pink-primary) !important;
}

.bg-lb-pink-light {
  background-color: var(--lb-pink-light) !important;
}

.bg-lb-pink-pale {
  background-color: var(--lb-pink-pale) !important;
}

.bg-lb-teal {
  background-color: var(--lb-teal-primary) !important;
}

.bg-lb-teal-light {
  background-color: var(--lb-teal-light) !important;
}

.bg-lb-teal-pale {
  background-color: var(--lb-teal-pale) !important;
}

.text-lb-pink {
  color: var(--lb-pink-primary) !important;
}

.text-lb-teal {
  color: var(--lb-teal-primary) !important;
}

.btn-lb-pink {
  background-color: var(--lb-pink-primary);
  border-color: var(--lb-pink-primary);
  color: #fff;
}

.btn-lb-pink:hover {
  background-color: var(--lb-pink-dark);
  border-color: var(--lb-pink-dark);
  color: #fff;
}

.btn-lb-teal {
  background-color: var(--lb-teal-primary);
  border-color: var(--lb-teal-primary);
  color: #fff;
}

.btn-lb-teal:hover {
  background-color: var(--lb-teal-dark);
  border-color: var(--lb-teal-dark);
  color: #fff;
}

/* Gradient backgrounds */
.bg-lb-gradient-teal {
  background: linear-gradient(180deg, rgba(1, 164, 172, 0.08) 0%, rgba(1, 164, 172, 0.12) 100%);
}

.bg-lb-gradient-pink {
  background: linear-gradient(180deg, rgba(236, 55, 141, 0.08) 0%, rgba(236, 55, 141, 0.12) 100%);
}

/* Background color variants for sections */
.bg-soft-pink {
  background-color: rgba(236, 55, 141, 0.05) !important;
}

.bg-soft-teal {
  background-color: rgba(1, 164, 172, 0.05) !important;
}

/* Icon button styling */
.btn-soft-pink {
  background-color: rgba(236, 55, 141, 0.1) !important;
  color: var(--lb-pink-primary) !important;
}

.btn-soft-teal {
  background-color: rgba(1, 164, 172, 0.1) !important;
  color: var(--lb-teal-primary) !important;
}

.btn-soft-pink i,
.btn-soft-teal i {
  font-size: 1.3rem;
}

/* Mobile menu - Pink background (mobile only) */
@media (max-width: 991.98px) {
  .offcanvas-nav.offcanvas-start {
    background-color: var(--lb-pink-primary) !important;
  }

  .offcanvas-nav .offcanvas-header,
  .offcanvas-nav .offcanvas-body {
    background-color: var(--lb-pink-primary);
  }

  .offcanvas-nav .nav-link {
    color: #fff !important;
  }

  .offcanvas-nav .nav-link:hover {
    color: rgba(255, 255, 255, 0.8) !important;
  }
}

/* Login offcanvas - Teal background */
#offcanvas-info.offcanvas {
  background-color: var(--lb-teal-primary) !important;
}

#offcanvas-info .offcanvas-header,
#offcanvas-info .offcanvas-body {
  background-color: var(--lb-teal-primary);
}

#offcanvas-info p,
#offcanvas-info ul,
#offcanvas-info li {
  color: #fff;
}

#offcanvas-info ul {
  padding-left: 1.2rem;
  margin-bottom: 1rem;
}

#offcanvas-info li {
  margin-bottom: 0.5rem;
}

/* Brand logos styling */
.brand-logo {
  margin-bottom: 0;
  opacity: 0.7;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
}

.brand-logo:hover {
  opacity: 1;
}

.brand-logo img {
  max-width: 100%;
  max-height: 50px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

.brand-logo:hover img {
  filter: grayscale(0%);
}

/* Footer styling */
footer.bg-lb-teal {
  background-color: var(--lb-teal-primary) !important;
}

footer.bg-lb-teal a.text-white:hover {
  color: rgba(255, 255, 255, 0.8) !important;
  text-decoration: none;
}

footer.bg-lb-teal .widget-title {
  color: #fff !important;
}

/* Headings in teal */
h1:not(.text-white), .h1:not(.text-white), 
h2:not(.text-white), .h2:not(.text-white), 
h3:not(.text-white), .h3:not(.text-white), 
h4:not(.text-white), .h4:not(.text-white),
h5:not(.text-white), .h5:not(.text-white),
h6:not(.text-white), .h6:not(.text-white),
.display-1:not(.text-white), .display-2:not(.text-white), 
.display-3:not(.text-white), .display-4:not(.text-white) {
  color: var(--lb-teal-primary) !important;
}

/* Headings on colored backgrounds keep default text color */
.bg-soft-pink h1:not(.text-white), .bg-soft-pink .h1:not(.text-white),
.bg-soft-pink h2:not(.text-white), .bg-soft-pink .h2:not(.text-white),
.bg-soft-pink h3:not(.text-white), .bg-soft-pink .h3:not(.text-white),
.bg-soft-pink h4:not(.text-white), .bg-soft-pink .h4:not(.text-white),
.bg-soft-pink h5:not(.text-white), .bg-soft-pink .h5:not(.text-white),
.bg-soft-pink h6:not(.text-white), .bg-soft-pink .h6:not(.text-white),
.bg-soft-pink .display-1:not(.text-white), .bg-soft-pink .display-2:not(.text-white),
.bg-soft-pink .display-3:not(.text-white), .bg-soft-pink .display-4:not(.text-white),
.bg-soft-teal h1:not(.text-white), .bg-soft-teal .h1:not(.text-white),
.bg-soft-teal h2:not(.text-white), .bg-soft-teal .h2:not(.text-white),
.bg-soft-teal h3:not(.text-white), .bg-soft-teal .h3:not(.text-white),
.bg-soft-teal h4:not(.text-white), .bg-soft-teal .h4:not(.text-white),
.bg-soft-teal h5:not(.text-white), .bg-soft-teal .h5:not(.text-white),
.bg-soft-teal h6:not(.text-white), .bg-soft-teal .h6:not(.text-white),
.bg-soft-teal .display-1:not(.text-white), .bg-soft-teal .display-2:not(.text-white),
.bg-soft-teal .display-3:not(.text-white), .bg-soft-teal .display-4:not(.text-white),
.bg-lb-gradient-pink h1:not(.text-white), .bg-lb-gradient-pink .h1:not(.text-white),
.bg-lb-gradient-pink h2:not(.text-white), .bg-lb-gradient-pink .h2:not(.text-white),
.bg-lb-gradient-pink h3:not(.text-white), .bg-lb-gradient-pink .h3:not(.text-white),
.bg-lb-gradient-pink h4:not(.text-white), .bg-lb-gradient-pink .h4:not(.text-white),
.bg-lb-gradient-pink .display-1:not(.text-white), .bg-lb-gradient-pink .display-2:not(.text-white),
.bg-lb-gradient-pink .display-3:not(.text-white), .bg-lb-gradient-pink .display-4:not(.text-white),
.bg-lb-gradient-teal h1:not(.text-white), .bg-lb-gradient-teal .h1:not(.text-white),
.bg-lb-gradient-teal h2:not(.text-white), .bg-lb-gradient-teal .h2:not(.text-white),
.bg-lb-gradient-teal h3:not(.text-white), .bg-lb-gradient-teal .h3:not(.text-white),
.bg-lb-gradient-teal h4:not(.text-white), .bg-lb-gradient-teal .h4:not(.text-white),
.bg-lb-gradient-teal .display-1:not(.text-white), .bg-lb-gradient-teal .display-2:not(.text-white),
.bg-lb-gradient-teal .display-3:not(.text-white), .bg-lb-gradient-teal .display-4:not(.text-white) {
  color: #343f52 !important;
}

/* Keep white text white when specified */
.text-white {
  color: #fff !important;
}

/* Navigation styling - keep default colors */
.navbar-nav .nav-link {
  /* Use default navbar colors */
  font-weight: 700;
}

/* Link colors - pink for content links */
a:not(.btn):not(.nav-link):not(.navbar-brand) {
  color: var(--lb-pink-primary);
}

a:not(.btn):not(.nav-link):not(.navbar-brand):hover {
  color: var(--lb-pink-dark);
}

/* Primary buttons default to pink */
.btn-primary {
  background-color: var(--lb-pink-primary) !important;
  border-color: var(--lb-pink-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--lb-pink-dark) !important;
  border-color: var(--lb-pink-dark) !important;
}

/* White buttons with pink text */
.btn-white {
  color: var(--lb-pink-primary) !important;
  border-color: #fff !important;
}

.btn-white:hover {
  background-color: var(--lb-pink-primary) !important;
  color: #fff !important;
  border-color: var(--lb-pink-primary) !important;
}

/* Section title styling - also teal like headings */
.fs-16.text-uppercase.text-muted {
  color: var(--lb-teal-primary) !important;
  opacity: 0.85;
  font-weight: 600;
}