/*scrollbar css*/
/* ====== LUXISERA PREMIUM SCROLLBAR ====== */

/* Chrome, Edge, Safari */
::-webkit-scrollbar {
  width: 14px;
  background: #23134c;
  border-radius: 16px;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #ffd700 30%, #f857a6 90%);
  border-radius: 16px;
  border: 3px solid #23134c;
  min-height: 48px;
  transition: background 0.23s;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, #f857a6 10%, #ffd700 90%);
  box-shadow: 0 2px 14px #f857a633;
}

::-webkit-scrollbar-track {
  background: #1d0d2c;
  border-radius: 16px;
  margin: 6px 0;
}

::-webkit-scrollbar-corner {
  background: #23134c;
}

/* For Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: #f857a6 #23134c;
}

/* For even more beautiful Firefox (thumb/track): */
html,
body {
  scrollbar-width: thin;
  scrollbar-color: #ffd700 #1d0d2c;
}

.ep-luxhero-bg {
  min-height: 620px;
}

.ep-luxhero-overflow {
  overflow: hidden;
}

.ep-luxhero-pos-rel {
  position: relative;
}

/* Overlay and decorative circles */
.ep-luxhero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('img/bg/model-bg.webp');
  opacity: 0.18;
  z-index: 1;
}

.ep-luxhero-circle-1 {
  position: absolute;
  right: -80px;
  top: 50px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, #fff 0%, #ffd6f3 70%, #f857a6 100%);
  opacity: 0.21;
  border-radius: 50%;
  z-index: 2;
}

.ep-luxhero-circle-2 {
  position: absolute;
  left: -60px;
  bottom: 40px;
  width: 140px;
  height: 140px;
  background: radial-gradient(circle, #fff 0%, #8ec5fc 70%, #f857a6 100%);
  opacity: 0.17;
  border-radius: 50%;
  z-index: 2;
}

.ep-luxhero-z3 {
  z-index: 3;
}

/* Left Column */
.ep-luxhero-py {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.ep-luxhero-title {
  color: #292929;
  text-shadow: 1px 2px 12px #fff5;
}

.ep-luxhero-title-highlight {
  color: #f857a6;
  text-shadow: none;
}

.ep-luxhero-subtitle {
  font-weight: 600;
  letter-spacing: 1px;
  color: #5c257f;
}

.ep-luxhero-gradient-text {
  background: linear-gradient(90deg, #f857a6, #8ec5fc);
  -webkit-background-clip: text;
  color: transparent;
  font-size: 2rem;
}

.ep-luxhero-list {
  color: #444;
}

.ep-luxhero-badge {
  font-size: 1.03rem;
}

.ep-luxhero-btn {
  font-size: 1.22rem;
}

.ep-luxhero-review {
  color: #6339b1;
  font-size: 1.12rem;
}

.ep-luxhero-review-quote {
  color: #f857a6;
}

.ep-luxhero-review-star {
  color: #ffd700;
}

/* Right: Photo Card */
.ep-luxhero-photo-card {
  border-radius: 60px 60px 110px 110px;
  box-shadow: 0 8px 48px #f857a655, 0 3px 24px #8ec5fc88;
}

.ep-luxhero-photo {
  width: 370px;
  height: 465px;
  object-fit: cover;
  border-radius: 60px 60px 110px 110px;
  border: 6px solid #fff;
  background: #fff9;
}

.ep-luxhero-verified {
  position: absolute;
  top: 20px;
  left: 18px;
  background: linear-gradient(90deg, #ffd700, #f857a6);
  color: #333;
  font-size: 1.03rem;
  font-weight: 700;
  padding: 7px 18px 7px 13px;
  border-radius: 22px;
  box-shadow: 0 2px 12px #f857a644;
}

.ep-luxhero-photo-details {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.97);
  border-radius: 18px;
  box-shadow: 0 3px 26px #f857a633;
  padding: 17px 25px 14px 25px;
  min-width: 270px;
  max-width: 340px;
  z-index: 3;
}

.ep-luxhero-photo-title {
  font-weight: 700;
  font-size: 1.08rem;
  color: #d02472;
  letter-spacing: .3px;
}

.ep-luxhero-photo-sub {
  font-weight: 500;
  color: #3c2268;
}

.ep-luxhero-photo-info {
  font-size: .97rem;
  color: #4d2b84;
  margin-top: 5px;
}

.ep-luxhero-rating {
  color: #ffd700;
  font-size: 1rem;
}

.ep-luxhero-photo-btn {
  font-size: 1.05rem;
}

.ep-luxhero-model-label {
  font-size: 1.18rem;
  color: #b8306e;
  font-weight: 600;
  letter-spacing: .8px;



}







.lx-premium-intro {
  padding: 32px 0;
  background: #fff;
}

.lx-premium-gem-icon i,
.lx-premium-title i {
  font-size: 2.5rem;
  color: #f857a6;
}

.lx-premium-gem-color {
  color: #f857a6 !important;
}

.lx-premium-title {
  font-size: 2.1rem;
  font-weight: 700;
  color: #3e244a;
  letter-spacing: .5px;
}

.lx-premium-desc {
  font-size: 1.12rem;
  color: #4d4060;
  margin-bottom: 16px;
}

.lx-premium-brand {
  color: #f857a6;
  font-weight: 700;
}

.lx-premium-highlight {
  color: #f857a6;
  font-weight: 600;
}

.lx-premium-list {
  margin-top: 18px;
}

.lx-premium-list li {
  margin-bottom: 12px;
  font-size: 1.06rem;
}

.lx-premium-list-icon-success {
  color: #27a844;
  font-size: 1.45rem;
}

.lx-premium-list-icon-warning {
  color: #ffd600;
  font-size: 1.45rem;
}

.lx-premium-list-icon-danger {
  color: #f857a6;
  font-size: 1.45rem;
}

.lx-premium-list-icon-info {
  color: #17a2b8;
  font-size: 1.45rem;
}

.lx-premium-end {
  font-size: 1.08rem;
  color: #3e244a;
}

.lx-premium-brand-strong {
  font-weight: 600;
  color: #f857a6;
}

.lx-premium-privacy {
  color: #27a844;
}

.lx-premium-badge {
  background: #f5e8f9;
  color: #8e349d;
  border-radius: 1.5rem;
  font-size: 1.03rem;
  font-weight: 600;
  padding: 7px 20px 7px 14px;
  display: flex;
  align-items: center;
  box-shadow: 0 1px 8px #f857a616;
}

.lx-premium-badge-lock {
  background: #e7eaf8;
  color: #3566d6;
}

.lx-premium-badge-trophy {
  background: #fffbe5;
  color: #b28604;
}

.lx-premium-badge-vip {
  background: #e7fcfd;
  color: #148b97;
}

.lx-premium-btn {
  background: linear-gradient(90deg, #f857a6, #8ec5fc);
  color: #fff;
  border-radius: 2rem;
  font-weight: 700;
  font-size: 1.11rem;
  padding: 10px 26px;
  transition: background 0.18s;
  box-shadow: 0 3px 16px #8ec5fc44;
  text-decoration: none;
  display: inline-block;
}

.lx-premium-btn:hover {
  background: linear-gradient(90deg, #8ec5fc, #f857a6);
  color: #fff;
}



.lx-head-title {
  font-size: 2.6rem;
}

.lx-head-gradient {
  background: linear-gradient(90deg, #ffd700, #f857a6, #8ec5fc);
  border-radius: 60px;
  padding: 0.4em 1em;
  box-shadow: 0 4px 22px #f857a644;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.lx-head-gem {
  font-size: 2.1rem;
  margin-right: 10px;
  color: #ffd700;
}

.lx-head-premium-badge {
  margin-top: .9rem;
  font-size: 1.18rem;
}

.lx-head-lead {
  font-size: 1.43rem;
  color: #fffbe6;
  max-width: 960px;
  margin: auto;
  font-family: 'Merriweather', serif;
}

.lx-head-highlight {
  font-weight: 700;
  color: #ffd700;
}

.lx-head-badge-wrap {
  margin-top: 1.3rem;
  margin-bottom: .6rem;
}

.lx-head-seo-badge {
  background: linear-gradient(93deg, #ffd700, #f857a6, #8ec5fc) !important;
  color: #23134c !important;
  font-size: 1.08rem;
  border-radius: 1.2rem;
  padding: 0.6em 2em 0.6em 1.2em !important;
}

.lx-head-shield {
  color: #d02472;
  margin-right: 5px;
}

.lx-head-seo-badge-text {
  font-weight: 600;
}

.lx-head-badge-row .badge.bg-gradient {
  background: linear-gradient(90deg, #f857a6, #8ec5fc) !important;
  color: #fff !important;
}

.lx-head-badge-companionship {
  background: linear-gradient(90deg, #f857a6, #ffd6f3) !important;
  color: #fff !important;
}

.lx-head-stats-bar {
  font-size: 1.09rem;
}

.lx-head-trophy {
  color: #ffd700;
}

.lx-head-geo {
  color: #f857a6;
}

.lx-head-person {
  color: #8ec5fc;
}

.lx-head-rocket {
  color: #6339b1;
}

.lx-head-seo-summary {
  max-width: 900px;
  margin: auto;
  color: #ffeaf3;
  font-size: 1.10rem;
  margin-top: 1.4rem;
}

.lx-head-seo-highlight {
  color: #ffd700;
}




.lx-feat-bg {
  background: linear-gradient(100deg, #f857a6 8%, #ffd6f3 65%, #8ec5fc 100%);
  border-radius: 2.1rem;
  box-shadow: 0 8px 44px #f857a633;
}

.lx-feat-icon {
  font-size: 3.2rem;
  color: #ffd700;
}

.lx-feat-title {
  font-size: 2.2rem;
  color: #201050;
}

.lx-feat-title-highlight {
  color: #f857a6;
}

.lx-feat-desc {
  font-size: 1.18rem;
  color: #402a5c;
  max-width: 900px;
  margin: auto;
}

.lx-feat-desc-highlight1 {
  color: #f857a6;
  font-weight: 600;
}

.lx-feat-desc-highlight2 {
  color: #ffd700;
  font-weight: 600;
}




.lx-fcard-bg {
  background: linear-gradient(100deg, #f857a6 8%, #ffd6f3 65%, #8ec5fc 100%);
  border-radius: 2.1rem;
  box-shadow: 0 8px 44px #f857a633;
}

.lx-fcard-border-gold {
  border-bottom: 4px solid #ffd700 !important;
}

.lx-fcard-border-blue {
  border-bottom: 4px solid #8ec5fc !important;
}

.lx-fcard-border-magenta {
  border-bottom: 4px solid #b8306e !important;
}

.lx-fcard-border-green {
  border-bottom: 4px solid #27a844 !important;
}

.lx-fcard-icon {
  font-size: 2.7rem;
}

.lx-fcard-pink {
  color: #f857a6 !important;
}

.lx-fcard-gold {
  color: #ffd700 !important;
}

.lx-fcard-blue {
  color: #8ec5fc !important;
}

.lx-fcard-magenta {
  color: #b8306e !important;
}

.lx-fcard-green {
  color: #27a844 !important;
}

.lx-fcard-title {
  color: #201050;
}

.lx-fcard-desc {
  font-size: 1.07rem;
}

.lx-fcard-desc-bold {
  font-weight: 600;
}

.lx-fcard-trustbar {
  border: 2px solid #f8e1f6 !important;
}

.lx-fcard-btn {
  font-size: 1.18rem !important;
}






/* area section start */
.lx-area-highlight {
  font-weight: 600;
  color: #b8306e;
}

.lx-area-about {
  background: rgba(248, 87, 166, 0.05);
  border-radius: 1.3em;
  padding: 2.3em 2em 2em 2em;
}

.lx-area-about-title {
  color: #f857a6;
  font-weight: 700;
  font-size: 1.45rem;
  margin-bottom: 16px;
}

.lx-area-about-desc {
  font-size: 1.13rem;
  color: #422651;
}

.lx-area-benefits-list {
  list-style: none;
  padding: 0;
  margin: 1.6em 0 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.lx-area-benefit {
  flex: 1 1 200px;
  border-radius: 1em;
  padding: 1em 1.4em;
  margin-bottom: 10px;
  box-shadow: 0 1px 12px #f857a612;
  background: #fff;
}

.lx-area-benefit-pink {
  background: #fff4fe;
  box-shadow: 0 1px 12px #f857a612;
}

.lx-area-benefit-violet {
  background: #f7f4fb;
  box-shadow: 0 1px 12px #8ec5fc18;
}

.lx-area-benefit-white {
  background: #f9fafb;
  box-shadow: 0 1px 12px #27a84416;
}

.lx-area-benefit-yellow {
  background: #fff8e6;
  box-shadow: 0 1px 12px #ffd70011;
}

.lx-area-benefit-blue {
  background: #eaf7fc;
  box-shadow: 0 1px 12px #8ec5fc11;
}

.lx-area-benefit-rose {
  background: #fff0f6;
  box-shadow: 0 1px 12px #f857a608;
}

.lx-area-cta {
  text-align: center;
}

.lx-area-btn {
  font-size: 1.17rem !important;
}

/* area section end */



.lx-setsapart-block {
  background: linear-gradient(120deg, #fff6fa 60%, #f7e1f9 100%);
  border-radius: 1.6em;
  box-shadow: 0 4px 32px #f857a611;
  padding: 2.4em 2em 2em 2em;
}

.lx-setsapart-icon {
  font-size: 2.3rem;
  color: #f857a6;
}

.lx-setsapart-title {
  font-size: 2.1rem;
  font-weight: 800;
  color: #3c2268;
  letter-spacing: .01em;
}

.lx-setsapart-content {
  max-width: 900px;
  margin: auto;
  font-size: 1.16rem;
  color: #502253;
  line-height: 1.82;
}

.lx-setsapart-gem {
  color: #ffd700;
}

.lx-setsapart-benefits {
  list-style: none;
  padding: 0;
}

.lx-setsapart-benefits li {
  margin-bottom: 11px;
}

.lx-setsapart-review {
  background: #fffbe6;
  border-radius: 1em;
  padding: 1.3em 1em;
  font-size: 1.07rem;
  box-shadow: 0 1px 12px #ffd70016;
}

.lx-setsapart-review-star {
  color: #ffd700;
}

.lx-setsapart-btn {
  font-size: 1.15rem !important;
}

/* setsapart section end */



.lx-safeescort-block {
  background: linear-gradient(110deg, #fff3fb 70%, #e8f6fd 100%);
  border-radius: 1.5em;
  box-shadow: 0 4px 28px #b8306e12;
  padding: 2.2em 1.9em 2.2em 1.9em;
}

.lx-safeescort-title {
  color: #472166;
  font-size: 2rem;
}

.lx-safeescort-content {
  font-size: 1.13rem;
  color: #542447;
  line-height: 1.82;
  max-width: 880px;
  margin: auto;
}

.lx-safeescort-benefits {
  list-style: none;
  padding: 0;
}

.lx-safeescort-benefits li {
  margin-bottom: 12px;
}

.lx-safeescort-quote {
  background: #fff9f5;
  border-left: 4px solid #f857a6;
  padding: 1.2em 1em;
  border-radius: 1em;
  font-style: italic;
  margin-top: 22px;
}

.lx-safeescort-quoteicon {
  color: #b8306e;
  margin-right: 6px;
}

.lx-safeescort-quotestar {
  display: block;
  color: #b8306e;
  font-weight: 600;
  margin-top: 6px;
}

.lx-safeescort-btn {
  font-size: 1.12rem !important;
}

/* safeescort section end */


.lx-faq-block {
  background: linear-gradient(100deg, #f9eafc 70%, #eaf7fd 100%);
  border-radius: 1.5em;
  box-shadow: 0 4px 22px #b8306e14;
  padding: 2.1em 1.5em 2.3em 1.5em;
}

.lx-faq-title {
  margin-bottom: 2.1rem !important;
  font-size: 2rem;
}

.lx-faq-list {
  font-size: 1.08rem;
  color: #5d317b;
  margin-bottom: 0;
}

.lx-faq-list dt {
  margin-top: 1.1em;
  margin-bottom: .4em;
  font-weight: 700;
  letter-spacing: .01em;
}

.lx-faq-list dd {
  margin-left: 0;
  margin-bottom: 1.2em;
  font-size: 1.01em;
  line-height: 1.62;
}

.lx-faq-btn {
  font-size: 1.12rem !important;
}

/* faq section end */
.lx-rev-block {
  background: linear-gradient(95deg, #fffbe6 70%, #fdeaff 100%);
  border-radius: 1.4em;
  box-shadow: 0 4px 22px #f857a615;
}

.lx-rev-star-gold {
  color: #ffd700;
}

.lx-rev-lead {
  max-width: 840px;
  margin: auto;
  color: #6339b1;
}

.lx-rev-quote1 {
  border-left: 4px solid #ffd700;
  background: #fff9f5;
  border-radius: 1.1em;
  padding: 1.2em 1em 1.2em 1.4em;
  margin-bottom: 1.5em;
}

.lx-rev-quote-icon1 {
  color: #f857a6;
  font-size: 1.6rem;
}

.lx-rev-quote2 {
  border-left: 4px solid #f857a6;
  background: #faf0fb;
  border-radius: 1.1em;
  padding: 1.2em 1em 1.2em 1.4em;
  margin-bottom: 1.5em;
}

.lx-rev-quote-icon2 {
  color: #ffd700;
  font-size: 1.6rem;
}

.lx-rev-quote3 {
  border-left: 4px solid #8ec5fc;
  background: #f6fcff;
  border-radius: 1.1em;
  padding: 1.2em 1em 1.2em 1.4em;
  margin-bottom: 1.5em;
}

.lx-rev-quote-icon3 {
  color: #6339b1;
  font-size: 1.6rem;
}

.lx-rev-quote4 {
  border-left: 4px solid #27a844;
  background: #f7fff9;
  border-radius: 1.1em;
  padding: 1.2em 1em 1.2em 1.4em;
  margin-bottom: 1.5em;
}

.lx-rev-quote-icon4 {
  color: #27a844;
  font-size: 1.6rem;
}

.lx-rev-quote5 {
  border-left: 4px solid #b8306e;
  background: #fff6fc;
  border-radius: 1.1em;
  padding: 1.2em 1em 1.2em 1.4em;
  margin-bottom: 1.5em;
}

.lx-rev-quote-icon5 {
  color: #b8306e;
  font-size: 1.6rem;
}

.lx-rev-reviewer {
  color: #b8306e;
  font-weight: 500;
}

.lx-rev-badge-gradient {
  background: linear-gradient(90deg, #f857a6, #8ec5fc) !important;
  color: #fff !important;
}

/* review section end */

.lx-finalcta-btn {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: .02em;
  box-shadow: 0 4px 24px #f857a650;
  border-radius: 2em;
  transition: background .2s;
}

.lx-finalcta-btn:hover,
.lx-finalcta-btn:focus {
  background: linear-gradient(90deg, #f857a6 30%, #ffd700 100%);
  color: #201050 !important;
}

.lx-finalcta-text {
  color: #fff;
  font-size: 1.06rem;
  font-weight: 500;
  text-shadow: 0 2px 8px #f857a630;
  margin-top: .5em;
  letter-spacing: .01em;
}

/* finalcta section end */
.lx-models9-bg {
  background: #fff;
}

.lx-models9-title {
  color: #372062;
  letter-spacing: 1px;
  font-size: 2.1rem;
}

.lx-models9-gem {
  color: #ffd700;
  font-size: 2.3rem;
  vertical-align: middle;
  margin-right: 4px;
}

.lx-models9-desc {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  color: #402a5c;
  font-size: 1.12rem;
}

.lx-models9-card {
  background: #fff;
  border-radius: 1.5em;
  box-shadow: 0 4px 22px #8ec5fc16, 0 1.5px 8px #f857a614;
  overflow: hidden;
  transition: box-shadow .26s, transform .21s;
  position: relative;
  border: 1px solid #f8f5fc;
}

.lx-models9-card:hover {
  box-shadow: 0 10px 40px #f857a633, 0 3px 16px #8ec5fc20;
  transform: translateY(-4px) scale(1.025);
  z-index: 2;
}

.lx-models9-img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 1.4em 1.4em 0 0;
}

.lx-models9-img {
  width: 100%;
  height: 390px;
  object-fit: cover;
  display: block;
  border-radius: 1.1em 1.1em 0 0;
  background: #fffbe6;
}

.lx-models9-badge-top {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  padding: 7px 18px 7px 12px;
  border-radius: 18px;
  font-size: 1.03rem;
  font-weight: 600;
  color: #372062;
  box-shadow: 0 1px 10px #ffd70015;
}

.lx-models9-badge-gradient {
  background: linear-gradient(90deg, #ffd700, #f857a6, #8ec5fc);
  color: #23134c;
  border: none;
}

.lx-models9-body {
  padding: 1.3em 1.1em 1.1em 1.1em;
}

.lx-models9-name {
  font-size: 1.2rem;
  font-weight: 700;
  color: #372062;
}

.lx-models9-rating {
  font-size: 1.17rem;
  font-weight: 500;
  color: #ffd700;
  display: flex;
  align-items: center;
  gap: 2px;
}

.lx-models9-rating i {
  color: #ffd700;
  font-size: 1.18rem;
}

.lx-models9-score {
  margin-left: 7px;
  color: #6339b1;
  font-size: 1.08rem;
  font-weight: 700;
}

.lx-models9-features {
  list-style: none;
  padding: 0;
  margin: 1em 0 .6em 0;
  font-size: 1.01rem;
  color: #4e2869;
}

.lx-models9-features li {
  margin-bottom: 6px;
  font-weight: 400;
}

.lx-models9-desc2 {
  color: #502253;
  font-size: 1.04rem;
  margin-bottom: 0.9em;
}

.lx-models9-status-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: .98rem;
  margin-top: 7px;
}

.lx-models9-badge {
  display: inline-block;
  background: #f6f7fb;
  color: #6339b1;
  font-weight: 600;
  border-radius: 1em;
  padding: 5px 14px 5px 10px;
  font-size: .96rem;
}

.lx-models9-badge-yellow {
  background: #ffd700;
  color: #201050;
}

.lx-models9-badge-blue {
  background: #8ec5fc;
  color: #fff;
}

.lx-models9-badge-red {
  background: #f857a6;
  color: #fff;
}

.lx-models9-badge-green {
  background: #27a844;
  color: #fff;
}

.lx-models9-btn {
  font-size: 1.22rem;
  font-weight: 600;
  border-radius: 2em;
  letter-spacing: .01em;
  box-shadow: 0 4px 20px #f857a622;
  background: linear-gradient(90deg, #ffd700 12%, #f857a6 82%);
  color: #23134c !important;
  padding: .82em 2.8em;
  transition: background .21s, color .16s;
  display: inline-block;
}

.lx-models9-btn:hover,
.lx-models9-btn:focus {
  background: linear-gradient(90deg, #8ec5fc 8%, #f857a6 92%);
  color: #fff !important;
  text-decoration: none;
}

@media (max-width: 991px) {
  .lx-models9-img {
    height: 330px;
  }

  .lx-models9-card {
    border-radius: 1em;
  }
}

@media (max-width: 767px) {
  .lx-models9-img {
    height: 280px;
  }

  .lx-models9-card {
    border-radius: .8em;
  }
}

/* models section end */

.model-card-premium {
  border-radius: 1.35rem;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 32px #b8306e0c, 0 1.5px 6px #e0c3fc12;
  transition: transform .25s cubic-bezier(.37, .01, .66, .96), box-shadow .25s;
  position: relative;
}

.model-card-premium:hover {
  transform: translateY(-5px) scale(1.025);
  box-shadow: 0 8px 44px #b8306e1a, 0 3px 12px #8ec5fc11;
}

.model-card-img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 1.05rem 1.05rem 0 0;
}

.model-card-img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 1.05rem 1.05rem 0 0;
  background: #f8f8fc;
}

.model-card-badge-top {
  position: absolute;
  top: 16px;
  left: 16px;
  font-size: 1rem;
  z-index: 2;
  padding: .45em 1.1em;
  border-radius: 2em;
}

.bg-gradient {
  background: linear-gradient(93deg, #ffd700, #f857a6, #8ec5fc);
  color: #23134c;
  font-weight: 600;
}

.model-card-body {
  padding: 1.45em 1.1em 1.2em 1.1em;
}

.model-card-title {
  font-size: 1.22rem;
  font-weight: 700;
  color: #3c2268;
  letter-spacing: .5px;
}

.model-card-title .badge {
  font-size: .82rem;
  font-weight: 600;
  vertical-align: middle;
}

.model-rating i {
  font-size: 1.12rem;
}

.model-rating .rating-score {
  font-size: 1.01rem;
  margin-left: .26em;
  font-weight: 700;
  color: #b8306e;
}

.model-card-features {
  list-style: none;
  padding: 0;
  margin: .7em 0 .35em 0;
  font-size: .99rem;
  color: #613a7a;
}

.model-card-features li {
  margin-bottom: 2px;
}

.model-card-desc {
  font-size: .99rem;
  color: #492a5b;
  margin-bottom: .5em;
}

.model-card-status-bar {
  gap: 7px !important;
}

.model-card-badge {
  font-size: .92rem;
  font-weight: 500;
  background: #f7f7f7;
  border-radius: 1.7em;
  padding: .26em 1.05em;
  color: #422651;
}

.model-card-badge.bg-success {
  background: #27a844;
  color: #fff;
}

.model-card-badge.bg-gradient {
  background: linear-gradient(90deg, #f857a6, #8ec5fc);
  color: #fff;
}

.model-card-badge.bg-danger {
  background: #b8306e;
  color: #fff;
}

.model-card-badge.bg-primary {
  background: #2777dd;
  color: #fff;
}

.model-card-badge.bg-info {
  background: #11bfdc;
  color: #fff;
}

.model-card-badge.bg-secondary {
  background: #6c757d;
  color: #fff;
}

.model-card-badge.bg-warning {
  background: #ffd700;
  color: #9c6206;
}

.model-card-badge.bg-dark {
  background: #22223a;
  color: #fff;
}

.model-card-badge.bg-pink {
  background: linear-gradient(90deg, #f857a6, #ffd6f3);
  color: #fff;
}

@media (max-width: 767.98px) {
  .model-card-img {
    height: 300px;
  }

  .model-card-premium {
    margin-bottom: 2.5rem;
  }
}

@media (max-width: 575.98px) {
  .model-card-img {
    height: 230px;
  }

  .model-card-body {
    padding: .9em .7em;
  }
}




/* Mumbai Rates Section All Unique Classes */
.ratesx-section {
  background: linear-gradient(110deg, #fffbe6 60%, #fdeaff 100%);
  border-radius: 2.2rem;
}

.ratesx-heading {
  font-size: 2rem;
  font-weight: 800;
  color: #41227a;
  letter-spacing: .5px;
}

.ratesx-intro {
  color: #592b85;
  font-size: 1.14rem;
}

.ratex-card {
  background: #fff;
  border-radius: 1.2em;
  box-shadow: 0 2px 24px #b8306e15, 0 2px 6px #8ec5fc11;
  padding: 2em 1.3em 1.3em 1.3em;
  transition: box-shadow .18s cubic-bezier(.4, .07, .71, .93), transform .18s;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 370px;
  border: 2px solid #f6e3ff;
}

.ratex-card:hover {
  box-shadow: 0 6px 36px #f857a613, 0 4px 14px #8ec5fc14;
  transform: translateY(-4px) scale(1.018);
  border-color: #f857a6;
}

.ratex-russian {
  border: 2px solid #ffd700 !important;
}

.ratex-celebrity {
  border: 2px solid #8ec5fc !important;
}

.ratex-badge {
  background: linear-gradient(90deg, #f857a6 50%, #8ec5fc 100%);
  color: #fff;
  font-weight: 700;
  border-radius: 2em;
  display: inline-block;
  padding: .42em 1.13em;
  margin-bottom: 1.1em;
  font-size: 1.03em;
  letter-spacing: .3px;
}

.ratex-price {
  font-size: 2.1rem;
  font-weight: 800;
  color: #41227a;
  margin-bottom: .75em;
}

.ratex-price small {
  font-size: .91rem;
  color: #8c4892;
  font-weight: 600;
}

.ratex-contact {
  font-size: 1.18rem;
  font-weight: 700;
  color: #b8306e;
  background: #fff3fb;
  border-radius: .85em;
  padding: .4em 1em;
}

.ratex-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.12em 0;
}

.ratex-features li {
  color: #563574;
  font-size: 1.01rem;
  margin-bottom: .52em;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}

.ratex-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: .7em;
  border-top: 1px solid #f6e3ff;
}

.ratex-star i {
  color: #ffd700;
  font-size: 1.11rem;
  margin-right: 2px;
}

.ratex-btn {
  background: linear-gradient(90deg, #f857a6 30%, #8ec5fc 100%);
  color: #fff !important;
  font-weight: 700;
  border-radius: 2em;
  padding: .43em 1.65em;
  font-size: 1.07rem;
  box-shadow: 0 1.5px 8px #f857a614;
  border: none;
  outline: none;
  transition: background .17s;
  text-decoration: none !important;
  letter-spacing: .2px;
}

.ratex-btn:hover {
  background: linear-gradient(90deg, #8ec5fc 40%, #f857a6 100%);
  color: #fff;
}

.ratesx-note {
  font-size: 1.02rem;
  color: #7e3891;
  margin-top: 2.3em;
}

@media (max-width: 767.98px) {
  .ratex-card {
    min-height: unset;
    padding: 1.3em .8em;
  }

  .ratesx-section {
    border-radius: 1.2em;
  }
}



/* booking section */
.veluxe-booking-section {
  background: linear-gradient(93deg, #fffbe6 65%, #f7e1f9 100%);
  padding: 3em 0 2em 0;
  border-radius: 2.2em;
}

.veluxe-booking-container {
  max-width: 100%;
  margin: 0 auto;
}

.veluxe-booking-card {
  background: #fff;
  border-radius: 1.4em;
  box-shadow: 0 2px 28px #f857a611, 0 1px 5px #8ec5fc11;
  padding: 2em 1.6em 1.3em 1.6em;
  text-align: center;
}

.veluxe-booking-title {
  font-size: 1.37rem;
  font-weight: 700;
  color: #46207a;
  margin-bottom: 1.2em;
  letter-spacing: .03em;
  line-height: 1.2;
}

.section-cta-heading i {
  color: #f857a6;
  font-size: 1.33em;
  margin-right: 8px;
}

.veluxe-booking-actions {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 1.2em;
  flex-wrap: wrap;
}

.veluxe-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 1.05rem;
  font-weight: 700;
  border-radius: 2em;
  padding: .6em 1.6em;
  border: none;
  outline: none;
  text-decoration: none !important;
  transition: background .17s;
}

.veluxe-whatsapp {
  background: linear-gradient(90deg, #2ecc40 70%, #8ec5fc 100%);
  color: #fff !important;
  box-shadow: 0 2px 14px #2ecc4021;
}

.veluxe-call {
  background: linear-gradient(90deg, #f857a6 60%, #ffd700 100%);
  color: #fff !important;
  box-shadow: 0 2px 14px #f857a616;
}

.veluxe-btn:hover {
  opacity: .92;
}

.veluxe-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: .7em;
}

.veluxe-badge {
  background: linear-gradient(93deg, #f7e1f9, #fdeaff 80%);
  color: #74349c;
  font-size: 1.03rem;
  font-weight: 600;
  padding: .38em 1.1em;
  border-radius: 1.7em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 1px 6px #f857a60d;
}

@media (max-width: 600px) {
  .veluxe-booking-container {
    max-width: 99%;
  }

  .veluxe-booking-card {
    padding: 1.1em .7em;
  }
}







/* fixed hotel booking*/
.luxisera-hotels-section {
  background: linear-gradient(95deg, #fffbe6 70%, #fdeaff 100%);
  border-radius: 2em;
  padding: 3em 0 2em 0;
}

.luxisera-hotels-title {
  color: #502253;
  font-weight: 800;
  font-size: 2.1rem;
  letter-spacing: .01em;
}

.luxisera-hotel-icon-main {
  color: #ffd700;
  font-size: 2.3rem;
  margin-right: 10px;
  vertical-align: middle;
}

.luxisera-hotels-intro {
  color: #56317a;
  font-size: 1.23rem;
}

.luxisera-hotels-list {
  list-style: none;
  padding: 0;
  margin: 0 0 2em 0;
}

.luxisera-hotels-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #fff;
  border-radius: 1.1em;
  padding: .85em 1em;
  box-shadow: 0 2px 12px #8ec5fc0b, 0 1px 4px #f857a605;
  font-size: 1.11rem;
  font-weight: 600;
}

.luxisera-hotel-icon {
  min-width: 24px;
  font-size: 1.3rem;
  margin-right: 8px;
}

.luxisera-hotel-gem {
  color: #ffd700;
  font-size: 1.25rem;
  margin-bottom: 4px;
}

.luxisera-hotels-desc {
  color: #432a4c;
  font-size: 1.13rem;
  max-width: 960px;
  margin: 1.8em auto 0 auto;
  background: #fff7fb;
  border-radius: 1.5em;
  box-shadow: 0 2px 16px #8ec5fc12;
  padding: 2em 1.2em 1.5em 1.2em;
}

.luxisera-hotels-highlight {
  color: #f857a6;
  font-weight: 700;
}

.luxisera-hotels-highlight-2 {
  color: #b8306e;
  font-weight: 600;
}

.luxisera-hotels-list b {
  color: #3c2268;
  font-weight: 700;
}

@media (max-width: 900px) {
  .luxisera-hotels-section {
    padding: 2em 0 1.2em 0;
  }

  .luxisera-hotels-list li {
    font-size: 1.03rem;
  }

  .luxisera-hotels-desc {
    padding: 1.3em .5em 1em .5em;
  }
}

/* Different colors for each hotel icon (18 total) */
.luxisera-color1 {
  color: #ffd700;
}

.luxisera-color2 {
  color: #b8306e;
}

.luxisera-color3 {
  color: #8ec5fc;
}

.luxisera-color4 {
  color: #27a844;
}

.luxisera-color5 {
  color: #ffb700;
}

.luxisera-color6 {
  color: #6339b1;
}

.luxisera-color7 {
  color: #f857a6;
}

.luxisera-color8 {
  color: #23134c;
}

.luxisera-color9 {
  color: #e6456e;
}

.luxisera-color10 {
  color: #472166;
}

.luxisera-color11 {
  color: #27a844;
}

.luxisera-color12 {
  color: #d02472;
}

.luxisera-color13 {
  color: #f7be16;
}

.luxisera-color14 {
  color: #fa69c5;
}

.luxisera-color15 {
  color: #2a91d2;
}

.luxisera-color16 {
  color: #8f479a;
}

.luxisera-color17 {
  color: #46b076;
}

.luxisera-color18 {
  color: #ea4a1b;
}



/* breadcrumb */
.luxi-breadcrumb .breadcrumb {
  background: #fff4fb;
  border-radius: 2rem;
  box-shadow: 0 3px 12px 0 #f857a622;
  font-weight: 500;
  font-size: 1.07rem;
}

.luxi-breadcrumb .breadcrumb-item a {
  color: #a1366e;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: color .15s;
}

.luxi-breadcrumb .breadcrumb-item a:hover {
  color: #f857a6;
  text-decoration: underline;
}

.luxi-breadcrumb .breadcrumb-item.active {
  color: #fff;
  background: linear-gradient(90deg, #f857a6 70%, #8ec5fc 100%);
  border-radius: 1.1rem;
  padding: 2px 13px;
  font-weight: bold;
  box-shadow: 0 2px 6px 0 #f857a622;
  margin-left: 3px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.luxi-breadcrumb .bi {
  font-size: 1.12em;
  margin-right: 2px;
  opacity: 0.93;
}




.what-sets-apart-section {
  background: linear-gradient(90deg, #f8fafc 0%, #f0f4f8 100%);
}

.sets-apart-title {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -1px;
  color: #1a2634;
}

.sets-apart-paragraph {
  font-size: 1.08rem;
  color: #253143;
  line-height: 1.7;
  border-left: 4px solid #50b5ff;
  background: #fff;
  padding: 1.4rem 1.5rem;
  border-radius: 1.3rem;
  box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.07);
}

.sets-apart-client-review {
  font-size: 1.08rem;
  background: #f4f8fc;
  border-left: 4px solid #ffd700;
  padding: 0.8rem 1.2rem;
  border-radius: 0.9rem;
  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.03);
  margin-top: 1.4rem;
}

.sets-apart-img {
  max-width: 420px;
  border-radius: 1.6rem;
  box-shadow: 0 2px 32px 0 rgba(50, 80, 140, 0.13);
}

@media (max-width: 991px) {
  .sets-apart-img {
    max-width: 90%;
    margin-top: 2rem;
  }
}



.what-sets-apart-section {
  background: linear-gradient(120deg, #eef3fa 0%, #e5ecf8 70%, #e6f0fa 100%);
  padding-top: 70px;
  padding-bottom: 70px;
}

.sets-apart-title {
  font-family: 'Playfair Display', serif;
  font-size: 2.5rem;
  font-weight: 800;
  color: #14213d;
  letter-spacing: -0.5px;
  margin-bottom: 1.8rem;
  text-shadow: 0 2px 20px rgba(180, 185, 210, 0.08);
}

.sets-apart-glass-card {
  background: rgba(255, 255, 255, 0.65);
  border-radius: 1.8rem;
  box-shadow: 0 8px 48px 0 rgba(22, 45, 78, 0.16), 0 1.5px 8px 0 rgba(206, 210, 222, 0.09);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(200, 210, 230, 0.14);
  padding: 2.1rem 2.2rem 2.2rem 2.2rem;
  margin-bottom: 0.7rem;
}

.sets-apart-paragraph {
  font-size: 1.16rem;
  color: #1e2738;
  line-height: 1.78;
  font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
  letter-spacing: 0.04rem;
  margin-bottom: 0;
}

.sets-apart-client-review {
  font-size: 1.14rem;
  background: linear-gradient(90deg, #fffbe9 80%, #faf7ec 100%);
  border-left: 5px solid #ffd700;
  color: #262626;
  font-style: italic;
  border-radius: 1.1rem;
  box-shadow: 0 2px 16px 0 rgba(90, 80, 10, 0.09);
  padding: 1.1rem 1.4rem 1.1rem 2.1rem;
  position: relative;
  margin-top: 1.3rem;
  font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
}

.sets-apart-quote-icon {
  color: #ffd700;
  font-size: 2.2rem;
  font-family: 'Playfair Display', serif;
  position: absolute;
  left: 16px;
  top: 8px;
}

.sets-apart-client-name {
  color: #b19756;
  font-size: 1rem;
  font-style: normal;
  margin-left: 10px;
  font-family: 'Playfair Display', serif;
  font-weight: 500;
}

.sets-apart-img-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 2.2rem 0;
}

.sets-apart-img {
  max-width: 410px;
  border-radius: 1.8rem;
  box-shadow: 0 4px 36px 0 rgba(40, 45, 80, 0.17), 0 2px 10px 0 rgba(210, 210, 240, 0.09);
  border: 3px solid rgba(225, 185, 80, 0.11);
}

@media (max-width: 991px) {
  .sets-apart-img {
    max-width: 82vw;
  }

  .sets-apart-title {
    font-size: 2rem;
  }

  .sets-apart-glass-card {
    padding: 1.4rem 1rem;
  }
}



















































/* USP Bar */
.ep-luxhero-usp-bar {
  border: 2px solid #f8e1f6;
}

/* Animated BG */
.animated-gradient-bg {
  background: linear-gradient(120deg, #fdeaff, #f857a6, #8ec5fc, #ffd6f3, #6a82fb, #ffdde1, #f857a6, #8ec5fc);
  background-size: 300% 300%;
  animation: animatedBG 12s ease-in-out infinite;
}

@keyframes animatedBG {
  0% {
    background-position: 0% 50%;
  }

  33% {
    background-position: 100% 50%;
  }

  66% {
    background-position: 50% 100%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.hero-bg {
  min-height: 520px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: linear-gradient(117deg, #14173b 66%, #f857a6 100%);
  background-size: 300% 300%;
  animation: heroGradientAnim 7s ease-in-out infinite alternate;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  box-shadow: 0 12px 48px #0e0c2290;
}

@keyframes heroGradientAnim {
  0% {
    background-position: 0% 50%;
  }

  100% {
    background-position: 100% 50%;
  }
}

.hero-card {
  background: rgba(26, 19, 49, 0.85);
  border-radius: 2.3rem;
  box-shadow: 0 12px 56px #14122b62;
  padding: 3.6rem 2.3rem 2.2rem 2.3rem;
  margin: auto;
  max-width: 760px;
  border: 2px solid rgba(248, 87, 166, 0.13);
  backdrop-filter: blur(7px);
}

.hero-title {
  font-family: 'Merriweather', serif;
  font-size: 2.4rem;
  letter-spacing: 2px;
  color: #fff;
  text-shadow: 0 3px 30px #f857a6b3, 0 1px 0 #19114d;
}

.hero-title .gold-dot {
  color: #ffd700;
  font-size: 2.3rem;
  filter: drop-shadow(0 0 10px #ffd700a5);
}

.hero-subtitle {
  font-size: 1.16rem;
  color: #ffd700d6;
  font-weight: 500;
  text-shadow: 0 1px 16px #f857a6a1, 0 0 7px #ffd70099;
  display: block;
  margin-top: 5px;
}

.hero-lead {
  font-size: 1.18rem;
  color: #ffe0ee;
  opacity: .96;
  margin-bottom: 1.3rem;
  margin-top: 1rem;
}

.trust-bar {
  color: #fff;
  opacity: .85;
  font-size: 1.01rem;
  margin-bottom: 1.3rem;
  letter-spacing: .5px;
}

.trust-bar .bi {
  color: #ffd700;
  margin: 0 2px;
}

.hero-features {
  display: flex;
  gap: 1.2rem;
  justify-content: center;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.hero-feature {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 1.2rem;
  padding: .7rem 1.3rem;
  color: #f857a6;
  font-weight: 600;
  font-size: 1.02rem;
  display: flex;
  align-items: center;
  gap: 9px;
  box-shadow: 0 2px 18px #19114d1a;
}

.hero-btn {
  background: linear-gradient(90deg, #ffd700 65%, #f857a6 100%);
  color: #181144;
  font-weight: 700;
  font-size: 1.13rem;
  padding: .95rem 2.6rem;
  border: none;
  border-radius: 2rem;
  box-shadow: 0 10px 42px #f857a648;
  transition: all .17s;
  letter-spacing: .5px;
  margin-bottom: 8px;
}

.hero-btn:hover,
.hero-btn:focus {
  background: linear-gradient(90deg, #f857a6 60%, #ffd700 100%);
  color: #fff;
  box-shadow: 0 10px 44px #ffd700a2;
  transform: scale(1.05) translateY(-2px);
}

.hero-models-row {
  margin-top: 2.2rem;
  margin-bottom: .8rem;
}

.hero-model-card {
  border-radius: 1.3rem !important;
  overflow: hidden;
  border: none;
  box-shadow: 0 4px 28px #19114d20;
}

.hero-model-img {
  border-radius: 1.3rem 1.3rem 0 0 !important;
  object-fit: cover;
  height: 108px;
  width: 100%;
}

.hero-model-name {
  font-weight: 600;
  font-size: 1.07rem;
}

.hero-model-city {
  font-size: .94rem;
  color: #f857a6;
}

@media (max-width: 700px) {
  .hero-card {
    padding: 1.3rem 0.7rem 1.1rem 0.7rem;
  }

  .hero-title {
    font-size: 1.32rem;
  }

  .hero-bg {
    min-height: 420px;
  }

  .hero-features {
    gap: .5rem;
  }
}








/* Extra city grid style for attractive look */
.city-section {
  background: linear-gradient(120deg, #f7f4fb 80%, #fbeeff 100%);
  border-top: 3px solid #e7c6fa;
  border-bottom: 3px solid #ede2fb;
}

.city-section-title {
  font-size: 2.15rem;
  background: linear-gradient(90deg, #f857a6 0%, #a23fc3 45%, #21b07b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-weight: 800;
  letter-spacing: .5px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
}

.city-state-block {
  margin-bottom: 2.4rem;
}

.city-state-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 2.4rem;
  height: 2.4rem;
  font-size: 1.4rem;
  color: #fff;
  box-shadow: 0 2px 12px #a23fc344;
}

.bg-gradient-maharashtra {
  background: linear-gradient(120deg, #a23fc3, #f857a6 80%);
}

.bg-gradient-delhi {
  background: linear-gradient(120deg, #e73895 20%, #51237e 100%);
}

.bg-gradient-karnataka {
  background: linear-gradient(120deg, #2079b0 10%, #f857a6 100%);
}

.bg-gradient-gujarat {
  background: linear-gradient(120deg, #21b07b 50%, #f857a6 100%);
}

.bg-gradient-up {
  background: linear-gradient(120deg, #d78909 50%, #f857a6 100%);
}

.bg-gradient-tamilnadu {
  background: linear-gradient(120deg, #b03a2e 50%, #a23fc3 100%);
}

.bg-gradient-westbengal {
  background: linear-gradient(120deg, #355ba0 70%, #a23fc3 100%);
}

.city-state-title {
  font-size: 1.25rem;
  font-weight: 700;
  background: linear-gradient(90deg, #51237e 30%, #a23fc3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  margin-bottom: 0;
  letter-spacing: .3px;
}

.city-card {
  display: flex;
  align-items: center;
  gap: .7rem;
  background: #fff;
  color: #51237e;
  border-radius: 1.4rem;
  font-weight: 600;
  text-align: left;
  padding: 1.01rem 1.1rem;
  font-size: 1.07rem;
  box-shadow: 0 3px 16px #cdb8ea20, 0 1.5px 6px #d79bea11;
  transition: all .17s;
  border: 2px solid #e4d8f5;
  letter-spacing: .19px;
  text-decoration: none;
  min-height: 62px;
}

.city-card i {
  font-size: 1.15rem;
  color: #f857a6;
  transition: color .2s;
}

.city-card:hover,
.city-card:focus {
  background: linear-gradient(93deg, #f857a6 60%, #a23fc3 100%);
  color: #fff;
  border-color: #a23fc3;
  box-shadow: 0 8px 34px #a23fc335;
  transform: scale(1.045) translateY(-2px);
}

.city-card:hover i,
.city-card:focus i {
  color: #fff200;
}

@media (max-width: 767px) {
  .city-section-title {
    font-size: 1.15rem;
  }

  .city-state-title {
    font-size: 1rem;
  }

  .city-card {
    padding: .8rem .6rem;
    font-size: .97rem;
  }

  .city-state-icon {
    width: 1.8rem;
    height: 1.8rem;
    font-size: 1rem;
  }
}



.city-area-heading {
  font-size: 1.15rem;
  font-weight: 700;
  color: #f857a6;
  margin-top: 1.2rem;
  display: flex;
  align-items: center;
  gap: .47em;
  letter-spacing: .01em;
  background: linear-gradient(90deg, #fff7f3 90%, #fde4ff 100%);
  padding: .25em .9em;
  border-radius: 1.1rem;
  width: fit-content;
  box-shadow: 0 2px 12px #f857a61a;
}

.city-card {
  display: flex;
  align-items: center;
  gap: .49em;
  background: #fff;
  color: #6a218e;
  border-radius: 1.2rem;
  font-weight: 600;
  text-align: left;
  padding: 0.75rem 0.7rem 0.75rem 0.99rem;
  font-size: 1.07rem;
  box-shadow: 0 3px 15px #a23fc32a;
  transition: all .16s;
  border: 2px solid #ede2fb;
  letter-spacing: .1px;
  position: relative;
  text-decoration: none;
}

.city-card i {
  color: #f857a6;
  font-size: 1.19em;
  margin-right: .23em;
}

.city-card:hover,
.city-card:focus {
  background: linear-gradient(93deg, #f857a6 55%, #a23fc3 100%);
  color: #fff;
  border-color: #a23fc3;
  text-decoration: none;
  box-shadow: 0 8px 26px #b38fe32a;
  transform: scale(1.03) translateY(-2px);
}







/* About area */
.about-luxisera-box {
  background: linear-gradient(120deg, #f7f4fb 80%, #e7d8f9 100%);
  border: 1px solid #e9e2fa;
  box-shadow: 0 6px 32px #a23fc321;
}

.about-luxisera-box h2,
.about-luxisera-box h3 {
  font-weight: 800;
  letter-spacing: .5px;
}

.about-highlight {
  color: #f857a6;
  font-size: 1.18rem;
  font-weight: 700;
}

.about-keypoints {
  font-size: 1.08rem;
  margin-left: 1.1rem;
  color: #51237e;
}

.about-keypoints li {
  margin-bottom: 8px;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .about-luxisera-box {
    padding: 1.1rem;
  }

  .about-luxisera-box h2 {
    font-size: 1.25rem;
  }

  .about-luxisera-box h3 {
    font-size: 1.1rem;
  }
}




/* footer */

.footer-premium {
  background: linear-gradient(120deg, #23134c 0%, #472166 80%, #f857a6 130%);
  min-height: 300px;
  padding: 60px 0 38px 0 !important;
  color: #fff;
  border-radius: 2.4em 2.4em 0 0;
  box-shadow: 0 -8px 38px #f857a611;
  font-size: 1.17rem;
  letter-spacing: .01em;
  position: relative;
  z-index: 2;
}

.footer-brand-main {
  font-weight: 900;
  font-size: 2.1rem;
  letter-spacing: .09em;
  color: #ffd700;
  font-family: 'Merriweather', serif;
}

.footer-dot {
  color: #f857a6;
  font-size: 1.7rem;
  margin: 0 8px;
  font-weight: bold;
}

.footer-brand-sub {
  color: #ffeaf3;
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: .06em;
}

.footer-social {
  margin-top: 12px;
  margin-bottom: 12px;
}

.footer-social-icon {
  color: #ffd700;
  font-size: 2.1rem;
  margin: 0 10px;
  transition: color .22s;
  vertical-align: middle;
  display: inline-block;
}

.footer-social-icon:hover {
  color: #f857a6;
}

.footer-cities {
  font-size: 1.09rem;
  color: #ffd700;
  margin-top: 7px;
}

.footer-badges {
  margin-top: 17px;
}

.footer-badge {
  background: #fff2;
  color: #ffd700;
  padding: 7px 14px;
  border-radius: 22px;
  margin-right: 7px;
  font-size: 1.02rem;
  display: inline-block;
  font-weight: 600;
}

.footer-links .footer-link {
  color: #ffd700;
  font-size: 1.09rem;
  margin: 0 9px;
  font-weight: 700;
  text-decoration: underline;
  letter-spacing: .02em;
  transition: color .19s;
}

.footer-links .footer-link:hover {
  color: #fff;
}

.footer-note {
  color: #fff;
  margin-top: 11px;
  font-size: 1.06rem;
  letter-spacing: .01em;
}

.footer-top-btn {
  background: #23134c;
  color: #ffd700;
  border: none;
  border-radius: 50%;
  font-size: 2.2rem;
  box-shadow: 0 2px 14px #f857a622;
  margin-top: 18px;
  transition: background .2s, color .2s;
  outline: none;
  padding: 10px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.footer-top-btn:hover {
  background: #f857a6;
  color: #fff;
}

@media (max-width: 767px) {
  .footer-premium {
    min-height: 340px;
    padding: 36px 0 14px 0 !important;
    font-size: 1.01rem;
    border-radius: 1.2em 1.2em 0 0;
  }

  .footer-brand-main {
    font-size: 1.47rem;
  }

  .footer-social-icon {
    font-size: 1.5rem;
  }

  .footer-badge {
    font-size: .96rem;
    padding: 6px 11px;
  }
}


/* 18+ warning content */

.age-modal-glass {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(26, 18, 50, .94);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .22s;
  animation: fadeInGlass .35s cubic-bezier(.5, 1.2, .32, 1);
}

@keyframes fadeInGlass {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.age-modal-content {
  backdrop-filter: blur(18px) saturate(140%);
  background: linear-gradient(125deg, #fff 86%, #f7e8ff 100%);
  border-radius: 2.1rem;
  box-shadow: 0 8px 48px #a23fc366, 0 1px 13px #ffd70024;
  border: 2.7px solid #f857a6;
  max-width: 390px;
  width: 96vw;
  padding: 2.45rem 1.7rem 2.05rem 1.7rem;
  color: #18122B;
  position: relative;
  animation: popInModal .38s cubic-bezier(.55, 1.9, .42, 1.11);
}

@keyframes popInModal {
  0% {
    transform: scale(.78);
  }

  70% {
    transform: scale(1.11);
  }

  100% {
    transform: scale(1);
  }
}

.age-modal-icon-animated {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  animation: bounceIcon .92s cubic-bezier(.52, 1.6, .39, .8) infinite alternate;
}

@keyframes bounceIcon {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-9px);
  }
}

.age-modal-highlight {
  font-size: 1.03rem;
  color: #ffd700;
  background: linear-gradient(93deg, #f857a6 55%, #ffd700 100%);
  border-radius: .92rem;
  display: inline-block;
  padding: 0.33em 1.1em;
  font-weight: 700;
  margin-bottom: .4rem;
  letter-spacing: .01em;
  box-shadow: 0 1px 11px #ffd70023;
  border: 1.5px solid #f857a6;
  opacity: .99;
}

.age-accept-btn-premium {
  background: linear-gradient(92deg, #f857a6 54%, #a23fc3 100%);
  color: #fff;
  border: none;
  border-radius: 1.1rem;
  font-size: 1.17rem;
  font-weight: 900;
  letter-spacing: .12em;
  padding: 1em 2.8em;
  box-shadow: 0 8px 22px #f857a648, 0 1px 13px #ffd70017;
  cursor: pointer;
  transition: background .17s, color .12s, transform .12s;
  margin-top: .1rem;
  text-transform: uppercase;
}

.age-accept-btn-premium:hover {
  background: linear-gradient(92deg, #ffd700 56%, #f857a6 100%);
  color: #201050;
  transform: scale(1.07) translateY(-2px);
}

.age-modal-note {
  font-size: .97rem;
  color: #a23fc3;
  opacity: .94;
  margin-top: .75em;
  letter-spacing: .04em;
}

.age-modal-note a {
  color: #f857a6;
  text-decoration: underline;
}

@media (max-width: 480px) {
  .age-modal-content {
    padding: 1.3rem .4rem 1.1rem .4rem;
  }

  .age-modal-highlight {
    font-size: .97rem;
  }
}



/* back to top */

#backToTop {
  position: fixed;
  bottom: 28px;
  right: 22px;
  z-index: 999;
  background: linear-gradient(120deg, #a23fc3 55%, #f857a6 100%);
  border: none;
  outline: none;
  border-radius: 50%;
  width: 54px;
  height: 54px;
  box-shadow: 0 4px 16px #a23fc363;
  color: #ffd700;
  font-size: 2rem;
  display: none;
  /* Hide by default */
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .17s;
  opacity: 0.89;
}

#backToTop:hover {
  background: linear-gradient(120deg, #f857a6 65%, #ffd700 100%);
  color: #fff;
  transform: scale(1.08) translateY(-2px);
}



/* Nav */

.nav-gradient {
  background: linear-gradient(90deg, #201050 92%, #f857a6 100%);
  border-bottom: 3px solid #ffd700;
  min-height: 62px;
}

.navbar-brand {
  font-size: 1.45rem;
  font-weight: 900;
  letter-spacing: .05em;
}

.nav-logo-dot {
  background: linear-gradient(93deg, #f857a6 55%, #ffd700 100%);
  border-radius: 50%;
  width: 1.2em;
  height: 1.2em;
  display: inline-block;
  margin-right: .3em;
  margin-top: .1em;
  box-shadow: 0 2px 11px #ffd70055;
}

.nav-brand-text {
  color: #ffd700;
  font-weight: 900;
  letter-spacing: .07em;
  text-shadow: 0 1px 11px #f857a633;
}

.navbar-nav .nav-link {
  color: #fff;
  font-size: 1.07rem;
  font-weight: 600;
  padding-right: 1.1em;
  letter-spacing: .03em;
  transition: color .13s, background .12s;
  border-radius: .89em;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  background: linear-gradient(93deg, #ffd700 55%, #f857a6 100%);
  color: #201050 !important;
  text-shadow: 0 1px 9px #ffd70066;
}

.navbar-nav .dropdown-menu {
  background: #f7f4fb;
  border-radius: 1.2em;
  box-shadow: 0 7px 24px #a23fc32e;
  border: 1.7px solid #f857a6;
  min-width: 200px;
  margin-top: .4em;
}

.nav-city-dropdown .dropdown-item {
  color: #51237e;
  font-weight: 700;
  font-size: 1.03em;
  border-radius: .75em;
  padding: .65em 1.3em;
  display: flex;
  align-items: center;
  gap: .6em;
  transition: background .13s, color .13s;
}

.nav-city-dropdown .dropdown-item:hover {
  background: linear-gradient(92deg, #f857a6 65%, #ffd700 100%);
  color: #fff;
}

.navbar-toggler {
  border: none;
  background: none;
  font-size: 1.1em;
  margin-left: .4em;
}

.city-search-box {
  width: 210px;
  min-width: 135px;
}

.city-search-input {
  border-radius: 1.4em;
  padding: .6em 1.15em;
  font-weight: 600;
  border: 2px solid #f857a6;
  font-size: 1.01em;
  transition: box-shadow .13s, border .13s;
  background: #fff7fc;
  color: #6a218e;
}

.city-search-input:focus {
  border-color: #ffd700;
  box-shadow: 0 0 0 2px #ffd70044;
}

.city-search-btn {
  padding: .42em 1.13em;
  font-size: 1.06em;
  border-radius: 1.3em;
}

.city-suggestions-list {
  position: absolute;
  z-index: 999;
  top: 108%;
  left: 0;
  right: 0;
  background: #fff;
  border: 2px solid #f857a6;
  border-radius: 1.2em;
  box-shadow: 0 8px 23px #f857a625;
  list-style: none;
  margin: 0;
  padding: .15em 0;
  max-height: 210px;
  overflow: auto;
  display: none;
}

.city-suggestions-list li {
  padding: .67em 1.2em;
  font-weight: 700;
  color: #6a218e;
  cursor: pointer;
  border-radius: .98em;
  transition: background .13s, color .13s;
}

.city-suggestions-list li:hover {
  background: linear-gradient(93deg, #f857a6 54%, #ffd700 100%);
  color: #fff;
}

.city-search-input.is-invalid {
  border-color: #f00;
  animation: shake .27s linear 1;
}

@keyframes shake {
  0% {
    transform: translateX(0);
  }

  22% {
    transform: translateX(-8px);
  }

  44% {
    transform: translateX(7px);
  }

  66% {
    transform: translateX(-5px);
  }

  88% {
    transform: translateX(4px);
  }

  100% {
    transform: translateX(0);
  }
}

@media (max-width:991px) {
  .nav-brand-text {
    font-size: 1.09rem;
  }
}

@media (max-width: 767px) {
  .navbar {
    font-size: .99rem;
  }

  .navbar-brand {
    font-size: 1.07rem;
  }

  .navbar-nav .nav-link {
    font-size: .99rem;
    padding-right: .6em;
  }

  .city-search-box {
    width: 135px;
  }
}




/* about */
.coverage-icon {
  width: 3.2rem;
  height: 3.2rem;
  background: linear-gradient(120deg, #f857a6 70%, #ffd700 100%);
  border-radius: 50%;
  color: #fff;
  font-size: 2rem;
  box-shadow: 0 3px 12px #f857a644;
  align-items: center;
  justify-content: center;
  display: inline-flex;
}

.coverage-highlight {
  background: linear-gradient(93deg, #ffd700 40%, #f857a6 100%);
  color: #201050;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  border-radius: 1.2em;
  padding: .47em 1.35em;
  font-size: 1.04rem;
  box-shadow: 0 2px 9px #ffd70025;
  letter-spacing: .01em;
  animation: badgePop .5s;
}

@keyframes badgePop {
  0% {
    transform: scale(0.77);
  }

  80% {
    transform: scale(1.14);
  }

  100% {
    transform: scale(1);
  }
}

.city-badge-grid .city-badge {
  background: linear-gradient(93deg, #f857a6 45%, #ffd700 100%);
  color: #fff;
  font-weight: 600;
  border-radius: 1.2em;
  padding: .72em 1.22em;
  font-size: 1.03rem;
  display: flex;
  align-items: center;
  gap: .59em;
  box-shadow: 0 2px 8px #f857a620;
  transition: transform .13s, box-shadow .14s;
  cursor: pointer;
  border: 2px solid #fff3;
  animation: badgePop .6s;
}

.city-badge-grid .city-badge:hover {
  background: linear-gradient(92deg, #ffd700 65%, #f857a6 100%);
  color: #201050;
  transform: scale(1.08) translateY(-2px);
  box-shadow: 0 6px 23px #ffd70055;
}




/* top section about */

.about-brand-box {
  background: linear-gradient(98deg, #fff8fe 60%, #ffd70015 100%);
  border-radius: 1.1em;
  padding: 1.3em 1.8em 1.1em 1.2em;
  box-shadow: 0 3px 16px #f857a622;
}

.about-brand-highlight {
  background: linear-gradient(98deg, #f857a6 45%, #ffd700 100%);
  border-radius: .6em;
  padding: .11em .7em .11em .4em;
  font-size: 1.1em;
  color: #fff;
  box-shadow: 0 1px 7px #ffd70045;
}

.about-lead {
  font-size: 1.13rem;
  color: #432063;
  margin-top: .5em;
}

.mission-values-box,
.about-features-box {
  background: linear-gradient(98deg, #ffd70011 30%, #fff 100%);
  border-radius: 1em;
  box-shadow: 0 2px 12px #f857a619;
}

.about-h2 {
  font-weight: bold;
  letter-spacing: .02em;
}

.about-list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.about-list li {
  position: relative;
  font-size: 1.12rem;
  color: #381570;
  margin-bottom: .82em;
  padding-left: 2.1em;
  line-height: 1.77;
}

.about-list-icon {
  position: absolute;
  left: 0;
  top: .17em;
  color: #f857a6;
  font-size: 1.15em;
  display: inline-block;
  width: 1.7em;
  text-align: center;
  filter: drop-shadow(0 2px 6px #ffd70050);
}

@media (max-width:991px) {

  .about-brand-box,
  .mission-values-box,
  .about-features-box {
    padding: .7em 1em;
  }

  .about-list li {
    font-size: 1.02rem;
  }
}



/* Contact */
.bg-gradient-contact {
  background: linear-gradient(93deg, #f857a6 10%, #ffd700 100%);
  color: #fff;
  min-height: 220px;
}

.contact-info-box {
  min-height: 410px;
}

.btn-gradient-cta {
  background: linear-gradient(93deg, #f857a6 35%, #ffd700 100%);
  color: #201050;
  font-weight: 700;
  border-radius: 2em;
  border: none;
  transition: background .15s, color .13s;
}

.btn-gradient-cta:hover {
  background: linear-gradient(93deg, #ffd700 50%, #f857a6 100%);
  color: #fff;
}

.contact-hero-section .display-5 {
  text-shadow: 0 2px 12px #fff7;
}

.form-control:focus {
  border-color: #f857a6;
  box-shadow: 0 0 0 2px #f857a623;
}

.map-responsive {
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
}

.map-responsive iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}




/* 404 page */
.error-404-container {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.error-404-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  opacity: 0.3;
}

.error-content {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 3rem;
  text-align: center;
  max-width: 600px;
  margin: 2rem;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
  z-index: 2;
  animation: slideInUp 0.8s ease-out;
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.error-number {
  font-size: 8rem;
  font-weight: 900;
  background: linear-gradient(45deg, #f857a6, #ff6b6b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 1rem;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
  animation: bounce 2s infinite;
}

@keyframes bounce {

  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(-10px);
  }

  60% {
    transform: translateY(-5px);
  }
}

.error-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 1rem;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
}

.error-message {
  font-size: 1.2rem;
  color: #7f8c8d;
  margin-bottom: 2rem;
  line-height: 1.6;
}

.cta-button {
  background: linear-gradient(45deg, #f857a6, #ff6b6b);
  border: none;
  color: white;
  padding: 1rem 2rem;
  border-radius: 50px;
  font-weight: 600;
  font-size: 1.1rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(248, 87, 166, 0.3);
  margin-bottom: 2rem;
}

.cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(248, 87, 166, 0.4);
  color: white;
  text-decoration: none;
}

.quick-links {
  margin: 2rem 0;
}

.quick-links h5 {
  color: #2c3e50;
  font-weight: 600;
  margin-bottom: 1rem;
}

.quick-link-btn {
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid #e0e6ed;
  color: #2c3e50;
  padding: 0.6rem 1.2rem;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
  margin: 0.3rem;
  display: inline-block;
}

.quick-link-btn:hover {
  background: linear-gradient(45deg, #f857a6, #ff6b6b);
  color: white;
  border-color: transparent;
  transform: translateY(-2px);
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(248, 87, 166, 0.3);
}

.search-container {
  margin: 2rem 0;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.search-form {
  display: flex;
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50px;
  padding: 0.5rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.search-input {
  flex: 1;
  border: none;
  background: transparent;
  padding: 0.8rem 1.2rem;
  outline: none;
  font-size: 1rem;
}

.search-button {
  background: linear-gradient(45deg, #f857a6, #ff6b6b);
  border: none;
  color: white;
  padding: 0.8rem 1.5rem;
  border-radius: 25px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.search-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(248, 87, 166, 0.4);
}

.contact-link {
  color: #f857a6;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}

.contact-link:hover {
  color: #ff6b6b;
  text-decoration: none;
}

.floating-shapes {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

.shape {
  position: absolute;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  animation: float 6s ease-in-out infinite;
}

.shape:nth-child(1) {
  width: 80px;
  height: 80px;
  top: 20%;
  left: 10%;
  animation-delay: 0s;
}

.shape:nth-child(2) {
  width: 120px;
  height: 120px;
  top: 60%;
  right: 10%;
  animation-delay: 2s;
}

.shape:nth-child(3) {
  width: 60px;
  height: 60px;
  bottom: 20%;
  left: 20%;
  animation-delay: 4s;
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0px) rotate(0deg);
  }

  50% {
    transform: translateY(-20px) rotate(180deg);
  }
}

@media (max-width: 768px) {
  .error-content {
    padding: 2rem;
    margin: 1rem;
  }

  .error-number {
    font-size: 5rem;
  }

  .error-title {
    font-size: 2rem;
  }

  .quick-link-btn {
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
  }
}

.hero-luxury-escorts {
  min-height: 640px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(120deg, #fdeaff, #f857a6 30%, #8ec5fc 60%, #ffd6f3 85%, #6a82fb 100%);
  background-size: 300% 300%;
  animation: animatedBG 14s linear infinite alternate;
  display: flex;
  align-items: center;
  justify-content: center;
}

@keyframes animatedBG {
  0% {
    background-position: 0% 100%;
  }

  40% {
    background-position: 100% 0%;
  }

  100% {
    background-position: 0% 100%;
  }
}

.hero-bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('img/bg/model-bg.webp');
  opacity: 0.14;
  z-index: 1;
}

.hero-bg-circle1,
.hero-bg-circle2 {
  position: absolute;
  border-radius: 50%;
  z-index: 2;
}

.hero-bg-circle1 {
  right: -80px;
  top: 45px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, #fff 0%, #ffd6f3 70%, #f857a6 100%);
  opacity: 0.17;
}

.hero-bg-circle2 {
  left: -60px;
  bottom: 40px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, #fff 0%, #8ec5fc 70%, #f857a6 100%);
  opacity: 0.13;
}

.hero-card {
  background: rgba(255, 255, 255, 0.20);
  backdrop-filter: blur(18px);
  border-radius: 2.5rem;
  box-shadow: 0 8px 38px #f857a633;
  border: 1.5px solid #ffd6f355;
  padding: 2.2rem 2.5rem;
}

.hero-headline {
  color: #292929;
  text-shadow: 1px 2px 12px #fff5;
  font-size: 2.5rem;
  font-weight: 700;
}

.hero-highlight {
  color: #f857a6;
  text-shadow: none;
  font-weight: 700;
}

.hero-subheadline {
  font-weight: 600;
  letter-spacing: 1px;
  color: #5c257f;
  background: linear-gradient(90deg, #f857a6, #8ec5fc);
  -webkit-background-clip: text;
  color: transparent;
  font-size: 2rem;
}

.hero-ultra-features li {
  font-size: 1.13rem;
  color: #3b234f;
  margin-bottom: 8px;
  list-style: none;
}

.hero-badges .badge {
  font-size: 1.07rem;
  margin-right: 0.7rem;
  margin-bottom: 0.5rem;
}

.hero-model-photo {
  border-radius: 60px 60px 110px 110px;
  box-shadow: 0 8px 48px #f857a655, 0 3px 24px #8ec5fc88;
  border: 6px solid #fff;
  background: #fff9;
  width: 360px;
  height: 452px;
  object-fit: cover;
}

.hero-photo-label {
  position: absolute;
  top: 20px;
  left: 18px;
  background: linear-gradient(90deg, #ffd700, #f857a6);
  color: #333;
  font-size: 1.03rem;
  font-weight: 700;
  padding: 7px 18px 7px 13px;
  border-radius: 22px;
  box-shadow: 0 2px 12px #f857a644;
}

.hero-photo-box {
  position: relative;
  display: inline-block;
}

.hero-photo-card {
  position: absolute;
  bottom: -33px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.98);
  border-radius: 18px;
  box-shadow: 0 3px 26px #f857a633;
  padding: 18px 25px 14px 25px;
  min-width: 270px;
  max-width: 340px;
  z-index: 3;
  font-size: 1.01rem;
}

.hero-photo-rating {
  color: #ffd700;
  font-size: 1rem;
  font-weight: 700;
}

.hero-usp-bar {
  border: 2px solid #f8e1f6;
  background: #fff;
  border-radius: 2.3rem;
  box-shadow: 0 4px 24px #efd6f8;
  padding: 1.2rem 1.5rem;
  margin-top: 2.7rem;
  font-size: 1.07rem;
}

.hero-usp-bar .usp-item {
  margin-right: 1.1rem;
  color: #a853c7;
  font-weight: 500;
}

.hero-usp-bar .bi {
  margin-right: 5px;
  font-size: 1.2em;
}

@media (max-width: 991px) {
  .hero-model-photo {
    width: 220px;
    height: 280px;
  }

  .hero-headline {
    font-size: 2rem;
  }

  .hero-subheadline {
    font-size: 1.1rem;
  }

  .hero-card {
    padding: 1.2rem;
  }
}

.hero-luxury-escorts.hero-bg-image {
  position: relative;
  background-image:
    linear-gradient(120deg, rgba(253, 234, 255, 0.90) 0%, rgba(248, 87, 166, 0.73) 60%, rgba(142, 197, 252, 0.66) 100%),
    url('img/bg/model-bg.webp');
  /* Update with your own image! */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-blend-mode: lighten;
  animation: animatedBG 14s linear infinite alternate;
}



/* about mumbai escorts page */
/* Premium Section Background & Layout */
.section-premium-intro {
  background: linear-gradient(105deg, #fff3fa 60%, #e9f7fe 100%);
  border-radius: 2.5rem;
  padding: 3rem 0;
}

/* Gem Icon Style */
.premium-gem-icon {
  font-size: 2.8rem;
  color: #f857a6;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 2px 24px #f857a633;
  padding: 20px;
  display: inline-block;
}

/* Section Title */
.premium-section-title {
  color: #2a1048;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: .2px;
}

.premium-title-gradient {
  background: linear-gradient(90deg, #f857a6, #8ec5fc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 2rem;
  font-weight: 600;
}

/* Paragraph */
.premium-section-desc {
  font-size: 1.22rem;
  line-height: 2;
  color: #432b64;
  margin-bottom: 1.5rem;
}

.premium-section-list {
  font-size: 1.09rem;
  color: #3e246c;
}

.premium-section-list li {
  margin-bottom: 10px;
  font-weight: 500;
}

.premium-section-list i {
  min-width: 1.7rem;
  text-align: center;
}

/* Main Paragraph End */
.premium-section-end {
  font-size: 1.13rem;
  color: #532980;
}

/* Badges & Button Row */
.premium-badge {
  border-radius: 40px;
  font-size: 1.07rem;
  font-weight: 600;
  padding: 0.6rem 1.2rem;
  margin-right: 7px;
  margin-bottom: 8px;
  display: inline-block;
}

.premium-badge-lock {
  background: #27a844;
  color: #fff;
}

.premium-badge-trophy {
  background: #ffd700;
  color: #633a11;
}

.premium-badge-vip {
  background: #2b58aa;
  color: #fff;
}

.premium-btn {
  background: linear-gradient(90deg, #f857a6 60%, #8ec5fc 100%);
  color: #fff;
  border-radius: 2em;
  box-shadow: 0 2px 24px #f857a655;
  font-size: 1.13rem;
  padding: 0.7rem 2.2rem;
  border: none;
  transition: all 0.15s;
  font-weight: 600;
}

.premium-btn:hover {
  background: linear-gradient(90deg, #8ec5fc 10%, #f857a6 100%);
  color: #fff;
}




/* top models */
.model-grid-section {
  background: linear-gradient(105deg, #fff7fd 50%, #e9f6ff 100%);
  border-radius: 2.5rem;
  padding: 3rem 0;
  margin-bottom: 3rem;
}

.model-card {
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 4px 36px #f857a623;
  overflow: hidden;
  transition: transform 0.17s, box-shadow 0.17s;
  border: 1.7px solid #fdeaff;
  position: relative;
}

.model-card:hover {
  transform: translateY(-8px) scale(1.025);
  box-shadow: 0 12px 48px #f857a644;
}

.model-card-img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  border-top-left-radius: 1.6rem;
  border-top-right-radius: 1.6rem;
}

.model-card-body {
  padding: 1.2rem 1.3rem 1.05rem 1.3rem;
}

.model-card-title {
  color: #f857a6;
  font-size: 1.24rem;
  font-weight: 700;
  margin-bottom: .3rem;
  letter-spacing: .5px;
}

.model-card-features {
  margin: 0 0 .7rem 0;
  padding: 0;
  list-style: none;
  font-size: .97rem;
  color: #4c2464;
}

.model-card-features li {
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  gap: 7px;
}

.model-card-features i {
  font-size: 1.1rem;
  color: #ff8ea5;
  min-width: 1.5em;
}

.model-card-desc {
  font-size: .99rem;
  color: #54406b;
  min-height: 65px;
}

.model-card-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  margin-top: .6rem;
}

.model-card-badge {
  background: linear-gradient(90deg, #ffd700 40%, #f857a6 90%);
  color: #fff;
  border-radius: 1.3em;
  font-size: .91rem;
  padding: .36em 1em;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 4px;
}

.model-card-stars {
  color: #ffd700;
  font-size: 1.13rem;
  font-weight: 600;
  margin-right: 7px;
}

.model-card-views {
  font-size: .97rem;
  color: #a49bc9;
  margin-left: 3px;
}

.model-grid-section {
  background:
    url('img/bg/nightlife-waves.webp') repeat-x left top,
    linear-gradient(120deg, #2d1650 70%, #fdeaff 100%);
  border-radius: 2.5rem;
  padding: 3.7rem 0 3.5rem 0;
  margin-bottom: 3.5rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 64px #10003144, 0 2px 32px #f857a633;
}

.model-grid-section::before {
  content: '';
  position: absolute;
  top: -90px;
  left: -70px;
  width: 310px;
  height: 210px;
  background: radial-gradient(circle at 40% 55%, #ffd700 0%, #f857a6bb 60%, transparent 100%);
  opacity: 0.18;
  z-index: 1;
  pointer-events: none;
}

.model-grid-section::after {
  content: '';
  position: absolute;
  right: -120px;
  bottom: -50px;
  width: 270px;
  height: 190px;
  background: radial-gradient(circle, #8ec5fc 0%, #ffd6f3 90%, transparent 100%);
  opacity: 0.16;
  z-index: 1;
  pointer-events: none;
}

.model-grid-section h2 {
  background: linear-gradient(90deg, #f857a6 25%, #ffd700 70%, #8ec5fc 100%);
  color: transparent !important;
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 2.18rem;
  text-shadow: 0 2px 18px #ffd6f455, 0 3px 14px #29215c21;
  letter-spacing: 1.5px;
  font-family: 'Merriweather', serif;
}

.model-grid-section.nightlife-bg {
  background:
    url('img/bg/nightlife-waves.webp') repeat-x left top,
    linear-gradient(120deg, #2d1650 70%, #fdeaff 100%);
  border-radius: 2.5rem;
  padding: 3.7rem 0 3.5rem 0;
  margin-bottom: 3.5rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 64px #10003144, 0 2px 32px #f857a633;
}

.model-grid-section.nightlife-bg::before {
  content: '';
  position: absolute;
  top: -90px;
  left: -70px;
  width: 310px;
  height: 210px;
  background: radial-gradient(circle at 40% 55%, #ffd700 0%, #f857a6bb 60%, transparent 100%);
  opacity: 0.18;
  z-index: 1;
  pointer-events: none;
}

.model-grid-section.nightlife-bg::after {
  content: '';
  position: absolute;
  right: -120px;
  bottom: -50px;
  width: 270px;
  height: 190px;
  background: radial-gradient(circle, #8ec5fc 0%, #ffd6f3 90%, transparent 100%);
  opacity: 0.16;
  z-index: 1;
  pointer-events: none;
}

.model-card.nightlife-card {
  background: rgba(255, 255, 255, 0.97);
  border-radius: 1.5rem;
  box-shadow: 0 3px 32px #f857a622, 0 1px 8px #3332;
  transition: transform .18s cubic-bezier(.6, .1, .4, 1);
  position: relative;
  z-index: 2;
}

.model-card.nightlife-card:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 10px 32px #ffd70044, 0 4px 20px #f857a644;
}

.model-card-img {
  border-radius: 1.3rem 1.3rem 0 0;
  box-shadow: 0 2px 18px #ffd6f444;
}



/* content */
.luxisera-escorts-bg {
  background: linear-gradient(115deg, #171336 0%, #f857a6 55%, #8ec5fc 100%);
  background-size: 220% 220%;
  animation: moveBG 18s linear infinite alternate;
  position: relative;
  overflow: hidden;
}


.mumbai-escorts-bg {
  background: linear-gradient(115deg, #171336 0%, #f857a6 55%, #8ec5fc 100%);
  background-size: 220% 220%;
  animation: moveBG 18s linear infinite alternate;
  position: relative;
  overflow: hidden;
}

@keyframes moveBG {
  0% {
    background-position: 0% 50%;
  }

  100% {
    background-position: 100% 50%;
  }
}

.luxione-escorts-bg::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url('img/bg/nightlife-waves.webp');
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.21;
  z-index: 1;
}


.mumbai-escorts-bg::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url('img/bg/nightlife-waves.webp');
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.21;
  z-index: 1;
}

.escorts-content-main {
  position: relative;
  z-index: 2;
}

.premium-title {
  color: #f857a6;
  font-weight: 700;
  letter-spacing: .5px;
}

.icon-badge {
  font-size: 1.45rem;
  margin-right: 7px;
  color: #ffd700;
}

.premium-badge {
  background: linear-gradient(90deg, #ffd700, #f857a6);
  color: #fff;
  border-radius: 18px;
  padding: 2px 13px 2px 9px;
  font-weight: 600;
  font-size: .98rem;
}

.feature-box {
  background: #fff9fc;
  border-radius: 18px;
  box-shadow: 0 4px 26px #f857a622;
  padding: 25px 22px;
  margin-bottom: 36px;
}

.feature-icon {
  font-size: 2.1rem;
  color: #f857a6;
  margin-bottom: 12px;
}

.seo-keyword {
  color: #b8306e;
  font-weight: 700;
}

.area-list {
  column-count: 2;
  padding-left: 0;
  list-style: none;
}

.area-list li::before {
  content: '⦿ ';
  color: #f857a6;
}

blockquote {
  border-left: 4px solid #f857a6;
  padding-left: 14px;
  color: #402a5c;
  background: #ffeaf3;
  font-size: 1.13rem;
}

.star-gold {
  color: #ffd700;
  font-size: 1.15rem;
}

.section-heading {
  font-size: 2.2rem;
  font-weight: 800;
  color: #23134c;
  letter-spacing: .3px;
}



/* 9 models */
.model-card-premium {
  border-radius: 1.5em;
  background: linear-gradient(120deg, #fff 65%, #fdeaff 100%);
  box-shadow: 0 8px 36px #f857a615, 0 2px 10px #8ec5fc14;
  transition: transform .24s cubic-bezier(.4, 2, .3, .9), box-shadow .2s;
  overflow: hidden;
  position: relative;
}

.model-card-premium:hover {
  transform: translateY(-8px) scale(1.025);
  box-shadow: 0 16px 60px #f857a633, 0 2px 18px #ffd70033;
}

.model-card-img-wrap {
  overflow: hidden;
  position: relative;
}

.model-card-img {
  width: 100%;
  max-width: 100%;
  height: 390px;
  object-fit: cover;
  border-radius: 1.2em 1.2em 2em 2em;
  border-bottom: 6px solid #ffd70044;
  background: #fff9;
}

.model-card-badge-top {
  position: absolute;
  top: 18px;
  left: 14px;
  background: linear-gradient(90deg, #ffd700, #f857a6);
  color: #23134c;
  font-size: .95rem;
  font-weight: 700;
  padding: 7px 18px 7px 13px;
  border-radius: 22px;
  box-shadow: 0 2px 12px #f857a644;
  z-index: 2;
}

.model-card-body {
  padding: 1.5em 1.15em 1.2em 1.15em;
  background: #fff9;
}

.model-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #b8306e;
  letter-spacing: .5px;
  margin-bottom: 5px;
}

.model-rating {
  font-size: 1.12rem;
  display: flex;
  align-items: center;
  gap: 1px;
  font-weight: 700;
}

.model-rating .bi-star-fill {
  font-size: 1.04rem;
}

.rating-score {
  font-size: .97rem;
  color: #372062;
  margin-left: 4px;
}

.model-card-features {
  list-style: none;
  padding: 0;
  margin-bottom: 0.8em;
  font-size: .99rem;
  color: #5c257f;
}

.model-card-features li {
  margin-bottom: 4px;
}

.model-card-desc {
  font-size: 1.04rem;
  color: #6339b1;
}

.model-card-status-bar {
  margin-top: 8px;
}

.model-card-badge {
  font-size: .96rem;
  background: #f7f4fb;
  color: #402a5c;
  border-radius: 1.1em;
  padding: 5px 14px;
  display: inline-flex;
  align-items: center;
  font-weight: 500;
  box-shadow: 0 2px 9px #ffd70009;
}

.bg-gradient {
  background: linear-gradient(90deg, #f857a6, #8ec5fc) !important;
  color: #fff !important;
}





/* Rates */

.escorts-rates-section {
  background: linear-gradient(100deg, #fff6fc 60%, #eaf7fd 100%);
  border-radius: 1.5em;
  box-shadow: 0 6px 28px #ffd70019;
}

.rates-heading {
  font-size: 2.1rem;
  font-weight: 800;
  color: #38246e;
  letter-spacing: .01em;
}

.rates-intro {
  font-size: 1.13rem;
  color: #a7439e;
  font-weight: 500;
}

.rate-card {
  background: #fff;
  border-radius: 1.3em;
  box-shadow: 0 3px 16px #b8306e10;
  padding: 2.2em 1.5em 1.5em 1.5em;
  transition: transform 0.15s, box-shadow 0.15s;
  position: relative;
  border-bottom: 5px solid #f857a6;
  min-height: 410px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.rate-card:hover {
  transform: translateY(-5px) scale(1.03);
  box-shadow: 0 8px 40px #8ec5fc33;
  border-bottom: 5px solid #ffd700;
}

.featured-rate {
  border-bottom: 5px solid #ffd700;
  box-shadow: 0 8px 44px #ffd70019;
}

.rate-badge {
  font-weight: 700;
  color: #f857a6;
  background: linear-gradient(90deg, #fffbe6, #f857a6, #8ec5fc);
  border-radius: 1em;
  padding: .44em 1.1em;
  font-size: 1.09rem;
  display: inline-block;
  margin-bottom: .85em;
  letter-spacing: .03em;
}

.rate-price {
  font-size: 2.2rem;
  color: #38246e;
  font-weight: 800;
  margin-bottom: .5em;
}

.rate-price span {
  font-size: 1.2rem;
  vertical-align: top;
  color: #b8306e;
}

.rate-features {
  padding-left: 0;
  margin: 0 0 1.2em 0;
  list-style: none;
}

.rate-features li {
  margin-bottom: 9px;
  color: #7042a6;
  font-size: 1.08rem;
  display: flex;
  align-items: center;
  gap: 7px;
}

.rate-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.3em;
}

.rate-star {
  color: #ffd700;
  font-size: 1.22rem;
}

.rate-btn {
  background: linear-gradient(90deg, #f857a6, #8ec5fc);
  color: #fff;
  font-weight: 600;
  border-radius: 1.3em;
  padding: .7em 2em;
  text-decoration: none;
  font-size: 1.07rem;
  box-shadow: 0 2px 12px #8ec5fc22;
  transition: background 0.2s, color 0.2s;
  border: none;
  display: inline-block;
}

.rate-btn:hover {
  background: linear-gradient(90deg, #ffd700, #f857a6);
  color: #201050;
}

.rates-note {
  color: #bf4eaf;
  font-size: 1.01rem;
  margin-top: 2em;
}

/* booking section */
.booking-cta-section {
  background: linear-gradient(95deg, #fffbe6 60%, #f857a611 100%);
  border-radius: 1.5em;
  box-shadow: 0 6px 32px #f857a608;
  padding: 2.5em 0;
}

.booking-cta-box {
  background: #fff;
  border-radius: 1em;
  padding: 2em 1.5em;
  box-shadow: 0 2px 18px #f857a611;
  display: inline-block;
  max-width: 560px;
  margin: auto;
}

.booking-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.75em 2em;
  font-size: 1.16rem;
  border-radius: 2em;
  font-weight: 600;
  text-decoration: none;
  background: #25d366;
  color: #fff;
  transition: background 0.18s, box-shadow 0.18s;
  box-shadow: 0 2px 14px #25d36622;
  border: none;
}

.booking-cta-btn.call-btn {
  background: #6339b1;
  color: #fff;
  box-shadow: 0 2px 14px #6339b122;
}

.booking-cta-btn:hover {
  background: #1ebe5b;
  color: #fff;
  box-shadow: 0 6px 24px #25d36633;
}

.booking-cta-btn.call-btn:hover {
  background: #43216a;
}


/* fixed booking */
.fixed-contact-bar {
  position: fixed;
  top: 50%;
  right: 18px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 15px;
  transform: translateY(-50%);
}

.contact-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 16px #0001;
  font-size: 2rem;
  color: #25d366;
  transition: box-shadow 0.2s, background 0.2s, color 0.2s;
  text-decoration: none;
  border: 2.5px solid #25d366;
}

.contact-btn.call-btn {
  color: #6339b1;
  border-color: #6339b1;
}

.contact-btn:hover {
  background: #a835f0;
  box-shadow: 0 6px 22px #f857a633;
  color: #b8306e;
}

.contact-btn.whatsapp-btn:hover {
  color: #128C7E;
  background: #eafff6;
}

/* --- FIXED CONTACT BAR CSS --- */
.luxi-fixed-contact-bar {
  position: fixed;
  right: 20px;
  bottom: 150px;
  /* Updated for your request */
  display: flex;
  flex-direction: column;
  gap: 14px;
  z-index: 9999;
  background: rgba(245, 245, 255, 0.17);
  border-radius: 2em;
  box-shadow: 0 4px 22px #f857a633, 0 1px 8px #8ec5fc44;
  padding: 5px 2px;
  backdrop-filter: blur(4px);
  animation: luxiFadeInRight 1.1s cubic-bezier(.61, -0.08, .58, 1.05);
}

@keyframes luxiFadeInRight {
  from {
    opacity: 0;
    transform: translateX(40px) scale(.89);
  }

  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

.luxi-contact-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.07rem;
  font-weight: 600;
  padding: 9px 18px 9px 13px;
  /* Less padding */
  border-radius: 2.2em;
  box-shadow: 0 3px 18px #f857a633, 0 1px 5px #0001;
  background: linear-gradient(105deg, #8320e0 0%, #8c00ff 80%);
  color: #222 !important;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  border: 2px solid #fff4;
  transition:
    background 0.21s,
    box-shadow .17s,
    transform .13s,
    border .13s,
    filter .14s;
}

.luxi-whatsapp-btn {
  background: linear-gradient(97deg, #25D366 50%, #51e28b 85%, #ff0000 100%);
  color: #fff !important;
  border: 2px solid #25D36633;
  box-shadow: 0 1px 9px #25d36655, 0 1px 7px #fff1;
}

.luxi-call-btn {
  background: linear-gradient(99deg, #6a21b5 20%, #ffd900 88%);
  color: #ff0000 !important;
  border: 2px solid #ffd70033;
  box-shadow: 0 1px 9px #ffd70055, 0 1px 7px #fff1;
}

.luxi-contact-btn .bi {
  font-size: 1.22em;
  filter: drop-shadow(0 1px 4px #fff2);
  transition: filter 0.13s;
}

.luxi-contact-text {
  font-size: 0.97em;
  font-weight: 500;
  letter-spacing: .6px;
  margin-left: 1px;
  background: linear-gradient(90deg, #ffd700 12%, #f857a6 44%, #8ec5fc 80%);
  -webkit-background-clip: text;
  color: transparent;
  background-clip: text;
}

.luxi-badge-glow {
  position: absolute;
  right: 8px;
  bottom: 6px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  filter: blur(5px);
  opacity: .38;
  background: linear-gradient(110deg, #fff 30%, #ffd700 90%);
  z-index: 1;
  pointer-events: none;
  animation: luxiGlowPulse 2.6s infinite linear;
}

@keyframes luxiGlowPulse {

  0%,
  100% {
    opacity: .36;
    transform: scale(.88);
  }

  50% {
    opacity: .7;
    transform: scale(1.1);
  }
}

.luxi-contact-btn:hover,
.luxi-contact-btn:focus {
  transform: scale(1.07) translateY(-2px);
  box-shadow: 0 5px 22px #8ec5fc99, 0 2px 11px #f857a655;
  border-width: 2.2px;
  border-color: #ffd700;
  filter: brightness(1.10) drop-shadow(0 2px 7px rgba(255, 255, 255, 0.133));
  outline: none;
}

.luxi-contact-btn:active {
  transform: scale(0.95) translateY(1px);
}



/* booking */
.veluxe-booking-section {
  background: linear-gradient(135deg, #292353 0%, #000000 50%, #ff006f 100%);
  padding: 0;
  border-radius: 2.4em;
  position: relative;
  overflow: hidden;
}

.veluxe-booking-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 420px;
  padding: 3.2em 0;
}

.veluxe-booking-card {
  background: rgb(255, 255, 255);
  border-radius: 2.4em;
  box-shadow: 0 7px 38px #b8306e18, 0 2px 12px #8ec5fc22;
  padding: 2.7em 2em 2.6em 2em;
  backdrop-filter: blur(14px);
  border: 2px solid #ffeaff;
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.veluxe-booking-title {
  font-size: 2.13rem;
  font-weight: 900;
  color: #391468;
  letter-spacing: 1px;
  margin-bottom: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.veluxe-booking-title i {
  color: #f857a6;
  font-size: 1.34em;
}

.veluxe-booking-desc {
  color: #49306d;
  font-size: 1.14rem;
  line-height: 1.7;
  font-family: 'Merriweather', serif;
  margin-bottom: 2rem;
}

.veluxe-highlight {
  color: #d81b60;
  font-weight: 700;
  font-size: 1.05em;
  display: block;
  margin-top: .3em;
}

.veluxe-booking-actions {
  display: flex;
  justify-content: center;
  gap: 1.3em;
  margin-bottom: 1.4em;
  flex-wrap: wrap;
}

.veluxe-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 1.07rem;
  font-weight: 700;
  padding: 12px 26px 12px 18px;
  border-radius: 2.2em;
  text-decoration: none;
  border: none;
  outline: none;
  box-shadow: 0 3px 18px #b8306e21, 0 1px 5px #fff1;
  transition: transform .15s, box-shadow .18s, filter .13s;
  background: linear-gradient(96deg, #fffbe6 0%, #f857a6 68%, #8ec5fc 100%);
  color: #fff;
  letter-spacing: .2px;
  position: relative;
  overflow: hidden;
}

.veluxe-whatsapp {
  background: linear-gradient(90deg, #25d366 45%, #8ec5fc 90%);
}

.veluxe-call {
  background: linear-gradient(93deg, #f857a6 40%, #ffd700 88%);
}

.veluxe-btn i {
  font-size: 1.3em;
}

.veluxe-btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 2.2em;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.08) 60%, rgba(248, 87, 166, 0.12) 100%);
  opacity: 0;
  transition: opacity .22s;
  z-index: 0;
}

.veluxe-btn:hover,
.veluxe-btn:focus {
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 10px 26px #ffd70039, 0 2px 12px #8ec5fc66;
  filter: brightness(1.12);
}

.veluxe-btn:hover::after,
.veluxe-btn:focus::after {
  opacity: 1;
}

.veluxe-badges {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 2.1em;
}

.veluxe-badge {
  display: inline-flex;
  align-items: center;
  background: linear-gradient(90deg, #fffbe6, #f857a6 70%, #8ec5fc 100%);
  color: #3a1964;
  font-size: 1em;
  font-weight: 600;
  padding: 7px 15px;
  border-radius: 2em;
  box-shadow: 0 1px 8px #ffd70019;
}

.veluxe-badge i {
  margin-right: 6px;
  color: #ffd700;
}



/*disclaimer*/
.adults-positive-red {
  display: block;
  margin-top: 8px;
  color: #ffb0cc;
  font-size: 1.01rem;
  font-weight: 600;
  letter-spacing: .02em;
}

.adults-positive-red i {
  color: #27a844;
  margin-right: 3px;
}

.adults-disclaimer-red {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(92deg, #1a1a1a 0%, #b8002c 70%, #ff1a53 100%);
  color: #fff;
  border-radius: 2.2em;
  padding: 1.3em 2.3em;
  box-shadow: 0 4px 28px #ff005533;
  margin: 36px auto 18px auto;
  max-width: 100%;
  font-size: 1.11rem;
  font-family: 'Merriweather', serif;
  border: 1.5px solid #fd3163;
  gap: 20px;
  position: relative;
  z-index: 1200;
  animation: disclaimer-red-in 1.15s cubic-bezier(.34, 1.56, .64, 1);
  overflow: hidden;
}

.adults-icon-red {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
}

.icon-18plus {
  font-size: 2.15rem;
  color: #ff1744;
  text-shadow: 0 2px 7px #fd316366, 0 0 2px #fff, 0 0 3px #29292977;
  filter: drop-shadow(0 0 10px #ff2346bb);
  animation: disclaimer-red-pop 0.7s cubic-bezier(.68, -0.55, .27, 1.55);
}

.icon-alert {
  font-size: 1.42rem;
  color: #ffd700;
  filter: drop-shadow(0 0 7px #fffbe6);
}

@keyframes disclaimer-red-pop {
  0% {
    transform: scale(0.7) rotate(-10deg);
  }

  60% {
    transform: scale(1.2) rotate(8deg);
  }

  100% {
    transform: scale(1) rotate(0);
  }
}

@keyframes disclaimer-red-in {
  from {
    opacity: 0;
    transform: translateY(-19px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.adults-text-red {
  display: flex;
  flex-direction: column;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: .04em;
  margin-left: 7px;
}

.adults-link-red {
  color: #ffd700;
  text-decoration: underline;
  font-weight: 600;
  transition: color 0.2s;
  border-bottom: 1.5px solid #ff1744;
}

.adults-link-red:hover {
  color: #fd3163;
  background: #fff3;
  border-radius: 5px;
  border-bottom: 1.5px solid #fff;
}

.adults-note-red {
  display: block;
  margin-top: 7px;
  font-size: .98rem;
  color: #ffd6f3;
  letter-spacing: .03em;
}

.adults-note-red i {
  color: #ffd700;
  margin-right: 3px;
}