/* ================================================================
   GLOBAL REDESIGN v3 — Temple Gold Design System
   ALL pages: homepage, locations, categories, profiles, call girls
   ================================================================ */

/* ---- Base ---- */
body {
  background: #0e0e11 !important;
  color: #c8c3bc !important;
}

/* ---- Typography ---- */
body h1, body h2, body h3, body h4, body h5, body h6 {
  font-family: 'Plus Jakarta Sans', 'Fira Sans', sans-serif !important;
  color: #F0EDE8 !important;
  text-transform: none !important;
  font-weight: 600 !important;
}
body p {
  font-family: 'DM Sans', 'Cabin', sans-serif !important;
  color: #a09a92 !important;
  line-height: 1.7;
}
body a { color: #C9A84C !important; font-weight: 500; }
body a:hover { color: #E2CC7A !important; text-decoration: none !important; }

/* Hide old nav — lx-header in header.php replaces it */
nav { display: none !important; }
.sidenav { display: none !important; }

/* ================================================================
   HERO BANNER — Inner pages (callgirl__one)
   Used on: /location, /categories, /call-girls-bhubaneswar
   ================================================================ */

/* Hide old "What happens in the box" banner on ALL pages */
#callgirl__one {
  display: none !important;
}

/* Page titles */
.heading_font {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 600 !important;
  font-size: 30px !important;
  color: #C9A84C !important;
}

@media (max-width: 768px) {
  .heading_font { font-size: 22px !important; }
}

/* ================================================================
   BREADCRUMBS — Sleek minimal style
   ================================================================ */

.breadcrumb {
  background: rgba(255,255,255,0.02) !important;
  border: 1px solid rgba(255,255,255,0.05) !important;
  border-radius: 10px !important;
  padding: 12px 20px !important;
  margin-bottom: 24px !important;
}

.breadcrumb, .breadcrumb a, .breadcrumb li,
.loc_det_bread, .loc_det_bread li, .loc_det_bread li a {
  color: #6B6760 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

.breadcrumb a:hover, .loc_det_bread li a:hover {
  color: #C9A84C !important;
}

.breadcrumb-item.active {
  color: #c8c3bc !important;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: rgba(201,168,76,0.3) !important;
  content: "›" !important;
  font-size: 14px !important;
}

/* Remove ugly Font Awesome icons from breadcrumbs */
.breadcrumb i.fas, .breadcrumb i.fa {
  display: none !important;
}

/* ================================================================
   LOCATION & CATEGORY CARDS — Listing grids
   ================================================================ */

.location_card {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.04) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.35s cubic-bezier(0.4,0,0.2,1) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}

.location_card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(201,168,76,0.18) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,0.4), 0 0 0 1px rgba(201,168,76,0.06) !important;
}

.location_card .card-img-top {
  aspect-ratio: 16/10 !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
  filter: brightness(0.9) !important;
}

.location_card:hover .card-img-top {
  transform: scale(1.05) !important;
  filter: brightness(1) !important;
}

.location_card_body {
  background: #16161a !important;
  padding: 14px 16px !important;
  border-top: none !important;
}

.location_card_body h2,
.location_card_body .card-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #F0EDE8 !important;
  text-transform: none !important;
  margin: 0 !important;
}

/* Hide duplicate subtitle in category cards */
.location_card_body p.card-title { display: none !important; }

.card_caption {
  color: #F0EDE8 !important;
  font-size: 14px !important;
}

/* ================================================================
   DETAIL PAGES — Location & Category content
   ================================================================ */

.loc-details, .cat-details {
  padding-top: 16px !important;
}

.loc-details h1, .cat-details h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  color: #C9A84C !important;
  font-weight: 600 !important;
  font-size: 32px !important;
  margin-bottom: 20px !important;
}

.loc-details h2, .cat-details h2 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: #C9A84C !important;
  font-weight: 600 !important;
  font-size: 22px !important;
}

.loc-details p, .cat-details p {
  color: #a09a92 !important;
  line-height: 1.8 !important;
  font-size: 15px !important;
}

.loc-details a, .cat-details a {
  color: #C9A84C !important;
}
.loc-details a:hover, .cat-details a:hover {
  color: #E2CC7A !important;
}

/* "Girls available in..." heading */
.loc-details h2.h6, .cat-details h2.h6,
h2.h6.text-danger, h3.h6.text-danger, h3.h6 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #F0EDE8 !important;
  text-transform: none !important;
  margin-top: 40px !important;
  margin-bottom: 20px !important;
  text-align: left !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(201,168,76,0.1) !important;
}

/* ================================================================
   PROFILE CARDS — Inside detail pages
   ================================================================ */

.bg-lbrown, .card.bg-lbrown {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.04) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
}

.bg-lbrown:hover, .card.bg-lbrown:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(201,168,76,0.12) !important;
  box-shadow: 0 10px 32px rgba(0,0,0,0.35) !important;
}

.bg-lbrown .card-footer,
.card-footer.bg-dark,
.card-footer.bg-transparent {
  background: #16161a !important;
  border-top: 1px solid rgba(255,255,255,0.03) !important;
  padding: 10px 12px !important;
}

.bg-lbrown .card-body.pimg img,
.loc_det_img {
  aspect-ratio: 3/4 !important;
  object-fit: cover !important;
  width: 100% !important;
  transition: transform 0.5s ease, filter 0.3s ease !important;
  filter: brightness(0.92) !important;
}

.bg-lbrown:hover img {
  transform: scale(1.04) !important;
  filter: brightness(1) !important;
}

/* Location badge on cards */
.bottomleft {
  position: absolute !important;
  bottom: 8px !important; left: 8px !important;
  background: rgba(0,0,0,0.65) !important;
  backdrop-filter: blur(8px) !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 10px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 500 !important;
  color: #c8c3bc !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

/* Card name */
.card-caption, .bg-lbrown h2.h6, .bg-lbrown h4.h6 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #F0EDE8 !important;
}

/* Rating */
.bg-lbrown .text-warning { color: #C9A84C !important; }

/* Category text */
.bg-lbrown .d-inline-flex,
.bg-lbrown .card-footer p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  color: #807b74 !important;
}

/* Border between category and rating */
.border-mum, .border-bottom.border-mum {
  border-color: rgba(255,255,255,0.04) !important;
}

/* No Girls Found */
.no_girl {
  font-family: 'DM Sans', sans-serif;
  color: #6B6760; text-align: center;
  padding: 48px; width: 100%; font-size: 15px;
}

/* ================================================================
   "OTHER LOCATIONS/CATEGORIES" Section
   ================================================================ */

.other-cat {
  margin-top: 48px;
  padding-top: 36px;
  border-top: 1px solid rgba(201,168,76,0.06);
}

.other-cat h3 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #F0EDE8 !important;
  margin-bottom: 24px !important;
}

.buvaneswar_body {
  background: #16161a !important;
  padding: 10px 12px !important;
}

.buvaneswar_body h2 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  color: #a09a92 !important;
  text-transform: none !important;
}

/* ================================================================
   PROFILE DETAIL PAGE
   ================================================================ */

.card-profile, .card.card-profile {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.04) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.3) !important;
  overflow: hidden !important;
}

.card-profile .card-img-top {
  opacity: 0.6;
  object-fit: cover;
  max-height: 280px;
  filter: brightness(0.6);
}

.card-profile-image img {
  border: 3px solid rgba(201,168,76,0.25) !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.5) !important;
}

/* Profile name */
.card-profile h1.h5, .card-profile .text-theme-1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
}

/* Profile stats */
.card-profile-stats > div {
  background: rgba(201,168,76,0.04);
  border-radius: 10px;
  border: 1px solid rgba(201,168,76,0.08);
  padding: 12px 16px !important;
}

.card-profile-stats .heading {
  color: #C9A84C !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 18px !important;
}

.card-profile-stats .description {
  color: #6B6760 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

/* Profile CTA buttons */
.card-profile .btn-light,
.card-profile .btn-sm.btn-light {
  background: #C9A84C !important;
  color: #0e0e11 !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 8px 20px !important;
  transition: all 0.2s ease !important;
}
.card-profile .btn-light:hover {
  background: #E2CC7A !important;
  transform: translateY(-1px) !important;
}

.card-profile .btn-danger,
.card-profile .btn-sm.btn-danger {
  background: #25D366 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 8px 20px !important;
}

/* Gallery header */
.bg-theme-1, .card-header.bg-theme-1 {
  background: rgba(201,168,76,0.08) !important;
  color: #C9A84C !important;
  border: none !important;
  border-bottom: 1px solid rgba(201,168,76,0.1) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 14px 18px !important;
  border-radius: 10px 10px 0 0 !important;
}

/* Details list */
.list-group-item.bg-theme-1 {
  background: rgba(201,168,76,0.08) !important;
  color: #C9A84C !important;
  border: none !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

.list-group-item.bg-lbrown {
  background: #16161a !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.03) !important;
  color: #c8c3bc !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  padding: 12px 16px !important;
}

.list-group-item .opacity-5 {
  color: #6B6760 !important;
  font-size: 12px !important;
}

.list-group-item .text-warning {
  color: #C9A84C !important;
}

/* Price table */
.table {
  color: #c8c3bc !important;
  font-family: 'DM Sans', sans-serif !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.table thead th {
  background: rgba(201,168,76,0.06) !important;
  color: #C9A84C !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  border: none !important;
  padding: 12px 16px !important;
}

.table td {
  border-color: rgba(255,255,255,0.03) !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
}

.table.bg-lbrown {
  border-radius: 0 0 10px 10px !important;
  overflow: hidden !important;
}

/* Reviews */
.review_txt {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  color: #c8c3bc !important;
  font-size: 15px !important;
}

.rev-data {
  background: rgba(255,255,255,0.015);
  border-radius: 10px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,0.03);
}

.testimonial {
  border-color: rgba(255,255,255,0.04) !important;
}

.testimonial p {
  font-style: italic !important;
  color: #9B9790 !important;
}

/* Review form */
.form-control.bg-dark {
  background: #1a1a1f !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 8px !important;
  color: #c8c3bc !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: border-color 0.2s ease !important;
}

.form-control.bg-dark:focus {
  border-color: rgba(201,168,76,0.3) !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.06) !important;
}

/* Review submit button */
input[type="submit"].bg-theme-1,
.btn.bg-theme-1 {
  background: #C9A84C !important;
  color: #0e0e11 !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 8px 20px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
input[type="submit"].bg-theme-1:hover,
.btn.bg-theme-1:hover {
  background: #E2CC7A !important;
}

/* "Other profiles you may like" */
.card-footer.bg-dark {
  background: #16161a !important;
  border-top: 1px solid rgba(255,255,255,0.03) !important;
}

.profiles_h4_text {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: #c8c3bc !important;
}

/* Profile gallery images */
.card-profile .rounded {
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.04) !important;
  transition: all 0.3s ease !important;
}

.card-profile .rounded:hover {
  border-color: rgba(201,168,76,0.15) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important;
}

/* ================================================================
   FOOTER
   ================================================================ */

footer {
  background: #0a0a0d !important;
  border-top: 1px solid rgba(201,168,76,0.06) !important;
  margin-top: 0 !important;
}

.footer__links a {
  color: #6B6760 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
}
.footer__links a:hover { color: #C9A84C !important; }

.footer__social_icons .fa-twitter,
.footer__social_icons .fa-instagram,
.footer__social_icons .fa-pinterest {
  background: rgba(201,168,76,0.08) !important;
  color: #C9A84C !important;
  border-radius: 8px !important;
  padding: 8px !important;
  transition: all 0.2s ease !important;
}
.footer__social_icons .fa-twitter:hover,
.footer__social_icons .fa-instagram:hover {
  background: #C9A84C !important;
  color: #0e0e11 !important;
}

/* ================================================================
   FLOATING BUBBLES & SCROLL TOP
   ================================================================ */

.scroll-top {
  right: 20px !important; left: auto !important;
  bottom: 80px !important;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}
.scroll-top:hover { opacity: 1; }

.contact-bubble {
  box-shadow: 0 4px 20px rgba(0,0,0,0.35) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  width: 48px !important; height: 48px !important;
  font-size: 20px !important;
  border-radius: 12px !important;
}

@media (max-width: 768px) {
  .floating-contact-wrap {
    bottom: 16px !important; left: 8px !important;
  }
  .contact-bubble {
    width: 38px !important; height: 38px !important;
    font-size: 16px !important; border-radius: 10px !important;
  }
}

/* ================================================================
   GLOBAL POLISH
   ================================================================ */

::selection {
  background: rgba(201,168,76,0.2);
  color: #F0EDE8;
}

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #0e0e11; }
::-webkit-scrollbar-thumb { background: rgba(201,168,76,0.15); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(201,168,76,0.3); }

/* 5-col grid */
.col-lg-5-cols { flex: 0 0 20% !important; max-width: 20% !important; }

@media (max-width: 992px) {
  .col-lg-5-cols { flex: 0 0 25% !important; max-width: 25% !important; }
}

@media (max-width: 768px) {
  .col-lg-5-cols { flex: 0 0 50% !important; max-width: 50% !important; }
}

/* Container max-width consistency */
.container {
  max-width: 1200px !important;
}

/* Generic card fixes — exclude our custom cards */
.card:not(.location_card):not(.escort-card):not(.video-card):not(.gallery_one) {
  border: none !important;
  background: transparent !important;
}

/* FAQ sections on inner pages */
.loc-faq-item, .cg-faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}

/* ================================================================
   PROFILE CARDS — Homepage + Call Girls page
   Shared card component: .gallery_one.card
   ================================================================ */

.gallery_one.card {
  background: #1a1a1f !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.3) !important;
  padding: 0 !important;
}

.gallery_one.card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,0.5), 0 0 0 1px rgba(201,168,76,0.15) !important;
  border-color: rgba(201,168,76,0.2) !important;
}

/* Image area */
.gallery_two.card-img {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 10px 10px 0 0 !important;
  aspect-ratio: 3/4 !important;
  background: #111114 !important;
}

.gallery_two.card-img a {
  display: block !important;
  height: 100% !important;
}

.gallery_two.card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
  filter: brightness(0.95) !important;
}

.gallery_one.card:hover .gallery_two.card-img img {
  transform: scale(1.05) !important;
  filter: brightness(1) !important;
}

/* Gradient overlay */
.layer {
  background: linear-gradient(
    180deg,
    transparent 30%,
    rgba(15,15,18,0.3) 55%,
    rgba(15,15,18,0.85) 85%,
    rgba(15,15,18,0.95) 100%
  ) !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Text overlay on image */
.gallery_three {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 14px !important;
  z-index: 2 !important;
}

.gallery_three h2 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #F0EDE8 !important;
  margin-bottom: 2px !important;
  line-height: 1.3 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
  text-transform: none !important;
}

.gallery_three p,
.gallery_three .gallery_three__p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  color: #9B9790 !important;
  margin-bottom: 4px !important;
  text-transform: none !important;
  line-height: 1.4 !important;
}

/* Badges */
.badge-verified, .cg-badge-verified {
  display: inline-block; background: rgba(76,175,125,0.12); color: #4CAF7D;
  border: 1px solid rgba(76,175,125,0.4); font-size: 10px; padding: 3px 7px;
  border-radius: 4px; font-weight: 700; backdrop-filter: blur(6px);
  letter-spacing: 0.03em;
}
.badge-popular, .cg-badge-popular, .cg-badge-premium {
  display: inline-block; background: rgba(201,168,76,0.12); color: #C9A84C;
  border: 1px solid rgba(201,168,76,0.4); font-size: 10px; padding: 3px 7px;
  border-radius: 4px; font-weight: 700; backdrop-filter: blur(6px);
  letter-spacing: 0.03em;
}
.badge-featured, .cg-badge-featured {
  display: inline-block; background: rgba(232,114,90,0.12); color: #E8725A;
  border: 1px solid rgba(232,114,90,0.4); font-size: 10px; padding: 3px 7px;
  border-radius: 4px; font-weight: 700; backdrop-filter: blur(6px);
  letter-spacing: 0.03em;
}
.badge-new, .cg-badge-new {
  display: inline-block; background: rgba(37,211,102,0.12); color: #25D366;
  border: 1px solid rgba(37,211,102,0.4); font-size: 10px; padding: 3px 7px;
  border-radius: 4px; font-weight: 700; backdrop-filter: blur(6px);
  letter-spacing: 0.03em;
}

/* WhatsApp card button — works for both .btn-wa-card and .cg-btn-wa */
.btn-wa-card, .cg-btn-wa {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  width: calc(100% - 16px); margin: 8px auto 10px; padding: 9px 0;
  background: rgba(37,211,102,0.12); color: #25D366 !important;
  border: 1px solid rgba(37,211,102,0.25); border-radius: 7px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px; font-weight: 600; text-decoration: none !important;
  transition: all 0.25s ease; letter-spacing: 0.02em;
}
.btn-wa-card:hover, .cg-btn-wa:hover {
  background: #25D366; color: #fff !important; border-color: #25D366;
  transform: translateY(-1px); box-shadow: 0 4px 16px rgba(37,211,102,0.25);
}

/* Profile card mobile */
@media (max-width: 640px) {
  .gallery_three h2 { font-size: 13px !important; }
  .gallery_three p { font-size: 10px !important; }
  .gallery_three { padding: 10px !important; }
  .btn-wa-card, .cg-btn-wa { font-size: 11px; padding: 7px 0; }
  .badge-verified, .badge-popular, .badge-featured, .badge-new,
  .cg-badge-verified, .cg-badge-popular, .cg-badge-featured, .cg-badge-new, .cg-badge-premium {
    font-size: 9px; padding: 2px 5px;
  }
}

/* No text-danger anywhere — override to gold */
.text-danger {
  color: #C9A84C !important;
}

/* No text-warning headings — override to gold */
h1.text-warning, .text-warning.font-weight-bold {
  color: #C9A84C !important;
}

/* Home two section bg */
#home-two {
  background: #0e0e11 !important;
}

/* ================================================================
   PRICING PAGE v2 — Complete Redesign
   ================================================================ */

/* Grid */
.px-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}

@media (max-width: 992px) {
  .px-grid { grid-template-columns: 1fr; max-width: 420px; }
}

/* ── Card Shell ── */
.px-card {
  position: relative;
  border-radius: 20px;
  overflow: visible;
  transition: transform 0.4s cubic-bezier(.4,0,.2,1), box-shadow 0.4s ease;
}

.px-card:hover {
  transform: translateY(-8px);
}

.px-card-inner {
  position: relative;
  z-index: 1;
  background: #131316;
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 20px;
  padding: 36px 28px 28px;
  text-align: center;
  overflow: hidden;
}

/* Animated glow behind card */
.px-card-glow {
  position: absolute;
  inset: -1px;
  border-radius: 21px;
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
}

.px-card:hover .px-card-glow { opacity: 1; }

.px-silver .px-card-glow {
  background: linear-gradient(135deg, rgba(180,180,190,0.12), rgba(180,180,190,0.03));
}
.px-gold .px-card-glow {
  background: linear-gradient(135deg, rgba(201,168,76,0.2), rgba(201,168,76,0.04));
}
.px-platinum .px-card-glow {
  background: linear-gradient(135deg, rgba(180,200,220,0.15), rgba(180,200,220,0.03));
}

/* ── Featured (Gold) — always elevated ── */
.px-featured {
  transform: scale(1.04);
  z-index: 2;
}
.px-featured:hover {
  transform: scale(1.04) translateY(-8px);
}
.px-featured .px-card-inner {
  border-color: rgba(201,168,76,0.2);
  box-shadow:
    0 0 60px rgba(201,168,76,0.06),
    0 20px 60px rgba(0,0,0,0.3);
}
.px-featured .px-card-glow {
  opacity: 1;
}

/* ── Badge ── */
.px-badge {
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  padding: 5px 20px;
  background: linear-gradient(135deg, #C9A84C, #b5933d);
  color: #0e0e11;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: 999px;
  white-space: nowrap;
  box-shadow: 0 4px 16px rgba(201,168,76,0.3);
}

.px-badge-elite {
  background: linear-gradient(135deg, #a0b8d0, #7a9abb) !important;
  color: #0e0e11 !important;
  box-shadow: 0 4px 16px rgba(160,184,208,0.25) !important;
}

/* ── Tier strip — decorative top accent ── */
.px-tier-strip {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  z-index: 2;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}

.px-silver .px-tier-strip { background: linear-gradient(90deg, transparent 10%, #888 50%, transparent 90%); }
.px-gold .px-tier-strip   { background: linear-gradient(90deg, transparent 5%, #C9A84C 50%, transparent 95%); }
.px-platinum .px-tier-strip { background: linear-gradient(90deg, transparent 10%, #a0b8d0 50%, transparent 90%); }

.px-tier-icon {
  display: none; /* icons now inside the card body */
}

/* ── Tier label ── */
.px-tier-label {
  display: block;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
}

.px-silver .px-tier-label { color: #999; }
.px-gold .px-tier-label   { color: #C9A84C; }
.px-platinum .px-tier-label { color: #a0b8d0; }

/* ── Price ── */
.px-price-wrap {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  margin-bottom: 4px;
}

.px-currency {
  font-size: 22px;
  font-weight: 600;
}

.px-silver .px-currency { color: #777; }
.px-gold .px-currency   { color: #C9A84C; }
.px-platinum .px-currency { color: #a0b8d0; }

.px-amount {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}

.px-silver .px-amount { color: #d0d0d0; }
.px-gold .px-amount   { color: #F0EDE8; }
.px-platinum .px-amount { color: #e4ecf4; }

.px-duration {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: #6B6760;
  margin-bottom: 4px;
}

/* ── Divider ── */
.px-divider {
  height: 1px;
  margin: 20px 0;
  border: none;
}

.px-silver .px-divider { background: linear-gradient(90deg, transparent, rgba(150,150,160,0.15), transparent); }
.px-gold .px-divider   { background: linear-gradient(90deg, transparent, rgba(201,168,76,0.2), transparent); }
.px-platinum .px-divider { background: linear-gradient(90deg, transparent, rgba(160,184,208,0.15), transparent); }

/* ── Feature list ── */
.px-features {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  text-align: left;
}

.px-features li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: #9B9790;
  border-bottom: 1px solid rgba(255,255,255,0.025);
}

.px-features li:last-child {
  border-bottom: none;
}

.px-feat-icon {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 10px;
  flex-shrink: 0;
}

.px-silver .px-feat-icon {
  background: rgba(150,150,160,0.08);
  color: #888;
}
.px-gold .px-feat-icon {
  background: rgba(201,168,76,0.08);
  color: #C9A84C;
}
.px-platinum .px-feat-icon {
  background: rgba(160,184,208,0.08);
  color: #a0b8d0;
}

/* Bonus feature highlight */
.px-feat-bonus {
  color: #c8c3bc !important;
  font-weight: 600;
}

.px-feat-bonus-icon {
  background: rgba(201,168,76,0.15) !important;
  color: #C9A84C !important;
}

/* ── CTA Button ── */
.px-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 14px 24px;
  border-radius: 12px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(.4,0,.2,1);
  cursor: pointer;
}

.px-silver .px-cta {
  background: rgba(150,150,160,0.06) !important;
  color: #c8c3bc !important;
  border: 1px solid rgba(150,150,160,0.15) !important;
}
.px-silver .px-cta:hover {
  background: #c8c3bc !important;
  color: #0e0e11 !important;
  border-color: #c8c3bc !important;
  box-shadow: 0 4px 20px rgba(200,195,188,0.15);
}

.px-gold .px-cta {
  background: linear-gradient(135deg, #C9A84C, #b5933d) !important;
  color: #0e0e11 !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(201,168,76,0.2);
}
.px-gold .px-cta:hover {
  background: linear-gradient(135deg, #E2CC7A, #C9A84C) !important;
  box-shadow: 0 8px 28px rgba(201,168,76,0.3);
  transform: translateY(-2px);
}

.px-platinum .px-cta {
  background: rgba(160,184,208,0.06) !important;
  color: #a0b8d0 !important;
  border: 1px solid rgba(160,184,208,0.2) !important;
}
.px-platinum .px-cta:hover {
  background: #a0b8d0 !important;
  color: #0e0e11 !important;
  border-color: #a0b8d0 !important;
  box-shadow: 0 4px 20px rgba(160,184,208,0.15);
}

/* ── Hover shadows per tier ── */
.px-silver:hover .px-card-inner {
  box-shadow: 0 16px 48px rgba(0,0,0,0.3);
  border-color: rgba(150,150,160,0.12);
}
.px-gold:hover .px-card-inner {
  box-shadow: 0 20px 60px rgba(0,0,0,0.35), 0 0 40px rgba(201,168,76,0.06);
  border-color: rgba(201,168,76,0.25);
}
.px-platinum:hover .px-card-inner {
  box-shadow: 0 16px 48px rgba(0,0,0,0.3);
  border-color: rgba(160,184,208,0.15);
}

/* ── Comparison Table ── */
.px-compare-card {
  background: #131316;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 16px;
  overflow: hidden;
}

.px-compare-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  padding: 20px 24px !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}

.px-compare-table-wrap {
  overflow-x: auto;
}

.px-compare-table {
  width: 100%;
  border-collapse: collapse;
}

.px-compare-table thead th {
  padding: 14px 20px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #807b74;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  text-align: center;
}

.px-compare-table thead th:first-child {
  text-align: left;
  color: #9B9790;
}

.px-compare-table tbody td {
  padding: 12px 20px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: #9B9790;
  border-bottom: 1px solid rgba(255,255,255,0.025);
  text-align: center;
}

.px-compare-table tbody td:first-child {
  text-align: left;
  font-weight: 500;
  color: #c8c3bc;
}

.px-compare-table tbody tr:last-child td {
  border-bottom: none;
  font-weight: 700;
  color: #F0EDE8;
  font-size: 15px;
}

.px-compare-table tbody tr:last-child td .fa-inr {
  color: #C9A84C;
}

/* Highlighted Gold column */
.px-compare-highlight {
  background: rgba(201,168,76,0.03) !important;
}

.px-compare-table thead .px-compare-highlight {
  color: #C9A84C !important;
}

.px-tbl-yes { color: #4CAF7D !important; font-size: 13px; }
.px-tbl-no  { color: #4a4540 !important; font-size: 13px; }

/* ── Mobile tweaks ── */
@media (max-width: 992px) {
  .px-featured { transform: scale(1); }
  .px-featured:hover { transform: translateY(-8px); }
  .px-amount { font-size: 44px; }
}

@media (max-width: 480px) {
  .px-card-inner { padding: 28px 20px 22px; }
  .px-amount { font-size: 38px; }
  .px-features li { font-size: 13px; padding: 8px 0; }
  .px-cta { font-size: 12px; padding: 12px 20px; }
}

/* Animation */
.px-card {
  animation: fadeInUp 0.5s ease-out both;
}
.px-card:nth-child(2) { animation-delay: 0.1s; }
.px-card:nth-child(3) { animation-delay: 0.2s; }

/* ================================================================
   VIDEOS PAGE
   ================================================================ */

/* Video cards */
.col-lg-3.col-md-4 .card,
.col-lg-3.col-md-4 > a {
  border-radius: 12px !important;
  overflow: hidden !important;
}

.col-lg-3.col-md-4 img {
  border-radius: 12px !important;
  transition: all 0.3s ease !important;
  border: 1px solid rgba(255,255,255,0.04) !important;
}

.col-lg-3.col-md-4 img:hover {
  transform: scale(1.03) !important;
  border-color: rgba(201,168,76,0.15) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.35) !important;
}

/* Video modal */
.modal-content {
  background: #16161a !important;
  border: 1px solid rgba(201,168,76,0.1) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

.modal-footer {
  background: #16161a !important;
  border-top: 1px solid rgba(255,255,255,0.04) !important;
}

.modal-footer span {
  color: #9B9790 !important;
  font-family: 'DM Sans', sans-serif !important;
}

.modal-footer .btn {
  background: rgba(201,168,76,0.08) !important;
  color: #C9A84C !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  border-radius: 8px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important; font-weight: 600 !important;
}

/* ================================================================
   CONTACT PAGE
   ================================================================ */

#contact-us {
  padding: 20px 0;
}

/* Form inputs — scoped to contact and vacancy pages */
#contact-us .form-control,
.md-form .form-control {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 10px !important;
  color: #c8c3bc !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  padding: 12px 16px !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

#contact-us .form-control:focus,
.md-form .form-control:focus {
  border-color: rgba(201,168,76,0.35) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.06) !important;
  background: #1a1a1f !important;
}

#contact-us textarea.form-control {
  min-height: 120px !important;
  resize: vertical !important;
}

#contact-us label {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important; font-weight: 600 !important;
  color: #807b74 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 6px !important;
}

/* Submit button — scoped */
#contact-us .contact_input_btn,
#contact-us input[type="submit"] {
  background: rgba(201,168,76,0.08) !important;
  color: #C9A84C !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  border-radius: 10px !important;
  padding: 12px 32px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important; font-size: 13px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

#contact-us .contact_input_btn:hover,
#contact-us input[type="submit"]:hover {
  background: #C9A84C !important; color: #0e0e11 !important;
  border-color: #C9A84C !important;
}

/* Contact info section */
.view_contact_address {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.04) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
}

.view_contact_address span,
.view_contact_address a {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 16px !important;
  color: #C9A84C !important;
}

.view_contact_address address {
  font-family: 'DM Sans', sans-serif !important;
  color: #9B9790 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* Override btn-warning — scoped to contact/vacancy */
.view_contact_address .btn-warning,
#contact-us .btn-warning {
  background: rgba(201,168,76,0.1) !important;
  color: #C9A84C !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  border-radius: 8px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
}

.view_contact_address .btn-warning:hover,
#contact-us .btn-warning:hover {
  background: #C9A84C !important; color: #0e0e11 !important;
}

/* ================================================================
   LOCATION LISTING PAGE — Enhanced cards
   ================================================================ */

/* Location card body */
.location_card .card-body.location_card_body {
  background: #16161a !important;
  padding: 14px 16px !important;
}

/* ================================================================
   VACANCY PAGE
   ================================================================ */

/* MD form inputs */
.md-form.md-outline input,
.md-form.md-outline textarea {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 10px !important;
  color: #c8c3bc !important;
  font-family: 'DM Sans', sans-serif !important;
  padding: 12px 16px !important;
}

.md-form.md-outline input:focus,
.md-form.md-outline textarea:focus {
  border-color: rgba(201,168,76,0.35) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.06) !important;
}

.md-form.md-outline label {
  color: #807b74 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* File upload */
.custom-file-label {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 10px !important;
  color: #807b74 !important;
  font-family: 'DM Sans', sans-serif !important;
}

.custom-file-label::after {
  background: rgba(201,168,76,0.08) !important;
  color: #C9A84C !important;
  border-left: 1px solid rgba(255,255,255,0.06) !important;
}

/* Vacancy heading */
.font-weight-bold.text-warning {
  color: #C9A84C !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 28px !important;
}

/* ================================================================
   BLOG PAGES
   ================================================================ */

/* Blog cards only */
.view_home_threeee .card.bg-black.border-dark {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.04) !important;
  border-radius: 12px !important;
}

/* ================================================================
   GLOBAL OVERRIDES — Bootstrap components
   ================================================================ */

/* Alerts */
.alert { border-radius: 10px !important; }

/* DO NOT override generic .card — it breaks everything */

/* Z-depth shadow class */
.z-depth-1, .z-depth-1-half {
  box-shadow: 0 4px 20px rgba(0,0,0,0.3) !important;
}

/* HR dividers */
hr {
  border-color: rgba(201,168,76,0.08) !important;
}

/* Bootstrap badge overrides */
.badge-warning { background: rgba(201,168,76,0.12) !important; color: #C9A84C !important; }
.badge-danger { background: rgba(232,114,90,0.12) !important; color: #E8725A !important; }
.badge-success { background: rgba(76,175,125,0.12) !important; color: #4CAF7D !important; }

/* Dropdown menus */
.dropdown-menu {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 10px !important;
}

.dropdown-item {
  color: #c8c3bc !important;
  font-family: 'DM Sans', sans-serif !important;
}

.dropdown-item:hover {
  background: rgba(201,168,76,0.06) !important;
  color: #C9A84C !important;
}

/* Page descriptions — only on listing pages with intro text */

/* ================================================================
   INNER PAGE TOP SPACING — Replaces old callgirl__one hero
   ================================================================ */

/* Location listing page */
.callgirl__two,
.callgirl__two__on {
  background: #0e0e11 !important;
}

/* Page title containers on inner pages — add top border accent */
.container.mt-5 > .row > .mx-auto.text-center {
  padding-top: 12px;
}

/* The h1 heading_font already styled above */

/* Intro text on listing pages */
.container.mt-5 + .container .col-lg-10 p,
.container.mt-3.mb-4 .col-lg-10 p {
  font-size: 15px !important;
  color: #8a8580 !important;
  line-height: 1.8 !important;
}

/* ================================================================
   CALL GIRLS PAGE — Enhanced
   ================================================================ */

/* Badge styles on call girls page */
.cg-badge-verified, .cg-badge-popular, .cg-badge-featured,
.cg-badge-new, .cg-badge-premium {
  backdrop-filter: blur(6px) !important;
  letter-spacing: 0.03em !important;
}


/* ================================================================
   ENHANCED HOVER & INTERACTION EFFECTS
   ================================================================ */

/* Location/Category listing cards — richer hover */
.location_card {
  position: relative !important;
}

.location_card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, #C9A84C, transparent) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  z-index: 2 !important;
  border-radius: 12px 12px 0 0 !important;
}

.location_card:hover::before {
  opacity: 1 !important;
}

/* Profile cards in detail pages — gold top line on hover */
.bg-lbrown {
  position: relative !important;
}

.card.bg-lbrown::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent 10%, #C9A84C 50%, transparent 90%) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  z-index: 2 !important;
}

.card.bg-lbrown:hover::before {
  opacity: 1 !important;
}

/* Image overlay gradient on all cards */
.location_card .card-img-top,
.bg-lbrown .pimg img {
  position: relative !important;
}

/* Profile detail — gallery image hover */
.card-profile .col-6 img,
.card-profile .col-lg-4 img {
  border-radius: 10px !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}

.card-profile .col-6 img:hover,
.card-profile .col-lg-4 img:hover {
  transform: scale(1.03) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4), 0 0 0 1px rgba(201,168,76,0.12) !important;
}

/* Button hover lifts */
.btn, button {
  transition: all 0.25s ease !important;
}

/* Smooth link transitions everywhere */
a {
  transition: color 0.2s ease !important;
}

/* Card footer text hover */
.bg-lbrown .card-caption:hover,
.bg-lbrown h2.h6:hover {
  color: #C9A84C !important;
}

/* ================================================================
   PROFILE DETAIL — ENHANCED LAYOUT
   ================================================================ */

/* Profile card header buttons row */
.card-profile .card-header {
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  padding: 16px 24px !important;
}

/* About section */
.card-body .opacity-5 {
  color: #9B9790 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

/* Review stars */
.rating .fa-star {
  color: #C9A84C !important;
  font-size: 14px !important;
}

/* Review quote icon */
.fa-quote-left {
  color: rgba(201,168,76,0.3) !important;
  font-size: 16px !important;
}

/* Other profiles section title */
.container h3.text-white {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 24px !important;
  color: #F0EDE8 !important;
  font-weight: 600 !important;
  margin-bottom: 24px !important;
}

/* Other profiles cards */
.container .col-md-4.col-lg-3 .card {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.04) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}

.container .col-md-4.col-lg-3 .card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(201,168,76,0.12) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.35) !important;
}

.container .col-md-4.col-lg-3 .card .card-footer {
  background: #16161a !important;
  border-top: 1px solid rgba(255,255,255,0.03) !important;
}

/* ================================================================
   FAQ SECTIONS — Enhanced on all pages
   ================================================================ */

.faq-item, .loc-faq-item, .cg-faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  transition: background 0.2s ease;
}

.faq-item:hover, .loc-faq-item:hover, .cg-faq-item:hover {
  background: rgba(201,168,76,0.02);
}

.faq-question, .loc-faq-q, .cg-faq-q {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* ================================================================
   RESPONSIVE — Mobile polish
   ================================================================ */

@media (max-width: 768px) {
  .card-profile-stats > div {
    padding: 8px 10px !important;
    margin-right: 6px !important;
  }

  .card-profile-stats .heading {
    font-size: 14px !important;
  }

  .card-profile h1.h5 {
    font-size: 22px !important;
  }

  .list-group-item.bg-lbrown {
    font-size: 13px !important;
    padding: 10px 12px !important;
  }

  .table td, .table th {
    padding: 8px 10px !important;
    font-size: 13px !important;
  }

  .other-cat h3 {
    font-size: 16px !important;
  }
}

/* ================================================================
   GLOBAL ANIMATION — Subtle page load
   ================================================================ */

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

.loc-details, .cat-details, .card-profile {
  animation: fadeInUp 0.4s ease-out;
}

/* Smooth scroll */
html {
  scroll-behavior: smooth !important;
}

/* ================================================================
   INNER PAGE HERO — Used on all listing/info pages
   ================================================================ */

.inner-hero {
  background: #0e0e11;
  padding: 48px 0 40px;
  border-bottom: 1px solid rgba(201,168,76,0.06);
}

.inner-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}

.inner-hero-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}

.inner-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  background: rgba(201,168,76,0.05);
  border: 1px solid rgba(201,168,76,0.15);
  border-radius: 999px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #C9A84C;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.inner-hero-badge-dot {
  width: 6px;
  height: 6px;
  background: #4CAF7D;
  border-radius: 50%;
  animation: innerPulse 2s ease-in-out infinite;
}

@keyframes innerPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

.inner-hero-count {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  color: #6B6760;
}

.inner-hero-count strong {
  color: #C9A84C;
  font-size: 20px;
  font-weight: 700;
}

.inner-hero-h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 700 !important;
  font-size: 40px !important;
  color: #F0EDE8 !important;
  line-height: 1.15 !important;
  margin-bottom: 14px !important;
}

.inner-hero-h1 span {
  color: #C9A84C;
  font-style: italic;
}

.inner-hero-desc {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: #9B9790 !important;
  line-height: 1.7;
  margin-bottom: 28px;
  max-width: 640px;
}

.inner-hero-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  padding: 16px 24px;
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
}

.inner-hero-stats {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.inner-hero-stat {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  color: #807b74;
}

.inner-hero-stat i {
  color: #C9A84C;
  font-size: 13px;
}

.inner-hero-stat strong {
  color: #c8c3bc;
  font-weight: 600;
}

.inner-hero-ctas {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.inner-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 22px;
  background: #25D366 !important;
  color: #fff !important;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 12px;
  border: none;
  border-radius: 8px;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.inner-hero-cta:hover {
  background: #2ee474 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.inner-hero-cta-call {
  background: rgba(201,168,76,0.08) !important;
  color: #C9A84C !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
}

.inner-hero-cta-call:hover {
  background: #C9A84C !important;
  color: #0e0e11 !important;
}

/* inner-hero mobile — see comprehensive mobile section at bottom */

/* ================================================================
   INNER PAGE — Intro text & SEO blocks
   ================================================================ */

.inner-intro-text {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  color: #8a8580 !important;
  line-height: 1.8 !important;
}

.inner-seo-block {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 32px;
}

.inner-seo-block h2 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #C9A84C !important;
  margin-bottom: 16px !important;
}

.inner-seo-block p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #9B9790 !important;
  line-height: 1.8 !important;
}

/* ================================================================
   LOCATION CARD — Image overlay on hover
   ================================================================ */

.loc-card-img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
  aspect-ratio: 16/10;
  background: #111114;
}

.loc-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.3s ease;
  filter: brightness(0.9);
}

.location_card:hover .loc-card-img-wrap img {
  transform: scale(1.05);
  filter: brightness(1);
}

.loc-card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14px;
  background: linear-gradient(transparent, rgba(0,0,0,0.7));
  display: flex;
  justify-content: flex-end;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.location_card:hover .loc-card-overlay {
  opacity: 1;
}

.loc-card-explore {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #C9A84C;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.loc-card-explore i {
  font-size: 10px;
  margin-left: 4px;
  transition: transform 0.2s ease;
}

.location_card:hover .loc-card-explore i {
  transform: translateX(3px);
}

/* ================================================================
   DETAIL PAGE HERO — Location/Category detail pages
   ================================================================ */

.detail-hero {
  padding: 36px 0 24px;
  border-bottom: 1px solid rgba(201,168,76,0.06);
}

.detail-hero-content {
  max-width: 800px;
}

.detail-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  background: rgba(201,168,76,0.06);
  border: 1px solid rgba(201,168,76,0.15);
  border-radius: 999px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #C9A84C !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.detail-hero-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
}

.detail-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.detail-hero-meta-item {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  color: #807b74;
}

.detail-hero-meta-item i {
  color: #C9A84C;
  margin-right: 4px;
}

/* detail-hero mobile — see comprehensive mobile section at bottom */

/* ================================================================
   DETAIL PAGE — Description card
   ================================================================ */

.detail-desc-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 28px;
}

.detail-desc-card p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  color: #9B9790 !important;
  line-height: 1.8 !important;
}

.detail-desc-card h1,
.detail-desc-card h2,
.detail-desc-card h3,
.detail-desc-card h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #C9A84C !important;
  margin-bottom: 12px !important;
  text-transform: none !important;
}

.detail-desc-card h3,
.detail-desc-card h4 {
  font-size: 17px !important;
}

.detail-desc-card a {
  color: #C9A84C !important;
}

.detail-desc-card a:hover {
  color: #E2CC7A !important;
}

.detail-desc-card strong {
  color: #c8c3bc !important;
  font-weight: 600 !important;
}

.detail-desc-card ul,
.detail-desc-card ol {
  padding-left: 20px !important;
  margin-bottom: 16px !important;
}

.detail-desc-card li {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #9B9790 !important;
  line-height: 1.8 !important;
  margin-bottom: 4px !important;
}

/* ================================================================
   DETAIL PAGE — Section headers
   ================================================================ */

.detail-section-header {
  margin-bottom: 24px;
  margin-top: 8px;
}

.detail-section-header h2 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 8px !important;
}

.detail-section-line {
  display: block;
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, #C9A84C, transparent);
  border-radius: 2px;
}

.detail-section-header.text-center .detail-section-line {
  margin-left: auto;
  margin-right: auto;
}

/* ================================================================
   ESCORT CARD — Used on detail pages (location, category, profile)
   ================================================================ */

.escort-card {
  background: #16161a !important;
  border: 1px solid rgba(255,255,255,0.04) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.35s cubic-bezier(0.4,0,0.2,1) !important;
  position: relative;
}

.escort-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(201,168,76,0.12) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,0.4) !important;
}

.escort-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 10%, #C9A84C 50%, transparent 90%);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
}

.escort-card:hover::before {
  opacity: 1;
}

.escort-card-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
  background: #111114;
}

.escort-card-img a {
  display: block;
  height: 100%;
}

.escort-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.3s ease;
  filter: brightness(0.92);
}

.escort-card:hover .escort-card-img img {
  transform: scale(1.04);
  filter: brightness(1);
}

.escort-card-location {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background: rgba(0,0,0,0.65);
  backdrop-filter: blur(8px);
  padding: 4px 10px;
  border-radius: 6px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10px;
  font-weight: 500;
  color: #c8c3bc;
}

.escort-card-rating {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(201,168,76,0.15);
  backdrop-filter: blur(8px);
  padding: 4px 10px;
  border-radius: 6px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #C9A84C;
}

.escort-card-body {
  padding: 12px 14px;
}

.escort-card-category {
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  color: #6B6760;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.escort-card-name {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #F0EDE8 !important;
  margin: 4px 0 10px !important;
  transition: color 0.2s ease;
}

.escort-card:hover .escort-card-name {
  color: #C9A84C !important;
}

.escort-card-wa {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  background: rgba(37,211,102,0.08) !important;
  color: #25D366 !important;
  border: 1px solid rgba(37,211,102,0.2);
  border-radius: 6px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.25s ease;
  width: 100%;
  justify-content: center;
}

.escort-card-wa:hover {
  background: #25D366 !important;
  color: #fff !important;
  border-color: #25D366;
}

/* ================================================================
   NO RESULTS CARD
   ================================================================ */

.no-results-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 60px 32px;
  text-align: center;
}

.no-results-card i.fa-search {
  font-size: 40px;
  color: rgba(201,168,76,0.2);
  margin-bottom: 20px;
}

.no-results-card h3 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 8px !important;
}

.no-results-card p {
  font-family: 'DM Sans', sans-serif !important;
  color: #807b74 !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
}

.no-results-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 24px;
  background: #25D366 !important;
  color: #fff !important;
  border-radius: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
}

/* ================================================================
   FAQ LIST — Redesigned
   ================================================================ */

.faq-list {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 8px 24px;
}

.faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  transition: background 0.2s ease;
}

.faq-item:last-child {
  border-bottom: none !important;
}

.faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  cursor: pointer;
  color: #F0EDE8;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 15px;
  transition: color 0.2s ease;
}

.faq-q:hover {
  color: #C9A84C;
}

.faq-chev {
  color: #C9A84C;
  transition: transform 0.3s ease;
  font-size: 14px;
}

.faq-item.open .faq-chev {
  transform: rotate(180deg);
}

.faq-a {
  display: none;
  padding: 0 0 16px;
  color: #9B9790;
  font-family: 'DM Sans', sans-serif;
  line-height: 1.7;
  font-size: 14px;
}

.faq-item.open .faq-a {
  display: block;
}

/* ================================================================
   VIDEO CARD
   ================================================================ */

.video-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  border: 1px solid rgba(255,255,255,0.04);
  transition: all 0.3s ease;
}

.video-card:hover {
  transform: translateY(-4px);
  border-color: rgba(201,168,76,0.15);
  box-shadow: 0 8px 28px rgba(0,0,0,0.35);
}

.video-card-thumb {
  position: relative;
}

.video-card-thumb img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.video-card:hover .video-card-thumb img {
  transform: scale(1.05);
}

.video-card-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  background: rgba(201,168,76,0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.video-card-play i {
  color: #0e0e11;
  font-size: 16px;
  margin-left: 3px;
}

.video-card:hover .video-card-play {
  background: #C9A84C;
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 4px 20px rgba(201,168,76,0.3);
}

/* ================================================================
   CONTACT PAGE — Form & Info Cards
   ================================================================ */

.contact-form-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 32px;
}

.contact-form-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 6px !important;
}

.contact-form-subtitle {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #807b74 !important;
  margin-bottom: 24px !important;
}

.contact-form-card .form-group label {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #807b74 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 6px !important;
}

.contact-form-card .form-control {
  background: #1a1a1f !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 10px !important;
  color: #c8c3bc !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  padding: 12px 16px !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.contact-form-card .form-control:focus {
  border-color: rgba(201,168,76,0.35) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.06) !important;
  background: #1e1e24 !important;
}

.contact-form-card .form-control::placeholder {
  color: #4a4740;
}

.contact-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 28px;
  background: #C9A84C !important;
  color: #0e0e11 !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  cursor: pointer;
  transition: all 0.25s ease;
  margin-top: 8px;
}

.contact-submit-btn:hover {
  background: #E2CC7A !important;
  transform: translateY(-1px);
}

/* Contact Info Card */
.contact-info-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 28px;
  margin-bottom: 20px;
}

.contact-info-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 24px !important;
}

.contact-info-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}

.contact-info-item:last-child {
  border-bottom: none;
}

.contact-info-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(201,168,76,0.06);
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 10px;
  color: #C9A84C;
  font-size: 16px;
  flex-shrink: 0;
}

.contact-info-icon.whatsapp {
  background: rgba(37,211,102,0.08);
  border-color: rgba(37,211,102,0.2);
  color: #25D366;
}

.contact-info-label {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  color: #6B6760;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.contact-info-value {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #c8c3bc !important;
  text-decoration: none !important;
}

a.contact-info-value:hover {
  color: #C9A84C !important;
}

/* Contact CTA Card */
.contact-cta-card {
  background: linear-gradient(135deg, rgba(201,168,76,0.06), rgba(201,168,76,0.02));
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 14px;
  padding: 24px;
  text-align: center;
}

.contact-cta-card h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 8px !important;
}

.contact-cta-card p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: #807b74 !important;
  margin-bottom: 16px !important;
}

.contact-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 24px;
  background: #25D366 !important;
  color: #fff !important;
  border-radius: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.contact-cta-btn:hover {
  background: #2ee474 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* ================================================================
   VACANCY PAGE — Info & Form Cards
   ================================================================ */

.vacancy-info-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 28px;
}

.vacancy-info-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #C9A84C !important;
  margin-bottom: 24px !important;
}

.vacancy-benefit {
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}

.vacancy-benefit:last-of-type {
  border-bottom: none;
}

.vacancy-benefit-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(201,168,76,0.06);
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 10px;
  color: #C9A84C;
  font-size: 16px;
}

.vacancy-benefit h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin: 0 0 4px !important;
}

.vacancy-benefit p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: #807b74 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

.vacancy-contact-info {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(201,168,76,0.08);
}

.vacancy-contact-info h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 12px !important;
}

.vacancy-contact-info p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #9B9790 !important;
  margin-bottom: 6px !important;
}

.vacancy-contact-info a {
  color: #C9A84C !important;
}

.vacancy-contact-note {
  font-size: 12px !important;
  color: #6B6760 !important;
  margin-top: 8px !important;
}

/* Vacancy Form Card */
.vacancy-form-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 32px;
}

.vacancy-form-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 6px !important;
}

.vacancy-form-subtitle {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #807b74 !important;
  margin-bottom: 24px !important;
}

.vacancy-form-card .form-group label {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #807b74 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 6px !important;
}

.vacancy-form-card .form-control {
  background: #1a1a1f !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 10px !important;
  color: #c8c3bc !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  padding: 12px 16px !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.vacancy-form-card .form-control:focus {
  border-color: rgba(201,168,76,0.35) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.06) !important;
  background: #1e1e24 !important;
}

.vacancy-form-card .form-control::placeholder {
  color: #4a4740;
}

/* File upload */
.vacancy-file-upload {
  position: relative;
}

.vacancy-file-input {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

.vacancy-file-label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #1a1a1f;
  border: 2px dashed rgba(255,255,255,0.06);
  border-radius: 10px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: #6B6760;
  cursor: pointer;
  transition: all 0.25s ease;
}

.vacancy-file-label:hover {
  border-color: rgba(201,168,76,0.25);
  color: #C9A84C;
}

.vacancy-file-label i {
  font-size: 18px;
}

.vacancy-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 28px;
  background: #C9A84C !important;
  color: #0e0e11 !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  cursor: pointer;
  transition: all 0.25s ease;
  margin-top: 8px;
}

.vacancy-submit-btn:hover {
  background: #E2CC7A !important;
  transform: translateY(-1px);
}

/* ================================================================
   PROFILE DETAIL PAGE — Complete Redesign
   ================================================================ */

/* Profile Hero Card */
.profile-hero-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  margin-bottom: 24px;
}

.profile-hero-banner {
  position: relative;
  height: 260px;
  overflow: hidden;
}

.profile-hero-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.5) blur(2px);
}

.profile-hero-banner-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 50%;
  background: linear-gradient(transparent, #16161a);
}

.profile-hero-avatar {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  margin-top: -80px;
  margin-bottom: 16px;
}

.profile-hero-avatar img {
  width: 120px;
  height: 160px;
  object-fit: cover;
  border-radius: 14px;
  border: 3px solid rgba(201,168,76,0.25);
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
}

.profile-hero-info {
  text-align: center;
  padding: 0 24px 32px;
}

.profile-hero-name {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 4px !important;
}

.profile-hero-age {
  font-weight: 400;
  color: #9B9790;
  font-size: 24px;
}

.profile-hero-desc {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: #807b74;
  margin-bottom: 20px;
}

.profile-hero-stats {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.profile-stat {
  background: rgba(201,168,76,0.04);
  border: 1px solid rgba(201,168,76,0.08);
  border-radius: 10px;
  padding: 12px 20px;
  text-align: center;
  min-width: 80px;
}

.profile-stat-value {
  display: block;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #C9A84C;
}

.profile-stat-label {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  color: #6B6760;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 2px;
}

.profile-hero-ctas {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.profile-cta-wa {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 28px;
  background: #25D366 !important;
  color: #fff !important;
  border-radius: 10px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.profile-cta-wa:hover {
  background: #2ee474 !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(37,211,102,0.25);
}

.profile-cta-call {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 28px;
  background: rgba(201,168,76,0.08) !important;
  color: #C9A84C !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  border-radius: 10px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.profile-cta-call:hover {
  background: #C9A84C !important;
  color: #0e0e11 !important;
}

/* Profile Section Cards (Gallery, About, Reviews) */
.profile-section-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  overflow: hidden;
}

.profile-section-header {
  background: rgba(201,168,76,0.06);
  border-bottom: 1px solid rgba(201,168,76,0.08);
  padding: 14px 20px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #C9A84C;
}

/* Gallery Items */
.profile-gallery-item {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.04);
  transition: all 0.3s ease;
  cursor: pointer;
}

.profile-gallery-item:hover {
  border-color: rgba(201,168,76,0.15);
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  transform: scale(1.02);
}

.profile-gallery-item img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
}

/* About Body */
.profile-about-body {
  padding: 20px;
}

.profile-about-body p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  color: #9B9790 !important;
  line-height: 1.8 !important;
}

/* Reviews */
.profile-reviews-list {
  max-height: 380px;
  overflow-y: auto;
  padding: 8px 0;
}

.profile-review-item {
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}

.profile-review-item:last-child {
  border-bottom: none;
}

.profile-review-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.profile-review-name {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #c8c3bc;
}

.profile-review-stars i {
  color: #C9A84C;
  font-size: 12px;
  margin-left: 2px;
}

.profile-review-unrated {
  font-size: 12px;
  color: #6B6760;
}

.profile-review-text {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #9B9790 !important;
  font-style: italic !important;
}

.profile-review-text .fa-quote-left {
  color: rgba(201,168,76,0.3);
  font-size: 14px;
}

.profile-review-empty {
  padding: 24px;
  text-align: center;
}

.profile-review-empty p {
  color: #6B6760 !important;
  font-size: 14px !important;
}

/* Review Form */
.profile-review-form {
  background: rgba(255,255,255,0.015);
  border: 1px solid rgba(255,255,255,0.03);
  border-radius: 10px;
  padding: 20px;
}

.profile-review-form h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #c8c3bc !important;
  margin-bottom: 16px !important;
}

.profile-review-form label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: #6B6760;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}

.profile-review-form .form-control {
  background: #1a1a1f !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 8px !important;
  color: #c8c3bc !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
}

.profile-review-form .form-control:focus {
  border-color: rgba(201,168,76,0.3) !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.06) !important;
}

.profile-review-submit {
  background: #C9A84C !important;
  color: #0e0e11 !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 10px 20px !important;
  cursor: pointer;
  transition: all 0.2s ease;
  width: 100%;
}

.profile-review-submit:hover {
  background: #E2CC7A !important;
}

/* Profile Detail Card (sidebar) */
.profile-detail-card,
.profile-price-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  overflow: hidden;
}

.profile-detail-header {
  background: rgba(201,168,76,0.06);
  border-bottom: 1px solid rgba(201,168,76,0.08);
  padding: 14px 18px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #C9A84C;
}

.profile-detail-list {
  padding: 8px 0;
}

.profile-detail-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}

.profile-detail-item:last-child {
  border-bottom: none;
}

.profile-detail-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(201,168,76,0.06);
  border-radius: 8px;
  color: #C9A84C;
  font-size: 13px;
  flex-shrink: 0;
}

.profile-detail-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: #6B6760;
  flex: 1;
}

.profile-detail-value {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #c8c3bc;
}

/* Profile Price Table */
.profile-price-table {
  width: 100%;
  border-collapse: collapse;
}

.profile-price-table thead th {
  background: rgba(201,168,76,0.04);
  padding: 12px 16px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #C9A84C;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid rgba(201,168,76,0.08);
}

.profile-price-table tbody td {
  padding: 12px 16px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: #c8c3bc;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}

.profile-price-table tbody tr:last-child td {
  border-bottom: none;
}

.profile-price-table .fa-inr {
  color: #C9A84C;
  font-size: 12px;
}

/* Quick Book Sidebar */
.profile-quick-book {
  background: linear-gradient(135deg, rgba(201,168,76,0.06), rgba(201,168,76,0.02));
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 14px;
  padding: 24px;
  text-align: center;
}

.profile-quick-book h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 8px !important;
}

.profile-quick-book p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: #807b74 !important;
  margin-bottom: 16px !important;
}

.profile-quick-book-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 24px;
  background: #25D366 !important;
  color: #fff !important;
  border-radius: 10px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.25s ease;
  margin-bottom: 10px;
}

.profile-quick-book-btn:hover {
  background: #2ee474 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.profile-quick-call-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 24px;
  background: transparent !important;
  color: #C9A84C !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  border-radius: 10px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.profile-quick-call-btn:hover {
  background: rgba(201,168,76,0.06) !important;
}

/* (old ptable styles removed — replaced by px-* system above) */

/* ================================================================
   CALL GIRLS PAGE — Content Sections
   ================================================================ */

/* Section headings */
.cg-section-head {
  margin-bottom: 8px;
}

.cg-section-head h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #C9A84C !important;
  margin-bottom: 8px !important;
}

.cg-section-head p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #6B6760 !important;
}

/* Intro block */
.cg-intro-block {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 32px;
  border-left: 3px solid rgba(201,168,76,0.3);
}

.cg-intro-block p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  color: #9B9790 !important;
  line-height: 1.8 !important;
}

.cg-intro-block strong {
  color: #c8c3bc !important;
}

/* Trust cards — 6 grid */
.cg-trust-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 24px 20px;
  height: 100%;
  transition: all 0.3s ease;
}

.cg-trust-card:hover {
  border-color: rgba(201,168,76,0.12);
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.3);
}

.cg-trust-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(201,168,76,0.06);
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 10px;
  color: #C9A84C;
  font-size: 18px;
  margin-bottom: 14px;
}

.cg-trust-card h3 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 8px !important;
}

.cg-trust-card p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: #807b74 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Step cards — 3 columns */
.cg-step-card {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 28px 24px;
  text-align: center;
  height: 100%;
  transition: all 0.3s ease;
}

.cg-step-card:hover {
  border-color: rgba(201,168,76,0.12);
  transform: translateY(-3px);
}

.cg-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #C9A84C, #b5933d);
  color: #0e0e11;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 18px;
  font-weight: 800;
  border-radius: 50%;
  margin-bottom: 16px;
}

.cg-step-card h3 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 10px !important;
}

.cg-step-card p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: #807b74 !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* Type cards — categories */
.cg-type-card {
  display: flex;
  gap: 16px;
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 24px;
  height: 100%;
  transition: all 0.3s ease;
}

.cg-type-card:hover {
  border-color: rgba(201,168,76,0.1);
  box-shadow: 0 6px 24px rgba(0,0,0,0.25);
}

.cg-type-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(201,168,76,0.06);
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 10px;
  color: #C9A84C;
  font-size: 18px;
}

.cg-type-card h3 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 8px !important;
}

.cg-type-card p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: #807b74 !important;
  line-height: 1.6 !important;
  margin-bottom: 10px !important;
}

.cg-type-link {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #C9A84C !important;
  text-decoration: none !important;
  letter-spacing: 0.03em;
  transition: color 0.2s ease;
}

.cg-type-link:hover {
  color: #E2CC7A !important;
}

.cg-type-link i {
  font-size: 10px;
  margin-left: 3px;
  transition: transform 0.2s ease;
}

.cg-type-link:hover i {
  transform: translateX(3px);
}

/* Area chips grid */
.cg-area-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.cg-area-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 999px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #c8c3bc !important;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.cg-area-chip:hover {
  border-color: rgba(201,168,76,0.2);
  color: #C9A84C !important;
  background: rgba(201,168,76,0.04);
  transform: translateY(-2px);
}

.cg-area-chip i {
  color: #C9A84C;
  font-size: 11px;
}

/* Mini price cards */
.cg-price-mini {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 24px;
  text-align: center;
  transition: all 0.3s ease;
  position: relative;
}

.cg-price-mini:hover {
  border-color: rgba(201,168,76,0.12);
  transform: translateY(-3px);
}

.cg-price-featured {
  border-color: rgba(201,168,76,0.2) !important;
  box-shadow: 0 0 30px rgba(201,168,76,0.04);
}

.cg-price-popular {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  padding: 3px 14px;
  background: linear-gradient(135deg, #C9A84C, #b5933d);
  color: #0e0e11;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: 999px;
  white-space: nowrap;
}

.cg-price-tier {
  display: block;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #6B6760;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}

.cg-price-amount {
  display: block;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 32px;
  font-weight: 700;
  color: #F0EDE8;
  margin-bottom: 4px;
}

.cg-price-amount .fa-inr {
  font-size: 18px;
  color: #C9A84C;
}

.cg-price-detail {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: #6B6760;
}

/* Deep content block */
.cg-content-block {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 14px;
  padding: 36px;
}

.cg-content-block h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #C9A84C !important;
  margin-bottom: 20px !important;
}

.cg-content-block h3 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-top: 28px !important;
  margin-bottom: 12px !important;
}

.cg-content-block p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #9B9790 !important;
  line-height: 1.8 !important;
}

.cg-content-block ul {
  padding-left: 20px !important;
  margin-bottom: 16px !important;
}

.cg-content-block li {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #9B9790 !important;
  line-height: 1.8 !important;
  margin-bottom: 6px !important;
}

.cg-content-block li strong {
  color: #c8c3bc !important;
}

.cg-content-block a {
  color: #C9A84C !important;
}

/* Final CTA */
.cg-final-cta {
  background: linear-gradient(135deg, rgba(201,168,76,0.06), rgba(201,168,76,0.02));
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 16px;
  padding: 48px 32px;
  text-align: center;
}

.cg-final-cta h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: #F0EDE8 !important;
  margin-bottom: 12px !important;
}

.cg-final-cta p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  color: #807b74 !important;
  max-width: 560px;
  margin: 0 auto 24px !important;
}

.cg-final-cta-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ================================================================
   COMPREHENSIVE MOBILE RESPONSIVE
   ================================================================ */

/* ── Tablet (768px–992px) ── */
@media (max-width: 992px) {
  .container { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ================================================================
   HOMEPAGE — VIP / College / Mature Image Sections
   ================================================================ */

/* Section badge — small pill above heading */
.seo-section-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 14px;
  background: rgba(201,168,76,0.06);
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 999px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: #C9A84C;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
}

/* Image card — frame + caption */
.seo-img-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.04);
  box-shadow: 0 8px 40px rgba(0,0,0,0.35);
  transition: transform 0.4s cubic-bezier(0.4,0,0.2,1), box-shadow 0.4s ease;
}

.seo-img-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 56px rgba(0,0,0,0.45), 0 0 0 1px rgba(201,168,76,0.08);
}

/* Gold top accent line */
.seo-img-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #C9A84C, transparent);
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.seo-img-card:hover::before {
  opacity: 1;
}

/* Image frame */
.seo-img-frame {
  position: relative;
  overflow: hidden;
}

.seo-img-frame img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.4,0,0.2,1), filter 0.4s ease;
  filter: brightness(0.95);
}

.seo-img-card:hover .seo-img-frame img {
  transform: scale(1.04);
  filter: brightness(1);
}

/* Gradient overlay at bottom of image */
.seo-img-frame::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 40%;
  background: linear-gradient(transparent, rgba(22,22,26,0.7));
  pointer-events: none;
}

/* Caption bar below image */
.seo-img-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #16161a;
  border-top: 1px solid rgba(255,255,255,0.03);
}

.seo-img-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  background: rgba(76,175,125,0.08);
  border: 1px solid rgba(76,175,125,0.2);
  border-radius: 6px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: #4CAF7D;
  letter-spacing: 0.04em;
}

.seo-img-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #c8c3bc;
}

/* Section alt — override inline style */
.seo-section-alt {
  background: rgba(255,255,255,0.02) !important;
  border: 1px solid rgba(255,255,255,0.03) !important;
  border-radius: 14px !important;
  padding: 36px !important;
  margin-bottom: 28px !important;
}

.seo-section-alt h2.text-gold {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
}

.seo-section-alt p {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #9B9790 !important;
  line-height: 1.8 !important;
}

.seo-section-alt a {
  color: #C9A84C !important;
}

/* ── Mobile (max-width: 768px) ── */
@media (max-width: 768px) {

  /* -- Call Girls Page Sections -- */
  .cg-section-head h2 { font-size: 22px !important; }
  .cg-section-head p { font-size: 13px !important; }
  .cg-intro-block { padding: 24px 18px; border-radius: 12px; }
  .cg-intro-block p { font-size: 14px !important; }
  .cg-trust-card { padding: 18px 16px; border-radius: 12px; }
  .cg-trust-icon { width: 36px; height: 36px; font-size: 15px; margin-bottom: 10px; }
  .cg-trust-card h3 { font-size: 13px !important; }
  .cg-trust-card p { font-size: 12px !important; }
  .cg-step-card { padding: 24px 18px; border-radius: 12px; }
  .cg-step-num { width: 36px; height: 36px; font-size: 16px; }
  .cg-step-card h3 { font-size: 14px !important; }
  .cg-step-card p { font-size: 12px !important; }
  .cg-type-card { padding: 18px 16px; gap: 12px; border-radius: 12px; }
  .cg-type-icon { width: 36px; height: 36px; min-width: 36px; font-size: 15px; }
  .cg-type-card h3 { font-size: 14px !important; }
  .cg-type-card p { font-size: 12px !important; }
  .cg-area-chip { padding: 6px 14px; font-size: 11px; }
  .cg-price-mini { padding: 20px 16px; border-radius: 12px; }
  .cg-price-amount { font-size: 26px; }
  .cg-content-block { padding: 24px 18px; border-radius: 12px; }
  .cg-content-block h2 { font-size: 22px !important; }
  .cg-content-block h3 { font-size: 16px !important; }
  .cg-content-block p, .cg-content-block li { font-size: 13px !important; }
  .cg-final-cta { padding: 36px 20px; border-radius: 12px; }
  .cg-final-cta h2 { font-size: 24px !important; }
  .cg-final-cta p { font-size: 13px !important; }
  .cg-final-cta-btns { flex-direction: column; }
  .cg-final-cta-btns a { width: 100%; justify-content: center; }

  /* -- SEO Image Sections -- */
  .seo-section-alt { padding: 24px 18px !important; border-radius: 12px !important; margin-bottom: 20px !important; }
  .seo-section-alt h2.text-gold { font-size: 21px !important; }
  .seo-section-alt p { font-size: 13px !important; }
  .seo-img-card { border-radius: 12px; margin-top: 20px; }
  .seo-img-frame img { aspect-ratio: 4/5; }
  .seo-img-caption { padding: 10px 14px; }
  .seo-img-label { font-size: 12px; }
  .seo-section-badge { font-size: 9px; padding: 4px 12px; margin-bottom: 10px; }

  /* -- Inner Hero -- */
  .inner-hero { padding: 28px 0 24px; }
  .inner-hero-inner { padding: 0 16px; }
  .inner-hero-h1 { font-size: 26px !important; line-height: 1.2 !important; }
  .inner-hero-desc { font-size: 14px; margin-bottom: 20px; }
  .inner-hero-bar {
    flex-direction: column; align-items: flex-start; gap: 14px; padding: 14px 16px;
  }
  .inner-hero-stats { gap: 12px; }
  .inner-hero-stat { font-size: 11px; }
  .inner-hero-ctas { width: 100%; }
  .inner-hero-cta { flex: 1; justify-content: center; padding: 10px 16px; font-size: 12px; }
  .inner-hero-count strong { font-size: 16px; }

  /* -- Detail Hero -- */
  .detail-hero { padding: 24px 0 18px; }
  .detail-hero-title { font-size: 24px !important; }
  .detail-hero-meta { gap: 8px; }
  .detail-hero-meta-item { font-size: 11px; }
  .detail-hero-badge { font-size: 10px; padding: 4px 12px; }

  /* -- Breadcrumbs -- */
  .breadcrumb { padding: 10px 14px !important; margin-bottom: 16px !important; }

  /* -- Location/Category Cards -- */
  .location_card_body { padding: 10px 12px !important; }
  .location_card_body h2,
  .location_card_body .card-title { font-size: 12px !important; }
  .loc-card-explore { font-size: 10px; }

  /* -- Escort Cards -- */
  .escort-card-body { padding: 10px 12px; }
  .escort-card-name { font-size: 12px !important; margin: 3px 0 8px !important; }
  .escort-card-category { font-size: 10px; }
  .escort-card-location { font-size: 9px; padding: 3px 8px; }
  .escort-card-rating { font-size: 9px; padding: 3px 8px; }
  .escort-card-wa { font-size: 10px; padding: 5px 10px; }

  /* -- Detail Description Card -- */
  .detail-desc-card { padding: 20px 16px; border-radius: 12px; }
  .detail-desc-card p { font-size: 14px !important; }

  /* -- Section Headers -- */
  .detail-section-header { margin-bottom: 18px; }
  .detail-section-header h2 { font-size: 17px !important; }

  /* -- FAQ -- */
  .faq-list { padding: 4px 16px; }
  .faq-q { font-size: 13px; padding: 14px 0; }
  .faq-a { font-size: 13px; }

  /* -- SEO Block -- */
  .inner-seo-block { padding: 24px 18px; border-radius: 12px; }
  .inner-seo-block h2 { font-size: 17px !important; }
  .inner-seo-block p { font-size: 13px !important; }
  .inner-intro-text { font-size: 14px !important; }

  /* -- No Results -- */
  .no-results-card { padding: 40px 20px; }
  .no-results-card h3 { font-size: 17px !important; }
  .no-results-card i.fa-search { font-size: 32px; }

  /* -- Profile Hero Card -- */
  .profile-hero-card { border-radius: 12px; }
  .profile-hero-banner { height: 160px; }
  .profile-hero-avatar { margin-top: -55px; }
  .profile-hero-avatar img { width: 85px; height: 115px; border-radius: 12px; }
  .profile-hero-info { padding: 0 16px 24px; }
  .profile-hero-name { font-size: 22px !important; }
  .profile-hero-age { font-size: 17px; }
  .profile-hero-desc { font-size: 13px; }
  .profile-hero-stats { gap: 6px; }
  .profile-stat { padding: 8px 12px; min-width: 65px; }
  .profile-stat-value { font-size: 14px; }
  .profile-stat-label { font-size: 10px; }
  .profile-hero-ctas { flex-direction: column; gap: 8px; }
  .profile-cta-wa, .profile-cta-call {
    width: 100%; justify-content: center; padding: 12px 20px;
  }

  /* -- Profile Sections -- */
  .profile-section-header { padding: 12px 16px; font-size: 13px; }
  .profile-about-body { padding: 16px; }
  .profile-about-body p { font-size: 14px !important; }
  .profile-gallery-item img { border-radius: 8px; }
  .profile-review-form { padding: 16px; }
  .profile-review-form h4 { font-size: 14px !important; }

  /* -- Profile Sidebar -- */
  .profile-detail-header { padding: 12px 14px; font-size: 13px; }
  .profile-detail-item { padding: 10px 14px; gap: 10px; }
  .profile-detail-icon { width: 28px; height: 28px; font-size: 12px; }
  .profile-detail-label { font-size: 11px; }
  .profile-detail-value { font-size: 12px; }
  .profile-price-table td,
  .profile-price-table th { padding: 10px 12px; font-size: 12px; }
  .profile-quick-book { padding: 20px 16px; }
  .profile-quick-book h4 { font-size: 16px !important; }
  .profile-quick-book p { font-size: 12px !important; }
  .profile-quick-book-btn,
  .profile-quick-call-btn { font-size: 12px; padding: 10px 20px; }

  /* -- Video Cards -- */
  .video-card { border-radius: 10px; }
  .video-card-play { width: 40px; height: 40px; }
  .video-card-play i { font-size: 14px; }

  /* -- Contact Page -- */
  .contact-form-card { padding: 24px 18px; border-radius: 12px; }
  .contact-form-title { font-size: 18px !important; }
  .contact-form-subtitle { font-size: 13px !important; }
  .contact-info-card { padding: 20px 18px; border-radius: 12px; }
  .contact-info-title { font-size: 16px !important; }
  .contact-info-item { gap: 12px; padding: 12px 0; }
  .contact-info-icon { width: 36px; height: 36px; font-size: 14px; }
  .contact-info-value { font-size: 13px !important; }
  .contact-cta-card { padding: 20px; border-radius: 12px; }
  .contact-cta-card h4 { font-size: 15px !important; }
  .contact-submit-btn { width: 100%; justify-content: center; }

  /* -- Vacancy Page -- */
  .vacancy-info-card { padding: 24px 18px; border-radius: 12px; }
  .vacancy-info-title { font-size: 22px !important; }
  .vacancy-benefit { gap: 12px; padding: 12px 0; }
  .vacancy-benefit-icon { width: 36px; height: 36px; min-width: 36px; font-size: 14px; }
  .vacancy-benefit h4 { font-size: 13px !important; }
  .vacancy-benefit p { font-size: 12px !important; }
  .vacancy-form-card { padding: 24px 18px; border-radius: 12px; }
  .vacancy-form-title { font-size: 18px !important; }
  .vacancy-submit-btn { width: 100%; justify-content: center; }
  .vacancy-file-label { padding: 14px; font-size: 12px; }

  /* -- Floating bubbles -- */
  .floating-contact-wrap { bottom: 16px !important; left: 8px !important; gap: 10px !important; }
  .contact-bubble { width: 42px !important; height: 42px !important; font-size: 18px !important; }
  .scroll-top { bottom: 70px !important; }
  .scroll-top img { width: 40px !important; height: 40px !important; }
}

/* ── Small phones (max-width: 480px) ── */
@media (max-width: 480px) {
  .inner-hero-h1 { font-size: 22px !important; }
  .inner-hero-bar { border-radius: 10px; }
  .inner-hero-stat { font-size: 10px; }

  .detail-hero-title { font-size: 20px !important; }
  .detail-section-header h2 { font-size: 15px !important; }

  .profile-hero-banner { height: 140px; }
  .profile-hero-avatar img { width: 75px; height: 100px; }
  .profile-hero-name { font-size: 20px !important; }
  .profile-stat { padding: 6px 10px; min-width: 55px; }
  .profile-stat-value { font-size: 13px; }
  .profile-stat-label { font-size: 9px; }

  .escort-card-name { font-size: 11px !important; }
  .escort-card-wa { font-size: 9px; padding: 4px 8px; }
  .escort-card-category { font-size: 9px; }

  .faq-q { font-size: 12px; }
  .faq-a { font-size: 12px; }

  .location_card_body h2,
  .location_card_body .card-title { font-size: 11px !important; }

  .contact-form-card { padding: 20px 14px; }
  .vacancy-form-card { padding: 20px 14px; }
  .vacancy-info-card { padding: 20px 14px; }

  .video-card-play { width: 36px; height: 36px; }
  .video-card-play i { font-size: 12px; }
}

/* ── Very small phones (max-width: 360px) ── */
@media (max-width: 360px) {
  .inner-hero-h1 { font-size: 20px !important; }
  .inner-hero-desc { font-size: 13px; }
  .profile-hero-ctas { gap: 6px; }
  .profile-cta-wa, .profile-cta-call { font-size: 12px; padding: 10px 16px; }
  .escort-card-body { padding: 8px 10px; }
  .escort-card-wa { padding: 4px 6px; font-size: 9px; }
  .contact-info-card { padding: 16px 14px; }
}

/* ================================================================
   ANIMATIONS — For new page elements
   ================================================================ */

.inner-hero,
.detail-hero,
.profile-hero-card {
  animation: fadeInUp 0.4s ease-out;
}

.escort-card,
.video-card,
.contact-form-card,
.contact-info-card,
.vacancy-info-card,
.vacancy-form-card,
.profile-section-card,
.profile-detail-card,
.profile-price-card {
  animation: fadeInUp 0.5s ease-out;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ================================================================
   LOCATION / CATEGORY RICH CONTENT BLOCKS
   Used inside loc_des / cat_des rendered HTML
   ================================================================ */

/* ── Intro highlight box (shows before profile grid) ── */
.loc-content-highlight {
  background: linear-gradient(135deg, #1a1a20 0%, #16161a 100%);
  border: 1px solid rgba(201,168,76,0.25);
  border-left: 4px solid #C9A84C;
  border-radius: 10px;
  padding: 24px 28px;
  margin-bottom: 28px;
}
.loc-content-highlight h3 {
  font-size: 17px !important;
  color: #C9A84C !important;
  margin-bottom: 14px !important;
  font-weight: 600 !important;
}
.loc-content-highlight ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 8px 16px;
}
.loc-content-highlight ul li {
  color: #c8c3bc;
  font-size: 14px;
  padding-left: 18px;
  position: relative;
  line-height: 1.5;
}
.loc-content-highlight ul li::before {
  content: "✓";
  color: #C9A84C;
  position: absolute;
  left: 0;
  font-weight: 700;
}
@media (max-width: 576px) {
  .loc-content-highlight { padding: 18px 16px; }
  .loc-content-highlight ul { grid-template-columns: 1fr 1fr; }
}

/* ── Escort section block ── */
.loc-escort-block {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 30px 28px;
  margin-bottom: 24px;
}
.loc-escort-block h2 {
  font-size: 22px !important;
  color: #F0EDE8 !important;
  margin-bottom: 14px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(201,168,76,0.2);
}
.loc-escort-block p {
  color: #a09a92;
  font-size: 15px;
  line-height: 1.75;
  margin-bottom: 16px;
}
.loc-escort-block strong {
  color: #d4cfc8;
}
.loc-escort-block ul, .loc-escort-block ol {
  padding-left: 0;
  list-style: none;
  margin-bottom: 16px;
}
.loc-escort-block ul li, .loc-escort-block ol li {
  color: #a09a92;
  font-size: 14px;
  padding: 5px 0 5px 20px;
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.loc-escort-block ul li::before {
  content: "▸";
  color: #C9A84C;
  position: absolute;
  left: 0;
}
.loc-escort-block ol { counter-reset: step-counter; }
.loc-escort-block ol li { counter-increment: step-counter; }
.loc-escort-block ol li::before {
  content: counter(step-counter) ".";
  color: #C9A84C;
  position: absolute;
  left: 0;
  font-weight: 700;
  font-size: 13px;
}
@media (max-width: 576px) {
  .loc-escort-block { padding: 20px 16px; }
  .loc-escort-block h2 { font-size: 18px !important; }
}

/* ── Tier pricing grid ── */
.loc-tier-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.loc-tier-item {
  background: linear-gradient(145deg, #1e1e24 0%, #1a1a1f 100%);
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 10px;
  padding: 16px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: border-color 0.2s, transform 0.2s;
}
.loc-tier-item:hover {
  border-color: rgba(201,168,76,0.5);
  transform: translateY(-2px);
}
.loc-tier-name {
  font-size: 13px;
  font-weight: 600;
  color: #F0EDE8;
  line-height: 1.3;
}
.loc-tier-price {
  font-size: 20px;
  font-weight: 700;
  color: #C9A84C;
  line-height: 1.2;
}
.loc-tier-price small {
  font-size: 12px;
  color: #7a7570;
  font-weight: 400;
}
.loc-tier-desc {
  font-size: 12px;
  color: #7a7570;
  line-height: 1.4;
  margin-top: 2px;
}
@media (max-width: 576px) {
  .loc-tier-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .loc-tier-price { font-size: 17px; }
}

/* ── Steps block (numbered booking process) ── */
.loc-steps-block {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 18px 0;
}
.loc-step {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #1a1a20;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  padding: 14px 16px;
}
.loc-step-num {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(201,168,76,0.15);
  border: 1px solid rgba(201,168,76,0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: #C9A84C;
}
.loc-step p {
  margin: 0;
  color: #a09a92;
  font-size: 14px;
  line-height: 1.6;
}
.loc-step strong {
  color: #d4cfc8;
  display: block;
  margin-bottom: 2px;
}
@media (max-width: 576px) {
  .loc-step { padding: 12px 12px; gap: 10px; }
  .loc-step-num { width: 26px; height: 26px; font-size: 12px; }
}

/* ── Extra FAQ items (from extra_faq DB column) ── */
.extra-faq-items .faq-item { }

/* ── Internal links bar ── */
.loc-internal-links {
  background: #16161a;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  padding: 20px 24px;
  margin: 24px 0;
}
.loc-internal-links h4 {
  font-size: 13px !important;
  color: #7a7570 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 12px !important;
  font-weight: 600 !important;
}
.loc-internal-links .link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 6px;
}
.loc-internal-links .link-row a {
  display: inline-block;
  padding: 5px 12px;
  background: rgba(201,168,76,0.08);
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 20px;
  font-size: 13px;
  color: #C9A84C !important;
  transition: background 0.2s;
}
.loc-internal-links .link-row a:hover {
  background: rgba(201,168,76,0.18);
}

/* ── Override detail-desc-card generic list/heading rules inside content blocks ── */
.detail-desc-card .loc-content-highlight ul,
.detail-desc-card .loc-escort-block ul,
.detail-desc-card .loc-escort-block ol {
  padding-left: 0 !important;
  list-style: none !important;
}
.detail-desc-card .loc-content-highlight li,
.detail-desc-card .loc-escort-block li {
  padding-left: 20px !important;
  font-size: 14px !important;
  color: #a09a92 !important;
}
.detail-desc-card .loc-escort-block h2 {
  font-size: 22px !important;
  color: #F0EDE8 !important;
  border-bottom: 1px solid rgba(201,168,76,0.2);
  padding-bottom: 10px;
}
.detail-desc-card .loc-escort-block h3 {
  font-size: 16px !important;
  color: #C9A84C !important;
}
.detail-desc-card .loc-content-highlight h3 {
  font-size: 17px !important;
  color: #C9A84C !important;
}
/* Tier grid inside detail-desc-card */
.detail-desc-card .loc-tier-grid {
  padding: 0 !important;
  list-style: none !important;
}
.detail-desc-card .loc-tier-item {
  padding: 16px 14px !important;
  list-style: none !important;
}
/* Steps inside detail-desc-card */
.detail-desc-card .loc-steps-block {
  padding-left: 0 !important;
  list-style: none !important;
}
.detail-desc-card .loc-step {
  list-style: none !important;
}
