@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&display=swap');

* { box-sizing: border-box; margin: 0; padding: 0; }
html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; padding: 0; font-family: 'Quicksand', sans-serif; font-size: 16px; color: #f5f0f5; font-weight: 500; line-height: 1.8; background: #0d0a0e; overflow-x: hidden; }
a { text-decoration: none; transition: .5s; color: #ff4d8d; }
img { display: block; max-width: 100%; height: auto; }

.container { max-width: 1250px; padding-left: 15px; padding-right: 15px; margin-left: auto; margin-right: auto; }
.row { display: flex; flex-wrap: wrap; margin-right: -10px; margin-left: -10px; }
.col-sm-3 { flex: 0 0 auto; width: 25%; padding: 0 10px; }
.col-sm-4 { flex: 0 0 auto; width: 33.333%; padding: 0 10px; }
.col-sm-5 { flex: 0 0 auto; width: 41.666%; padding: 0 10px; }
.col-sm-7 { flex: 0 0 auto; width: 58.333%; padding: 0 10px; }
.col-sm-8 { flex: 0 0 auto; width: 66.666%; padding: 0 10px; }
.col-sm-10 { flex: 0 0 auto; width: 83.333%; padding: 0 10px; }

h1, h2, h3, h4, h5, h6 { color: #fff; font-weight: 700; line-height: 1.2; }
h1 { margin: 0 0 1.5rem; font-size: 45px; }
h2 { margin: 0 0 1.5rem; font-size: 35px; }
h3 { margin: 0 0 1.5rem; font-size: 30px; }
.mt-5 { margin-top: 3rem; }
.pt-0 { padding-top: 0; }
.pb-0 { padding-bottom: 0; }
.img-fluid { max-width: 100%; height: auto; }
.text-center { text-align: center; }

.btn { background: linear-gradient(135deg, #ff4d8d, #c42d6e); color: #fff; font-size: 16px; font-weight: 700; padding: 13px 30px; margin-top: .7rem; border-radius: 25px; border: none; cursor: pointer; display: inline-block; text-transform: uppercase; transition: .3s; }
.btn:hover { background: linear-gradient(135deg, #ff6ba3, #ff4d8d); box-shadow: 0 4px 25px rgba(255,77,141,.4); }

section { padding: 4rem 0; position: relative; }
.heading_main { margin-bottom: 3rem; text-align: left; position: relative; }
.heading { font-size: 40px; color: #fff; font-weight: 700; position: relative; line-height: 1.2; margin-bottom: 1rem; }
.sub_head { font-size: 19px; color: #ff4d8d; margin-bottom: 0.8rem; line-height: normal; position: relative; padding-left: 60px; }
.sub_head:before { content: ''; position: absolute; left: 0; top: 12px; background: #ff4d8d; height: 1px; width: 50px; }
p { margin: 0 0 1rem 0; color: #d4c4d0; }
p a, p strong { font-weight: 600; color: #ff4d8d; }

header { position: relative; z-index: 91; background: #0a070c; border-bottom: 2px solid #ff4d8d; }
header .row { align-items: center; }
.logo { display: flex; align-items: center; margin-left: .4rem; font-size: 32px; font-weight: 600; text-transform: uppercase; }
.logo a { color: #ff4d8d; }
.menu { width: 64%; margin-left: auto; }
.menu input[type=checkbox], .menu label { display: none; }
.nav_links { height: 100%; text-align: center; }
.nav_links ul { display: flex; margin: 0; padding: 0; }
.nav_links ul li { flex: 1 1 auto; list-style: none; font-size: 16px; font-weight: 600; }
.nav_links ul li a { color: #f5f0f5; padding: 30px 10px; display: inline-block; }
.nav_links ul li a:hover { color: #ff4d8d; }

footer { background: #070508; padding-top: 4rem; font-size: 15px; position: relative; color: #b0a0b0; }
.copyright { border-top: rgba(255,77,141,.2) solid 1px; padding: 1.2rem 0; margin-top: 4rem; color: #a090a0; text-align: center; }
.copyright a { color: #ff4d8d; }

.banner_bg { background: linear-gradient(180deg, #1a0a14 0%, #2d0f1f 40%, #1a0a14 100%); padding: 0; min-height: 445px; }
.banner_bg img { width: 100%; opacity: 0.85; filter: saturate(1.1); }
.blur { filter: blur(140px); z-index: -1; width: 384px; height: 399px; position: absolute; top: 71%; right: 0; transform: translateY(-50%); opacity: 0.35; pointer-events: none; background: #ff4d8d; border-radius: 50%; }

.best_bg { background: #0d0a0e; }
.casual { background: #1a1018; border: 1px solid #3a2030; border-radius: 12px; padding: 20px; box-shadow: 0 4px 20px rgba(0,0,0,.4); text-align: left; transition: 0.3s ease; }
.casual:hover { border-color: #ff4d8d; transform: translateY(-4px); box-shadow: 0 8px 30px rgba(255,77,141,.25); }
.casual img { margin: 0 auto 2rem; }
.casual h2 { margin-bottom: 0; font-size: 22px; display: flex; color: #fff; }
.casual a { margin-left: auto; margin-top: 8px; }
.casual a svg { transition: all 0.3s ease-out; }
.casual:hover svg { transform: rotate(30deg); }
.casual a path { stroke: #ff4d8d; }

.escort_bg { background: #110d12; }
.escort_bg .row { margin-left: -6px; margin-right: -6px; }
.escort_bg .col-sm-3 { padding-left: 6px; padding-right: 6px; }
.escorts { position: relative; overflow: hidden; margin-bottom: .8rem; text-align: left; transition: all 0.4s ease-in-out; border-radius: 12px; }
.escorts figure { position: relative; margin-bottom: 0; overflow: hidden; border: 3px solid #ff4d8d; border-radius: 12px 12px 0 0; }
.escorts figure img { border-radius: 0; transition-duration: 2s; }
.escorts figure:hover img { transform: scale(1.08); }
.escort_content { padding: 20px; color: #fff; background: #1a1018; border-radius: 0 0 12px 12px; }
.name { font-size: 18px; color: #fff; text-transform: uppercase; font-weight: 700; line-height: normal; margin-bottom: 10px; }
.type { color: #ff4d8d; font-size: 14px; display: flex; align-items: center; }
.type span { margin-left: auto; color: #fff; font-size: 16px; font-weight: 600; }
.available { background: #ff4d8d; padding: 5px 15px; text-align: center; color: #fff; font-weight: 700; text-transform: uppercase; }
.available span { animation: blink 1s infinite; }
@keyframes blink { 0%,100% { opacity: 1; } 50% { opacity: 0.5; } }

.content_bg { background: #0d0a0e; }
.text_pad { padding: 4rem 0; height: 100%; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; }
.text_height { display: flex; align-items: center; justify-content: center; flex-direction: column; height: 100%; }

.rate_bg { background: #110d12; }
.rate_bg .heading_main { text-align: center; }
.rate { text-align: center; border-radius: 16px; background: #1a1018; border: 1px solid #3a2030; overflow: hidden; position: relative; padding-bottom: 30px; color: #f5f0f5; }
.hrs { font-size: 22px; color: #fff; font-weight: 600; margin-bottom: 20px; padding: 14px 20px; background: linear-gradient(135deg, #ff4d8d, #a02050); }
.rate .price { font-size: 30px; position: relative; margin-bottom: 20px; font-weight: 700; color: #fff; }
.rate .price sub { font-size: 16px; font-weight: 400; color: #d4c4d0; position: relative; bottom: 10px; }
.rate ul { margin: 0 0 20px; padding: 0; }
.rate ul li { margin: 0; padding: 10px 0; list-style: none; border-top: 1px solid #3a2030; color: #d4c4d0; }
.rate ul li.no_avail { color: #7a6070; }

.category_bg { background: #1a0f18; }
.category { position: relative; padding-left: 10px; margin: 0 10px; transition: all 0.4s ease-in-out; }
.category:before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border: #ff4d8d dashed 1px; border-radius: 160px; transition: all 0.4s; }
.category:hover:before { border-style: solid; border-color: #ff4d8d; background: rgba(255,77,141,.1); }
.category a { border: 2px solid #3a2030; position: relative; overflow: hidden; border-radius: 160px; display: block; background: #1a1018; }
.category a:hover { border-color: #ff4d8d; }
.category figure { position: relative; }
.category figure img { border-radius: 7px; transition-duration: 2s; }
.category figure:hover img { transform: scale(1.08); }
.category h3 { padding: 15px 25px 20px; margin-bottom: 0; font-size: 21px; text-align: center; position: absolute; bottom: 0; left: 0; right: 0; background: rgba(26,16,24,.9); color: #fff; }

.hot_bg img { max-width: 120%; margin-top: -120px; }
.parallax_bg { background: linear-gradient(135deg, #2d0f1f, #1a0a14); position: relative; z-index: 1; text-align: center; }
.parallax_bg:before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; right: 0; background: rgba(255,77,141,.1); z-index: -1; }
.parallax_bg .heading { font-size: 45px; color: #ff4d8d; }
.parallax_bg .row { justify-content: center; }

.nowcalling { display: block; position: fixed; bottom: 0; width: 100%; z-index: 9999; }
.lcol, .rcol { float: left; width: 50%; }
.lcol { background-color: #1a1018; }
.rcol { background: linear-gradient(135deg, #ff4d8d, #c42d6e); }
.lcol a, .rcol a { display: block; padding: 12px 0; text-align: center; text-decoration: none; color: #fff; font-weight: 600; }

/* Accordion */
.panel { margin-top: 15px; overflow: hidden; }
.panel-body { padding: 15px 0; color: #d4c4d0; }
.panel-title { position: relative; }
.panel-title > a { font-size: 18px; font-weight: 600; display: flex; align-items: center; padding: 14px 35px 14px 20px; background: #1a1018; color: #fff; border-radius: 8px; word-wrap: break-word; border: 1px solid #3a2030; }
.panel-title > a.active, .panel-title > a:hover { background: linear-gradient(135deg, #ff4d8d, #c42d6e); color: #fff; border-color: transparent; }
.panel-title a:after { content: ""; position: absolute; top: calc(45% + 1px); right: 20px; border-color: #ff4d8d; border-top: 2px solid; border-right: 2px solid; width: 10px; height: 10px; transition: transform .3s; transform: rotate(45deg); transform-origin: 35%; }
.panel-title a.active:after { top: calc(47% - 8px); transform: rotate(135deg); border-color: #fff; }
.collapse { display: none; }
.collapse.in { display: block; }

/* Mobile menu */
@media (max-width: 896px) {
  .container { max-width: 100%; }
  .menu { width: auto; position: absolute; }
  .nav_links { display: none; position: fixed; top: 0; left: -100%; right: 0; background: #0a070c; padding: 0 20px; line-height: 37px; transition: all .5s ease; z-index: 999; }
  .menu input[type=checkbox] { display: none; }
  .menu :checked + .nav_links { display: block; left: 0; overflow: auto; padding-top: 20px; }
  .menu label { display: flex; background: #1a1018; border-radius: 5px; padding: 2px 5px; margin-left: 10px; }
  .menu label img { height: 35px; width: auto; }
  .menu .nav_links ul { display: block; text-align: left; }
  .menu .nav_links ul li { border-bottom: #3a2030 solid 1px; font-size: 15px; }
  .nav_links ul li a { padding: 8px 0; margin: 0; background: none; color: #f5f0f5; }
  .menu label svg { width: 17px; fill: #ff4d8d; }
  .logo { margin-left: 5rem; margin-top: .6rem; margin-bottom: .6rem; }
  h1 { font-size: 30px; }
  h2 { font-size: 27px; }
  .heading { font-size: 30px; }
  .col-sm-5, .col-sm-7 { width: 100%; }
  .best_bg .col-sm-3, .escort_bg .col-sm-3 { width: 50%; }
  .text_height { height: auto; margin-bottom: 2rem; }
  .casual { margin-bottom: 1.5rem; }
  .category { margin: 0; }
  .category h3 { font-size: 18px; }
  .rate .price { font-size: 25px; }
  .hrs { font-size: 20px; }
  .hot_bg img { max-width: 100%; margin-top: 0; }
}

@media (max-width: 736px) {
  .escort_bg .col-sm-3, .category_bg .col-sm-3 { width: 50%; margin-bottom: 1.5rem; }
  .hot_bg .col-sm-8, .hot_bg .col-sm-4 { width: 100%; }
  .rate_bg .col-sm-4 { width: 70%; }
  .rate { margin-bottom: 1.5rem; }
}

@media (max-width: 480px) {
  body { font-size: 15px; }
  .best_bg .col-sm-3 { width: 100%; }
  .type { display: block; }
  .type span { display: block; }
  .rate_bg .col-sm-4 { width: 100%; }
  .panel-title > a { font-size: 16px; }
  h1 { font-size: 25px; }
  h2, h3 { font-size: 23px; }
  .heading { font-size: 25px; }
}
footer { background: #1a1520; padding-top: 4rem; font-size: 15px; position: relative; color: #d4c4d0; }
.footer-grid { display: flex; flex-wrap: wrap; gap: 40px; margin-bottom: 2rem; }
.footer-col { flex: 1; min-width: 250px; }
.footer-col h4 { color: #fff; font-size: 20px; margin-bottom: 1.2rem; font-weight: 700; }
.footer-col p { color: #c4b4c0; line-height: 1.7; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col ul li { margin-bottom: 10px; }
.footer-col ul li a { color: #d4c4d0; }
.footer-col ul li a:hover { color: #ff4d8d; }
.copyright { border-top: 1px solid rgba(255,77,141,.2); padding: 1.5rem 0; margin-top: 2rem; color: #a090a0; text-align: center; font-size: 14px; }
.copyright a { color: #ff4d8d; }
.hero { background: #0d0a0e; padding: 4rem 0 3rem; }
.hero-grid { display: flex; align-items: center; gap: 40px; }
.hero-content { flex: 1; }
.hero-image { flex: 1; }
.hero-image img { width: 100%; height: 480px; object-fit: cover; border-radius: 8px; }
.hero-badge { color: #ff4d8d; font-size: 13px; font-weight: 600; letter-spacing: 2px; margin-bottom: 1rem; text-transform: uppercase; }
.hero h1 { font-size: 48px; line-height: 1.15; margin-bottom: 1.2rem; color: #fff; }
.hero h1 span { color: #ff4d8d; font-style: italic; }
.hero p { color: #d4c4d0; font-size: 16px; margin-bottom: 1.8rem; max-width: 520px; }
.hero-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.btn-outline { background: transparent; border: 2px solid #ff4d8d; color: #ff4d8d; padding: 12px 22px; border-radius: 4px; font-size: 14px; font-weight: 700; text-transform: uppercase; }
.btn-outline:hover { background: #ff4d8d; color: #fff; }
@media (max-width: 896px) {
  .hero-grid { flex-direction: column; }
  .hero h1 { font-size: 32px; }
  .hero-image img { height: 280px; }
  .hero-btns { flex-direction: column; }
  .btn-outline { text-align: center; }
}
.why-choose { background: #0d0a0e; padding: 4rem 0; }
.section-title { text-align: center; font-size: 32px; margin-bottom: 2.5rem; color: #fff; }
.why-grid { display: flex; gap: 30px; align-items: flex-start; }
.why-image { flex: 0 0 320px; }
.why-image img { width: 100%; border-radius: 8px; border: 2px solid #ff4d8d; }
.why-points { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.why-card { background: #1a1018; border: 1px solid #3a2030; border-radius: 8px; padding: 18px; }
.why-card h3 { font-size: 16px; color: #ff4d8d; margin-bottom: 6px; }
.why-card p { font-size: 14px; color: #d4c4d0; margin: 0; }
@media (max-width: 896px) {
  .why-grid { flex-direction: column; }
  .why-image { flex: none; width: 100%; }
  .why-points { grid-template-columns: 1fr; }
}
.price-table-section { background: #110d12; padding: 4rem 0; }
.table-note { text-align: center; color: #d4c4d0; margin-bottom: 1.5rem; }
.table-wrap { overflow-x: auto; }
.price-table { width: 100%; border-collapse: collapse; background: #1a1018; border-radius: 12px; overflow: hidden; }
.price-table th { background: #ff4d8d; color: #fff; padding: 14px 16px; text-align: left; font-weight: 600; }
.price-table td { padding: 14px 16px; border-bottom: 1px solid #3a2030; color: #f5f0f5; }
.price-table tr:last-child td { border-bottom: none; }
.table-footer { text-align: center; font-size: 13px; color: #a090a0; margin-top: 1rem; }
.testimonials { background: #0d0a0e; padding: 4rem 0; }
.rating-header { text-align: center; margin-bottom: 2.5rem; }
.big-rating { font-size: 56px; font-weight: 700; color: #ff4d8d; line-height: 1; }
.stars { color: #ffc107; font-size: 20px; margin: 6px 0; }
.rating-header p { color: #d4c4d0; }
.review-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.review-card { background: #1a1018; border: 1px solid #3a2030; border-radius: 12px; padding: 20px; }
.review-card p { font-size: 14px; color: #d4c4d0; font-style: italic; margin: 10px 0 16px; }
.reviewer strong { display: block; color: #fff; font-size: 14px; }
.reviewer span { font-size: 12px; color: #a090a0; }
@media (max-width: 896px) {
  .review-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .review-grid { grid-template-columns: 1fr; }
}
.profiles-section { background: #1a0f18; padding: 4rem 0; }
.section-sub { text-align: center; color: #d4c4d0; margin-bottom: 2rem; }
.profile-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.profile-card { background: #1a1018; border-radius: 12px; overflow: hidden; border: 1px solid #3a2030; position: relative; }
.verified-badge { position: absolute; top: 10px; left: 10px; background: #ff4d8d; color: #fff; font-size: 11px; padding: 4px 10px; border-radius: 20px; font-weight: 600; }
.profile-card img { width: 100%; height: 280px; object-fit: cover; }
.profile-info { padding: 16px; }
.profile-info h3 { margin: 0 0 6px; font-size: 18px; color: #fff; }
.tag { display: inline-block; background: rgba(255,77,141,.15); color: #ff4d8d; font-size: 12px; padding: 3px 10px; border-radius: 20px; margin-bottom: 8px; }
.profile-info p { font-size: 13px; color: #b8a8b4; margin: 0 0 12px; }
.profile-btns { display: flex; gap: 8px; }
.btn-sm { flex: 1; text-align: center; padding: 8px 0; border-radius: 6px; font-size: 13px; font-weight: 600; background: #ff4d8d; color: #fff; }
.btn-wa { background: #25d366; }
@media (max-width: 896px) {
  .profile-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .profile-grid { grid-template-columns: 1fr; }
}
.profile-card img {
  width: 100%;
  height: 420px;   /* pehle 280px tha, ab badha diya */
  object-fit: cover;
  object-position: top;
}
@media (max-width: 480px) {
  .profile-card img {
    height: 360px;
  }
}
/* Sab images pe pink border */
img {
  border: 3px solid #ff4d8d;
  border-radius: 8px;
}

/* Agar sirf specific sections pe chahiye to yeh use karo */
.profile-card img,
.escorts figure img,
.category figure img,
.hero-image img,
.why-image img {
  border: 3px solid #ff4d8d;
  border-radius: 8px;
}
.profile-card img {
  margin-top: 12px;   /* upar space */
}

/* ya phir poore card ke andar padding badha do */
.profile-info {
  padding-bottom: 8px;
}
.profile-card {
  padding: 8px;
}

.profile-card img {
  margin-top: 6px;
  border: 3px solid #ff4d8d;
  border-radius: 8px;
}
@media (max-width: 480px) {
  .profile-card img {
    height: 480px;        /* pehle se zyada */
    object-fit: cover;
    object-position: center top;
  }
}

@media (max-width: 375px) {
  .profile-card img {
    height: 520px;
  }
}
.content_bg .row,
.hot_bg .row {
  display: flex;
  align-items: center;      /* vertical center */
  gap: 30px;
}

.content_bg .col-sm-8,
.hot_bg .col-sm-8 {
  flex: 1;
}

.content_bg .col-sm-4,
.hot_bg .col-sm-4,
.hot_bg .col-sm-5 {
  flex: 0 0 380px;
}

.content_bg .col-sm-4 img,
.hot_bg .col-sm-4 img {
  width: 100%;
  height: auto;
  border: 3px solid #ff4d8d;
  border-radius: 8px;
}

/* Mobile pe stack */
@media (max-width: 896px) {
  .content_bg .row,
  .hot_bg .row {
    flex-direction: column;
  }
  .content_bg .col-sm-4,
  .hot_bg .col-sm-4 {
    flex: none;
    width: 100%;
  }
}