.page-hero { position: relative; overflow: hidden; }
.page-hero__bg { width: 100%; height: 200px; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }
.page-hero__overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; background: var(--clr-overlay); display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; }
.page-hero__overlay h1 { font-size: var(--fs-h1); color: var(--clr-white); margin-bottom: var(--space-sm); }
.page-hero .breadcrumb { background: none; padding: 0; margin: 0; }
.page-hero .breadcrumb-item a { color: rgba(255,255,255,0.8); }
.page-hero .breadcrumb-item a:hover { color: var(--clr-secondary); }
.page-hero .breadcrumb-item.active { color: var(--clr-secondary); }
.page-hero .breadcrumb-item+.breadcrumb-item::before { color: rgba(255,255,255,0.5); }
@media (max-width:767px) { .page-hero__bg { height: 110px; } .page-hero__overlay h1 { font-size: 1.4rem; margin-bottom: 0.3rem; } .page-hero .breadcrumb { font-size: 0.85rem; } }
@media (min-width:768px) { .page-hero__bg { height: 200px; } }
@media (min-width:1200px) { .page-hero__bg { height: 200px; } }

.spa-intro { background-color: var(--clr-bg); }
.spa-intro__img { -webkit-border-radius: var(--radius-lg); border-radius: var(--radius-lg); overflow: hidden; -webkit-box-shadow: var(--shadow-lg); box-shadow: var(--shadow-lg); }
.spa-intro__img img { width: 100%; height: auto; aspect-ratio: 4/3; -o-object-fit: cover; object-fit: cover; }
.spa-intro h2 { font-size: var(--fs-h2); margin-bottom: var(--space-sm); }
.spa-intro p { color: var(--clr-text-light); margin-bottom: var(--space-md); line-height: 1.8; }

.spa-amenities { background-color: var(--clr-bg-alt); }

.amenity-card {
  background-color: var(--clr-white);
  padding: var(--space-xl) var(--space-md);
  -webkit-border-radius: var(--radius-lg);
          border-radius: var(--radius-lg);
  -webkit-box-shadow: var(--shadow-sm);
          box-shadow: var(--shadow-sm);
  -webkit-transition: all var(--transition);
       -o-transition: all var(--transition);
          transition: all var(--transition);
  height: 100%;
}

.amenity-card:hover {
  -webkit-transform: translateY(-4px);
      -ms-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: var(--shadow-md);
          box-shadow: var(--shadow-md);
}

.amenity-card__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--space-md);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: rgba(125,63,95,0.1);
  -webkit-border-radius: var(--radius-full);
          border-radius: var(--radius-full);
  -webkit-transition: all var(--transition);
       -o-transition: all var(--transition);
          transition: all var(--transition);
}

.amenity-card__icon i {
  font-size: 1.5rem;
  color: var(--clr-primary);
}

.amenity-card:hover .amenity-card__icon {
  background-color: var(--clr-primary);
}

.amenity-card:hover .amenity-card__icon i {
  color: var(--clr-white);
}

.amenity-card h3 {
  font-size: var(--fs-h4);
  margin-bottom: var(--space-xs);
}

.amenity-card p {
  font-size: var(--fs-small);
  color: var(--clr-text-light);
  margin-bottom: 0;
}

.spa-packages { background-color: var(--clr-bg); }

.spa-pkg-card {
  background-color: var(--clr-white);
  -webkit-border-radius: var(--radius-lg);
          border-radius: var(--radius-lg);
  overflow: hidden;
  -webkit-box-shadow: var(--shadow-sm);
          box-shadow: var(--shadow-sm);
  -webkit-transition: all var(--transition);
       -o-transition: all var(--transition);
          transition: all var(--transition);
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  border: 2px solid transparent;
}

.spa-pkg-card:hover {
  -webkit-transform: translateY(-4px);
      -ms-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: var(--shadow-lg);
          box-shadow: var(--shadow-lg);
}

.spa-pkg-card--featured {
  border-color: var(--clr-secondary);
}

.spa-pkg-card__badge {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  background-color: var(--clr-secondary);
  color: var(--clr-white);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  padding: var(--space-xs) var(--space-sm);
  -webkit-border-radius: var(--radius);
          border-radius: var(--radius);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.spa-pkg-card__header {
  text-align: center;
  padding: var(--space-xl) var(--space-lg) var(--space-md);
  border-bottom: 1px solid var(--clr-border-light);
}

.spa-pkg-card__header i {
  font-size: 2rem;
  color: var(--clr-secondary);
  margin-bottom: var(--space-sm);
  display: block;
}

.spa-pkg-card__header h3 {
  font-size: var(--fs-h3);
  color: var(--clr-primary-dark);
  margin-bottom: 0;
}

.spa-pkg-card__body {
  padding: var(--space-lg);
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.spa-pkg-card__body ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.spa-pkg-card__body ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  font-size: var(--fs-body);
  color: var(--clr-text);
  border-bottom: 1px solid var(--clr-border-light);
}

.spa-pkg-card__body ul li:last-child {
  border-bottom: none;
}

.spa-pkg-card__body ul li i {
  color: var(--clr-accent);
  font-size: var(--fs-small);
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}

.spa-pkg-card__footer {
  padding: var(--space-md) var(--space-lg) var(--space-xl);
}

.cta { background: -webkit-linear-gradient(315deg, var(--clr-primary-dark) 0%, var(--clr-primary) 50%, var(--clr-primary-light) 100%); background: -o-linear-gradient(315deg, var(--clr-primary-dark) 0%, var(--clr-primary) 50%, var(--clr-primary-light) 100%); background: linear-gradient(135deg, var(--clr-primary-dark) 0%, var(--clr-primary) 50%, var(--clr-primary-light) 100%); color: var(--clr-text-on-dark); }
.cta h2 { font-size: var(--fs-h2); color: var(--clr-white); margin-bottom: var(--space-md); }
.cta p { color: rgba(255,255,255,0.85); max-width: 600px; margin: 0 auto var(--space-xl); }
.cta__buttons { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; gap: var(--space-md);  }
.cta__buttons .btn-outline-light-custom { background-color: transparent; color: var(--clr-white); border-color: rgba(255,255,255,0.5); }
.cta__buttons .btn-outline-light-custom:hover { background-color: var(--clr-white); color: var(--clr-primary-dark); border-color: var(--clr-white); }
