/* Exact header brand color and readable contrast */
/* Top header background: #571c89, white text */
.top-header {
    background-color: #571c89; 
    color: #fff;
  }
  .bg-pulper{background-color: #571c89!important;}
  /* Make navbar toggler icon visible on purple background */
  .navbar-toggler {
    border-color: rgba(255,255,255,0.5);
  }
  .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
  }
  
  /* Header links and hover states */
  .top-header .nav-link {
    color: #fff;
    opacity: 0.95;
    transition: opacity .2s ease, transform .2s ease;
  }
  .top-header .nav-link:hover {
    opacity: 1;
    transform: translateY(-1px);
  }
  
  /* Book Now button styling */
  .btn-book-now {
    background-color: #fff;
    color: #571c89;
    border-radius: 50rem;
    padding: .5rem 1rem;
    font-weight: 600;
    box-shadow: 0 2px 0 rgba(0,0,0,.08);
  }
  .btn-book-now:hover {
    background-color: #f7f2ff;
    color: #47156f;
  }
  
  /* Footer */
  .footer {
    background: #f7f7f9;
    color: #333;
  }
  
  /* Utility: adjust icon alignment inside nav links */
  .top-header .nav-link .bi {
    display: inline-block;
    vertical-align: middle;
  }
  .text-justify{text-align: justify;}
  .text-main{color: #47156f;}
  /* Hero slider image height and fit */
.hero-slider .hero-img {
    height: 62vh;
    object-fit: cover;
    object-position: center;
  }
  
  /* Dark gradient overlay for readability */
  .hero-slider .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.35) 0%,
      rgba(0,0,0,0.45) 40%,
      rgba(0,0,0,0.55) 100%
    );
    z-index: 1;
  }
  
  /* Position captions above overlay */
  .hero-slider .carousel-caption {
    z-index: 2;
    padding-bottom: 3rem;
  }
  
  /* Caption alignment tweaks */
  .hero-slider .carousel-item .carousel-caption.text-start {
    left: 6%;
    right: auto;
  }
  .hero-slider .carousel-item .carousel-caption.text-end {
    right: 6%;
    left: auto;
  }
  
  /* Indicators styling to match brand */
  .carousel-indicators [data-bs-target] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.7);
  }
  .carousel-indicators .active {
    background-color: #fff;
  }
  
  /* Controls visibility on darker overlay */
  .carousel-control-prev-icon,
  .carousel-control-next-icon {
    filter: drop-shadow(0 2px 3px rgba(0,0,0,0.5));
  }
  /* Card image wrapper for overlay icons and bottom band */
.profile-card .img-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 1rem; /* rounded image */
    box-shadow: 0 10px 20px rgba(0,0,0,.12);
  }
  
  /* Image size behavior */
  .profile-card .img-wrap img {
    width: 100%;
    height: 330px;           /* adjust to taste */
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  /* Circular icon buttons over image */
  .profile-card .icon-circle {
    position: absolute;
    top: .6rem;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0,0,0,.25);
    z-index: 2;
  }
  .profile-card .icon-left  { left: .6rem;  }
  .profile-card .icon-right { right: .6rem; }
  
  .profile-card .icon-purple { background-color: #571c89; } /* brand purple */
  .profile-card .icon-green  { background-color: #25D366; } /* WhatsApp */
  
  /* Bottom overlay bar on image (name/age) */
  .profile-card .img-bottom {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: .5rem .75rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    z-index: 1;
    background: linear-gradient( to top, rgba(0,0,0,.79), rgba(0,0,0,.41) );
  }
  
  /* Meta row under image */
  .profile-card .meta {
    font-size: .95rem;
  }
  .profile-card .meta .label {
    color: #6c757d;
    font-size: .82rem;
  }
  .profile-card .diff {
    font-size: .75rem;
    border-radius: 50rem;
    padding: .1rem .4rem;
    background: #f1f3f5;
    color: #444;
    margin-left: .35rem;
    white-space: nowrap;
  }
  .profile-card .diff.positive { background:#e7f6ed; color:#0a7a3f; } /* greenish */
  .profile-card .diff.negative { background:#fdecec; color:#b42318; } /* reddish */
  
  /* Card body spacing */
  .profile-card .card-body {
    padding: .85rem .25rem 0;
  }
  .step{height:240px; object-fit:cover;}
  /* Responsive height adjustments */
  @media (min-width: 992px) {
    .hero-slider .hero-img {
      height: 72vh;
    }
    .profile-card .img-wrap img { height: 330px; }
  }
  @media (max-width: 575.98px) {
    .hero-slider .hero-img {
      height: 48vh;
    }
    .hero-slider .carousel-caption {
      padding-bottom: 1.5rem;
    }
  }
  