/* =========================================
   REDESIGN CSS - Header & Hero Section
   Color Scheme:
   - Primary/Accent: #E85A71 (Coral)
   - Background: #FDF5F3 (Light Pink)
   - Dark Text: #1a1a1a
   - Gray Text: #666666
   ========================================= */

/* Reset & Base */
* {
  box-sizing: border-box;
}

/* Default body font — Mulish for clean modern readability */
body {
  font-family: 'Mulish', 'Open Sans', sans-serif;
}

/* Override old green theme colors */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Open Sans', sans-serif !important;
  font-style: normal !important;
  text-shadow: none !important;
}

#empty h1, #empty h2, #empty h3, #empty h4 {
  color: #E85A71 !important;
  font-style: normal !important;
}

#empty h2 {
  color: #E85A71 !important;
  font-size: 1.4em !important;
}

#empty p a {
  color: #E85A71 !important;
}

/* Remove old green borders */
#empty .design-box > div > div {
  border-color: #E85A71 !important;
}

/* Override any inline green colors */
[style*="color:#7fff00"],
[style*="color: #7fff00"],
[style*="color:#5ef308"],
[style*="color: #5ef308"],
[style*="color:#59d603"],
[style*="color: #59d603"],
[style*="color:#59D603"],
[style*="color: #59D603"],
[style*="color:#39ca02"],
[style*="color: #39ca02"] {
  color: #E85A71 !important;
}

/* Override green border colors */
[style*="border-color:#39ca02"],
[style*="border-color: #39ca02"] {
  border-color: #E85A71 !important;
}

/* =========================================
   HEADER STYLES
   ========================================= */
/* Global overflow safety — prevent any wide child from causing horizontal page scroll */
html, body { overflow-x: hidden; max-width: 100%; }

/* Override leftover black body background from old secondary-style.css */
html { background: #ffffff !important; }
body { background: #ffffff !important; color: #1a1a1a; }

.new-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  z-index: 1000;
  flex-wrap: wrap;
  gap: 14px;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
  will-change: transform;
}

/* Smart-scroll: hidden state (slides up off-screen on scroll-down) */
header.new-header.header-hidden,
.new-header.header-hidden {
  transform: translateY(-100%) !important;
}

/* Slightly stronger shadow once user has scrolled */
header.new-header.header-scrolled,
.new-header.header-scrolled {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10);
}

/* Compensate for fixed header — push body content down so it isn't hidden */
.modern-wrapper {
  padding-top: 72px;
}
@media (max-width: 768px) {
  .modern-wrapper { padding-top: 64px; }
}

/* Logo - Left */
.header-logo {
  display: flex;
  align-items: center;
}

.header-logo a {
  font-size: 21px;
  font-weight: 700;
  text-decoration: none;
  color: #1a1a1a;
  white-space: nowrap;
}

.header-logo a span {
  color: #E85A71;
}

/* Search Bar - Center Left */
.header-search {
  display: flex;
  align-items: center;
  background: #f5f5f5;
  border-radius: 25px;
  padding: 7px 14px;
  flex: 0 1 260px;
  min-width: 0;
}

.header-search input {
  border: none;
  background: transparent;
  outline: none;
  padding: 5px 10px;
  font-size: 14px;
  color: #666;
  width: 100%;
}

.header-search input::placeholder {
  color: #999;
}

.header-search .search-icon {
  color: #999;
  margin-right: 8px;
}

/* Header search submit button (wraps the search icon, makes it clickable) */
.header-search-submit {
  background: none;
  border: none;
  padding: 0;
  margin: 0 8px 0 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  color: #999;
  transition: color 0.25s ease;
  -webkit-tap-highlight-color: transparent;
}

.header-search-submit:hover {
  color: #B8475D;
}

.header-search-submit .search-icon {
  margin-right: 0;
}

/* Big search-again form on /search results page (sits in the hero) */
.search2-form {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 520px;
  margin: 14px auto 0;
  background: #FFFFFF;
  border: 1px solid rgba(184, 71, 93, 0.25);
  border-radius: 999px;
  padding: 6px 6px 6px 18px;
  box-shadow: 0 8px 20px rgba(139, 58, 76, 0.10);
}

.search2-form:focus-within {
  border-color: #B8475D;
  box-shadow: 0 10px 28px rgba(184, 71, 93, 0.18);
}

.search2-icon {
  color: #B8475D;
  flex-shrink: 0;
}

.search2-form input[type="text"] {
  flex: 1;
  border: none;
  background: transparent;
  outline: none;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  color: #5B2A39;
  padding: 8px 4px;
  min-width: 0;
}

.search2-form input[type="text"]::placeholder {
  color: #8a7a6b;
}

.search2-submit {
  background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
  color: #FBF7F0;
  border: none;
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  padding: 11px 22px;
  border-radius: 999px;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  -webkit-tap-highlight-color: rgba(184, 71, 93, 0.4);
  touch-action: manipulation;
  flex-shrink: 0;
}

.search2-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(184, 71, 93, 0.30);
}

@media (max-width: 480px) {
  .search2-form { padding: 5px 5px 5px 14px; gap: 6px; }
  .search2-submit { padding: 10px 14px; font-size: 11.5px; letter-spacing: 1.2px; }
}

/* ==========================================================================
   HEADER SEARCH AUTOCOMPLETE DROPDOWN
   ========================================================================== */

.header-search {
  position: relative;
}

.hs-suggest {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #FFFFFF;
  border: 1px solid rgba(184, 71, 93, 0.18);
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(139, 58, 76, 0.18), 0 4px 12px rgba(0, 0, 0, 0.06);
  z-index: 1100;
  max-height: 420px;
  overflow-y: auto;
  display: none;
  padding: 6px;
}

.hs-suggest.is-open {
  display: block;
  animation: hs-fade-in 0.15s ease;
}

@keyframes hs-fade-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Suggestion row */
.hs-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 10px;
  text-decoration: none;
  color: #5B2A39;
  transition: background 0.15s ease;
  cursor: pointer;
}

.hs-item:hover,
.hs-item.is-active {
  background: rgba(184, 71, 93, 0.08);
}

.hs-thumb {
  width: 44px;
  height: 56px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  background: #f4d7cf;
  display: block;
}

.hs-info {
  flex: 1;
  min-width: 0;
}

.hs-name {
  font-family: 'Playfair Display', serif;
  font-size: 15px;
  font-weight: 700;
  color: #5B2A39;
  line-height: 1.2;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hs-meta {
  font-family: 'Open Sans', sans-serif;
  font-size: 11.5px;
  color: #8a7a6b;
  font-weight: 600;
  letter-spacing: 0.3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Empty + loading states */
.hs-empty,
.hs-loading {
  padding: 18px 14px;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  color: #8a7a6b;
  text-align: center;
}

.hs-empty strong {
  color: #B8475D;
}

.hs-spinner {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 2px solid rgba(184, 71, 93, 0.25);
  border-top-color: #B8475D;
  border-radius: 50%;
  vertical-align: -1px;
  margin-right: 4px;
  animation: hs-spin 0.7s linear infinite;
}

@keyframes hs-spin {
  to { transform: rotate(360deg); }
}

/* Footer link ("See all results / Browse all profiles") */
.hs-footer {
  display: block;
  padding: 10px 14px;
  margin-top: 4px;
  text-align: center;
  font-family: 'Open Sans', sans-serif;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #B8475D;
  text-decoration: none;
  border-top: 1px dashed rgba(184, 71, 93, 0.25);
  transition: background 0.15s ease, color 0.15s ease;
}

.hs-footer:hover {
  background: rgba(184, 71, 93, 0.06);
  color: #8B3A4C;
}

/* Slim scrollbar inside the dropdown */
.hs-suggest::-webkit-scrollbar { width: 6px; }
.hs-suggest::-webkit-scrollbar-thumb { background: rgba(184, 71, 93, 0.30); border-radius: 6px; }
.hs-suggest::-webkit-scrollbar-track { background: transparent; }

/* Mobile tweaks — make the dropdown break out of the header-search box edges */
@media (max-width: 768px) {
  .hs-suggest {
    left: -10px;
    right: -10px;
    max-height: 360px;
  }
  .hs-thumb { width: 38px; height: 48px; }
  .hs-name { font-size: 14px; }
  .hs-meta { font-size: 11px; }
}

.header-search .categories-dropdown {
  display: flex;
  align-items: center;
  padding-left: 15px;
  border-left: 1px solid #ddd;
  margin-left: 10px;
  cursor: pointer;
  color: #666;
  font-size: 14px;
  white-space: nowrap;
  position: relative;
}

.header-search .categories-dropdown:hover {
  color: #E85A71;
}

.header-search .categories-dropdown svg {
  margin-left: 5px;
}

/* Categories Dropdown Menu */
.categories-menu {
  position: absolute;
  top: 100%;
  left: -15px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.15);
  min-width: 220px;
  padding: 10px 0;
  display: none;
  z-index: 100;
  padding-top: 20px;
  max-height: 350px;
  overflow-y: auto;
}

/* Custom scrollbar for categories */
.categories-menu::-webkit-scrollbar {
  width: 6px;
}

.categories-menu::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.categories-menu::-webkit-scrollbar-thumb {
  background: #E85A71;
  border-radius: 3px;
}

.categories-menu::-webkit-scrollbar-thumb:hover {
  background: #d64d63;
}

/* Bridge element to prevent hover gap */
.categories-menu::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 20px;
  background: transparent;
}

.categories-dropdown:hover .categories-menu {
  display: block;
}

.categories-menu a {
  display: block;
  padding: 10px 20px;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s;
}

.categories-menu a:hover {
  background: #FDF5F3;
  color: #E85A71;
}

/* Navigation - Center */
.header-nav {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

/* Close button only shown inside mobile overlay (hidden on desktop) */
.nav-close { display: none; }

.header-nav a {
  text-decoration: none;
  color: #1a1a1a;
  font-size: 13px;
  font-weight: 700;
  transition: color 0.25s ease;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  position: relative;
  padding: 6px 2px;
}

.header-nav a:hover {
  color: #E85A71;
}

/* Active page — wine color + underline indicator */
.header-nav a.active {
  color: #B8475D;
}

.header-nav a.active::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 3px;
  background: linear-gradient(90deg, #B8475D, #D4A574);
  border-radius: 2px;
}

/* Call Button - Right */
.header-cta {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.header-cta .call-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #E85A71;
  color: #fff;
  padding: 9px 18px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
  white-space: nowrap;
  transition: all 0.3s;
}

.header-cta .call-btn:hover {
  background: #d64d63;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(232, 90, 113, 0.3);
}

.header-cta .call-btn svg {
  width: 18px;
  height: 18px;
}

/* Mobile Menu Toggle - Hamburger */
.menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1001;
  position: relative;
  transition: all 0.3s ease;
}

.menu-toggle:hover {
  transform: scale(1.05);
}

.hamburger {
  width: 24px;
  height: 18px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.hamburger span {
  display: block;
  height: 2.5px;
  width: 100%;
  background: #E85A71;
  border-radius: 3px;
  transition: all 0.3s ease;
  transform-origin: center;
}

.hamburger span:nth-child(1) {
  width: 100%;
}

.hamburger span:nth-child(2) {
  width: 75%;
}

.hamburger span:nth-child(3) {
  width: 100%;
}

/* Hamburger to X animation */
.menu-toggle.active .hamburger span:nth-child(1) {
  transform: translateY(7.75px) rotate(45deg);
  width: 100%;
  background: #fff;
}

.menu-toggle.active .hamburger span:nth-child(2) {
  opacity: 0;
  transform: translateX(-10px);
}

.menu-toggle.active .hamburger span:nth-child(3) {
  transform: translateY(-7.75px) rotate(-45deg);
  width: 100%;
  background: #fff;
}

.menu-toggle.active {
  background: transparent;
}

/* =========================================
   HERO SECTION STYLES
   ========================================= */
.hero-section {
  background: #FDF5F3;
  min-height: 550px;
  display: flex;
  align-items: center;
  padding: 10px 40px 30px;
  position: relative;
  overflow: visible;
}

/* Pink diagonal background */
.hero-section::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 55%;
  height: 100%;
  background: linear-gradient(135deg, transparent 0%, transparent 20%, #F8D7DA 20%, #F8D7DA 100%);
  clip-path: polygon(25% 0, 100% 0, 100% 100%, 0% 100%);
  z-index: 0;
}

.hero-container {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 40px;
  position: relative;
  z-index: 1;
}

/* Hero Left - Content */
.hero-left {
  flex: 1;
  max-width: 550px;
}

.hero-subtitle {
  color: #E85A71;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.hero-title {
  font-family: 'Open Sans', sans-serif;
  font-size: 36px;
  font-weight: 700;
  font-style: normal;
  color: #1a1a1a;
  line-height: 1.3;
  margin-bottom: 25px;
  text-shadow: none !important;
}

.hero-title span {
  color: #E85A71;
  display: block;
  font-size: 42px;
  margin-bottom: 5px;
}

.hero-description {
  color: #666;
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 30px;
}

/* Hero Buttons */
.hero-buttons {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #E85A71;
  color: #fff;
  padding: 15px 35px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  transition: all 0.3s;
}

.btn-primary:hover {
  background: #d64d63;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(232, 90, 113, 0.3);
}

.btn-play {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  border: 2px solid #E85A71;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s;
  text-decoration: none;
}

.btn-play:hover {
  background: #E85A71;
}

.btn-play:hover svg {
  fill: #fff;
}

.btn-play svg {
  fill: #E85A71;
  width: 22px;
  height: 22px;
  transform: scaleX(-1) rotate(-10deg);
}

/* Decorative Arrow */
.hero-arrow {
  margin-top: 15px;
  margin-left: 0;
}

.hero-arrow svg {
  width: 45px;
  height: 40px;
  stroke: #333;
  stroke-width: 1.5;
  fill: none;
}

/* Hero Right - Image */
.hero-right {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  margin-right: -40px;
}

.hero-image-wrapper {
  position: relative;
  width: 580px;
  height: 580px;
}

.hero-circle {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(180deg, #FCD5D9 0%, #F9BFC6 50%, #F5A8B3 100%);
  overflow: hidden;
  position: relative;
  box-shadow: 0 30px 80px rgba(232, 90, 113, 0.25);
}

.hero-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/* Decorative Elements */
.hero-decoration {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 10;
}

.hero-decoration svg {
  width: 60px;
  height: 60px;
  stroke: #E85A71;
  stroke-width: 2.5;
  fill: none;
  transform: scaleX(-1);
}

/* Hero Dots/Pagination */
.hero-dots {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
}

.hero-dots span {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ddd;
  cursor: pointer;
  transition: all 0.3s;
}

.hero-dots span.active {
  background: #E85A71;
  width: 30px;
  border-radius: 6px;
}

/* =========================================
   RESPONSIVE STYLES
   ========================================= */
@media (max-width: 1400px) {
  .hero-image-wrapper {
    width: 500px;
    height: 500px;
  }
}

@media (max-width: 1200px) {
  .hero-title {
    font-size: 40px;
  }

  .hero-image-wrapper {
    width: 420px;
    height: 420px;
  }

  .hero-right {
    margin-right: -20px;
  }
}

@media (max-width: 1100px) {
  .new-header {
    padding: 12px 18px;
    gap: 10px;
  }

  .header-search {
    flex: 0 1 200px;
  }

  .header-nav {
    gap: 10px;
  }

  .header-nav a {
    font-size: 12px;
    letter-spacing: 0.2px;
  }

  .header-cta .call-btn {
    padding: 8px 14px;
    font-size: 12px;
  }

  .hero-section {
    padding: 30px 20px;
    min-height: auto;
  }

  .hero-section::before {
    display: none;
  }

  .welcome-section,
  .features-section,
  .expertise-section {
    padding: 80px 0 100px;
  }

  .hero-container {
    flex-direction: column;
    text-align: center;
  }

  .hero-left {
    max-width: 100%;
  }

  .hero-buttons {
    justify-content: center;
  }

  .hero-arrow {
    display: none;
  }

  .hero-right {
    margin-right: 0;
  }

  .hero-image-wrapper {
    width: 350px;
    height: 350px;
  }
}

@media (max-width: 768px) {
  .menu-toggle {
    display: flex;
    order: -1;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: rgba(232, 90, 113, 0.1);
    border-radius: 10px;
  }

  .header-logo {
    order: 0;
    flex: 1;
    text-align: center;
  }

  .header-search {
    display: none;
    order: 4;
    flex: 1 1 100%;
  }

  /* Close button inside mobile nav overlay */
  .nav-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    z-index: 10;
    transition: background 0.2s ease, transform 0.2s ease;
  }
  .nav-close:hover,
  .nav-close:focus {
    background: rgba(232, 90, 113, 0.3);
    transform: rotate(90deg);
    outline: none;
  }

  /* Full Screen Overlay Menu */
  .header-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    background: linear-gradient(180deg, #1a1a1a 0%, #2a2a2a 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 80px 30px 60px;
    gap: 0;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.4s ease;
    transform: translateX(-100%);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .header-nav::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #E85A71, #ff7b8a, #E85A71);
    background-size: 200% 100%;
    animation: gradientMove 3s ease infinite;
  }

  @keyframes gradientMove {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
  }

  .header-nav.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }

  .header-nav a {
    padding: 16px 40px;
    width: 100%;
    max-width: 280px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    transition: all 0.3s ease;
    position: relative;
    opacity: 0;
    transform: translateX(-30px);
    border: none;
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    border-radius: 0;
    box-sizing: border-box;
  }

  .header-nav a:first-child {
    border-top: 1px solid rgba(255,255,255,0.1);
  }

  .header-nav.active a {
    opacity: 1;
    transform: translateX(0);
  }

  /* Staggered animation delays */
  .header-nav.active a:nth-child(1) { transition-delay: 0.1s; }
  .header-nav.active a:nth-child(2) { transition-delay: 0.15s; }
  .header-nav.active a:nth-child(3) { transition-delay: 0.2s; }
  .header-nav.active a:nth-child(4) { transition-delay: 0.25s; }
  .header-nav.active a:nth-child(5) { transition-delay: 0.3s; }
  .header-nav.active a:nth-child(6) { transition-delay: 0.35s; }
  .header-nav.active a:nth-child(7) { transition-delay: 0.4s; }

  .header-nav a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 0;
    height: 2px;
    background: #E85A71;
    transition: width 0.3s ease;
  }

  .header-nav a:hover {
    color: #E85A71;
    background: rgba(232, 90, 113, 0.1);
    transform: translateX(5px);
  }

  .header-nav a:hover::after {
    width: 100%;
  }

  .header-nav a.active {
    color: #E85A71;
    background: rgba(232, 90, 113, 0.15);
  }

  .header-nav a.active::after {
    width: 100%;
  }

  /* Special style for Contact (last link) */
  .header-nav a:last-child {
    margin-top: 25px;
    width: 100%;
    max-width: 280px;
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
    padding: 18px 40px;
    border-radius: 50px;
    font-size: 14px;
    letter-spacing: 3px;
    border: none;
    box-shadow: 0 8px 25px rgba(232, 90, 113, 0.4);
  }

  .header-nav a:last-child:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(232, 90, 113, 0.5);
    background: linear-gradient(135deg, #ff6b7d 0%, #ff8fa0 100%);
  }

  .header-nav a:last-child::after {
    display: none;
  }

  /* Close hint text */
  .header-nav::after {
    content: 'TAP × TO CLOSE';
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,0.3);
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
    pointer-events: none;
  }

  .header-cta .call-btn {
    padding: 10px 18px;
    font-size: 13px;
  }

  .hero-section {
    padding: 20px 15px;
  }

  .hero-title {
    font-size: 32px;
  }

  .hero-image-wrapper {
    width: 300px;
    height: 300px;
  }
}

@media (max-width: 480px) {
  .new-header {
    padding: 10px 12px;
  }

  .header-logo a {
    font-size: 19px;
    white-space: nowrap;
  }

  .header-logo a span {
    display: inline;
    font-size: 19px;
    letter-spacing: 0;
  }

  .menu-toggle {
    width: 40px;
    height: 40px;
    padding: 8px;
  }

  .hamburger {
    width: 22px;
    height: 16px;
  }

  .header-nav a {
    padding: 18px 30px;
    font-size: 14px;
    letter-spacing: 1.5px;
  }

  .header-nav a:last-child {
    padding: 16px 30px;
    font-size: 13px;
  }

  .header-cta .call-btn span {
    display: none;
  }

  .header-cta .call-btn {
    padding: 10px;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .hero-section {
    min-height: auto;
    padding: 15px 15px 30px;
  }

  .hero-title {
    font-size: 26px;
  }

  .hero-subtitle {
    font-size: 12px;
  }

  .hero-description {
    font-size: 14px;
  }

  .btn-primary {
    padding: 12px 25px;
    font-size: 14px;
  }

  .hero-image-wrapper {
    width: 260px;
    height: 260px;
  }
}

/* =========================================
   CONTENT SECTIONS - Redesigned
   ========================================= */

/* Welcome Section */
/* ===== Welcome section — ivory cream + organic image shape ===== */
.welcome-section {
  background: #FBF7F0;
  padding: 90px 0;
  position: relative;
  overflow: hidden;
}

.welcome-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 70px;
  position: relative;
  z-index: 1;
}

.welcome-image {
  flex: 1;
  position: relative;
  display: flex;
  justify-content: center;
}

.welcome-image-wrapper {
  position: relative;
  display: inline-block;
  padding: 14px;
}

.welcome-image img {
  width: 100%;
  max-width: 400px;
  border-radius: 64% 36% 58% 42% / 48% 52% 48% 52%;
  box-shadow: 0 18px 36px rgba(139, 58, 76, 0.14);
  position: relative;
  z-index: 2;
  display: block;
}

/* Large organic shape behind image */
.welcome-image-wrapper::before {
  content: '';
  position: absolute;
  width: 380px;
  height: 420px;
  background: linear-gradient(135deg, #F5E6D8 0%, #F2D7C8 60%, #F8C8C0 100%);
  border-radius: 58% 42% 64% 36% / 52% 56% 44% 48%;
  top: -28px;
  left: -42px;
  z-index: 0;
}

/* Decorative dotted ring */
.welcome-image-wrapper::after {
  content: '';
  position: absolute;
  width: 88px;
  height: 88px;
  border: 2px dotted #D4A574;
  border-radius: 50%;
  bottom: -32px;
  left: -36px;
  z-index: 1;
  opacity: 0.55;
}

/* Decorative dots — warm amber/rose palette */
.welcome-image-decoration {
  position: absolute;
  border-radius: 50%;
  z-index: 3;
}

.welcome-image-decoration.circle-1 {
  width: 22px;
  height: 22px;
  background: #E8A87C;
  bottom: 90px;
  left: -22px;
  box-shadow: 0 6px 14px rgba(232, 168, 124, 0.4);
}

.welcome-image-decoration.circle-2 {
  width: 12px;
  height: 12px;
  background: #C38D6F;
  bottom: 54px;
  left: 4px;
}

.welcome-image-decoration.circle-3 {
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, #E85A71 0%, #D4A574 100%);
  top: 24px;
  right: -28px;
  box-shadow: 0 10px 22px rgba(232, 90, 113, 0.28);
}

.welcome-image-decoration.circle-4 {
  width: 56px;
  height: 56px;
  border: 2.5px solid #E85A71;
  background: transparent;
  bottom: -10px;
  right: 36px;
  opacity: 0.55;
}

.welcome-content {
  flex: 1;
}

.welcome-content h2 {
  font-family: 'Playfair Display', 'Open Sans', serif !important;
  font-size: 32px !important;
  font-style: normal !important;
  color: #8B3A4C !important;
  margin-bottom: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
  text-align: left !important;
  background: none !important;
  text-shadow: none !important;
  position: relative;
  padding-left: 18px;
}

.welcome-content h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, #E85A71 0%, #D4A574 100%);
}

.welcome-content h3 {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  color: #2a2a2a !important;
  margin-bottom: 18px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-align: left !important;
  background: none !important;
  text-shadow: none !important;
}

.welcome-content p {
  color: #5a5247;
  font-size: 16px;
  line-height: 1.85;
  margin-bottom: 22px;
}

.welcome-content p a {
  color: #B8475D;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px dashed rgba(184, 71, 93, 0.4);
  padding-bottom: 1px;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.welcome-content p a:hover {
  color: #8B3A4C;
  border-bottom-color: #8B3A4C;
}

/* Stats — soft cream tiles with thin border, no heavy shadow */
.stats-row {
  display: flex;
  gap: 18px;
  margin-top: 32px;
}

.stat-box {
  flex: 1;
  background: rgba(255, 255, 255, 0.72);
  padding: 22px 18px;
  border-radius: 18px;
  text-align: center;
  border: 1px solid rgba(212, 165, 116, 0.28);
  box-shadow: 0 4px 14px rgba(139, 58, 76, 0.05);
  position: relative;
}

.stat-box::before {
  content: '';
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #E85A71, #D4A574);
  opacity: 0.7;
}

.stat-box .number {
  font-family: 'Playfair Display', serif;
  font-size: 34px;
  font-weight: 700;
  color: #B8475D;
  display: block;
  margin-top: 8px;
  line-height: 1.1;
}

.stat-box .label {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #8a7a6b;
  margin-top: 6px;
  display: block;
}

/* Features Section */
/* ===== Features section — editorial spread, champagne background ===== */
.features-section {
  background:
    repeating-linear-gradient(45deg, transparent 0 24px, rgba(184, 71, 93, 0.025) 24px 25px),
    #F4EBDB;
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}

.features-section::before {
  content: '';
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #B8475D, transparent);
  opacity: 0.5;
}

.features-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
  position: relative;
}

/* Vertical center divider between the two editorial articles */
.features-grid::before {
  content: '';
  position: absolute;
  top: 60px;
  bottom: 60px;
  left: 50%;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(139, 58, 76, 0.18), transparent);
  pointer-events: none;
}

.feature-card {
  background: #FBF7F0;
  padding: 48px 42px 44px;
  border-radius: 4px 28px 4px 28px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 18px 40px rgba(139, 58, 76, 0.08),
    0 4px 12px rgba(0, 0, 0, 0.04);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  position: relative;
  overflow: visible;
  border: 1px solid rgba(184, 71, 93, 0.10);
}

/* Big editorial numeral — CSS generated, decorative only */
.feature-card::before {
  position: absolute;
  top: -28px;
  left: -10px;
  font-family: 'Playfair Display', serif;
  font-size: 110px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(184, 71, 93, 0.35);
  letter-spacing: -2px;
  pointer-events: none;
  z-index: 0;
}

.feature-card:nth-child(1)::before { content: '01'; }
.feature-card:nth-child(2)::before { content: '02'; }

/* Card 2 gets a different paper tone + subtle vertical offset */
.feature-card:nth-child(2) {
  background: #FDEFEC;
  margin-top: 36px;
  border-radius: 28px 4px 28px 4px;
  border-color: rgba(232, 90, 113, 0.14);
}

.feature-card:nth-child(2)::before {
  left: auto;
  right: -8px;
  top: -32px;
  -webkit-text-stroke-color: rgba(232, 90, 113, 0.40);
}

/* Hairline ornament under the numeral */
.feature-card::after {
  content: '';
  position: absolute;
  top: 64px;
  left: 42px;
  width: 38px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #B8475D, #D4A574);
  opacity: 0.7;
}

.feature-card:nth-child(2)::after {
  left: auto;
  right: 42px;
}

.feature-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 28px 56px rgba(139, 58, 76, 0.14),
    0 8px 18px rgba(0, 0, 0, 0.05);
}

.feature-card h3 {
  font-family: 'Playfair Display', 'Open Sans', serif;
  font-size: 24px;
  font-style: normal;
  color: #8B3A4C;
  margin-bottom: 18px;
  margin-top: 12px;
  font-weight: 700;
  line-height: 1.3;
  text-shadow: none !important;
  position: relative;
  z-index: 1;
}

.feature-card:nth-child(2) h3 {
  text-align: right;
}

.feature-card .btn-feature {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #B8475D;
  padding: 11px 24px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin: 16px 0;
  transition: all 0.3s ease;
  border: 1.5px solid #B8475D;
  position: relative;
  z-index: 1;
}

.feature-card .btn-feature::after {
  content: '→';
  font-size: 14px;
  line-height: 1;
  transition: transform 0.3s ease;
}

.feature-card .btn-feature:hover {
  background: #B8475D;
  color: #FBF7F0;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(184, 71, 93, 0.25);
}

.feature-card .btn-feature:hover::after {
  transform: translateX(4px);
}

.feature-card:nth-child(2) {
  text-align: right;
}

.feature-card:nth-child(2) .btn-feature {
  flex-direction: row-reverse;
}

.feature-card:nth-child(2) .btn-feature::after {
  content: '←';
}

.feature-card:nth-child(2) .btn-feature:hover::after {
  transform: translateX(-4px);
}

.feature-card p {
  color: #5a5247;
  font-size: 15px;
  line-height: 1.85;
  margin-top: 8px;
  position: relative;
  z-index: 1;
}

.feature-card p a {
  color: #B8475D;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px dashed rgba(184, 71, 93, 0.35);
}

.feature-card p a:hover {
  color: #8B3A4C;
}

@media (max-width: 768px) {
  .features-section { padding: 60px 0; }
  .features-grid { grid-template-columns: 1fr; gap: 32px; }
  .features-grid::before { display: none; }
  .feature-card { padding: 36px 26px 30px; }
  .feature-card::before { font-size: 80px; top: -20px; left: -4px; }
  .feature-card:nth-child(2) { margin-top: 0; text-align: left; }
  .feature-card:nth-child(2)::before { left: auto; right: -4px; top: -20px; }
  .feature-card:nth-child(2)::after { left: 26px; right: auto; }
  .feature-card:nth-child(2) h3 { text-align: left; }
  .feature-card:nth-child(2) .btn-feature { flex-direction: row; }
  .feature-card:nth-child(2) .btn-feature::after { content: '→'; }
}

/* Expertise Section */
.expertise-section {
  background: #FEF0F2;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.expertise-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 60px;
}

.expertise-content {
  flex: 1;
}

.expertise-content h2 {
  font-size: 32px;
  color: #1a1a1a;
  margin-bottom: 25px;
  font-weight: 700;
  text-shadow: none !important;
}

.expertise-content p {
  color: #555;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 20px;
}

.expertise-image {
  flex: 1;
  position: relative;
}

.expertise-image img {
  width: 100%;
  max-width: 450px;
  border-radius: 20px;
  box-shadow: 0 30px 60px rgba(232, 90, 113, 0.2);
}

.expertise-decoration {
  position: absolute;
  width: 300px;
  height: 300px;
  background: linear-gradient(135deg, #F9B8C2 0%, #FACDD4 100%);
  border-radius: 50%;
  top: 50%;
  right: -50px;
  transform: translateY(-50%);
  z-index: -1;
  opacity: 0.5;
}

/* =========================================
   GALLERY PAGE - NEW DESIGN
   ========================================= */

/* Hero Banner */
.gallery-page-hero {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  padding: 60px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.gallery-page-hero .hero-bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 20% 50%, rgba(232, 90, 113, 0.15) 0%, transparent 50%),
                    radial-gradient(circle at 80% 50%, rgba(232, 90, 113, 0.1) 0%, transparent 50%);
  pointer-events: none;
}

.gallery-page-hero .hero-inner {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
}

.gallery-page-hero .hero-badge {
  display: inline-block;
  background: linear-gradient(135deg, #E85A71, #ff7b8a);
  color: #fff;
  padding: 8px 24px;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

.gallery-page-hero h1 {
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 15px 0 !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
  text-transform: capitalize;
}

.gallery-page-hero .hero-desc {
  font-size: 16px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 30px;
}

.gallery-page-hero .hero-features {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}

.gallery-page-hero .feature-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.gallery-page-hero .feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #E85A71;
  border-radius: 50%;
  font-size: 12px;
  color: #fff;
}

/* Profiles Section */
.gallery-profiles-section {
  background: #f8f9fa;
  padding: 60px 0;
}

/* Gallery Intro Text */
.gallery-intro-text {
  max-width: 900px;
  margin: 0 auto 40px;
  text-align: center;
}

.gallery-intro-text p {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
  text-align: center !important;
}

.gallery-intro-text p a {
  color: #E85A71;
  text-decoration: none;
  font-weight: 600;
}

.gallery-intro-text p a:hover {
  text-decoration: underline;
}

/* Gallery Content Boxes */
.gallery-content-box {
  background: #fff;
  border-radius: 16px;
  padding: 30px;
  margin-bottom: 25px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.05);
  border-left: 4px solid #E85A71;
  transition: all 0.3s ease;
}

.gallery-content-box:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.gallery-content-box h2 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 15px 0 !important;
  text-shadow: none !important;
  text-align: left !important;
}

.gallery-content-box p {
  font-size: 15px;
  line-height: 1.8;
  color: #555;
  margin: 0;
  text-align: left !important;
}

.gallery-content-box p a {
  color: #E85A71;
  text-decoration: none;
  font-weight: 600;
}

.gallery-content-box p a:hover {
  text-decoration: underline;
}

.gallery-content-box p strong {
  color: #1a1a1a;
  font-weight: 700;
}

.gallery-content-box.highlight-box {
  background: linear-gradient(135deg, #FFF8F9 0%, #fff 100%);
  border-left: 4px solid #E85A71;
  margin-top: 40px;
}

/* Gallery Profile Cards */
/* ===== Gallery Profile Card (gpc) — redesigned ===== */
.gallery-profiles-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin: 40px 0;
}

.gpc-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  background: #1a1a1a;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.gpc-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18);
}

.gpc-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.gpc-image-wrapper {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

.gpc-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
}

.gpc-card:hover .gpc-image {
  transform: scale(1.06);
}

/* Heart / like button — top right */
.gpc-like {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #ff4d6d;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  z-index: 5;
  cursor: pointer;
  transition: transform 0.25s ease, background 0.25s ease;
}

.gpc-like svg {
  width: 18px;
  height: 18px;
}

.gpc-like:hover {
  transform: scale(1.1);
  background: #fff;
}

/* Dark gradient overlay at bottom */
.gpc-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.85) 0%,
    rgba(0, 0, 0, 0.55) 28%,
    rgba(0, 0, 0, 0.15) 55%,
    rgba(0, 0, 0, 0) 75%
  );
  pointer-events: none;
  z-index: 2;
}

/* Info block on the gradient */
.gpc-info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px 18px 18px;
  color: #fff;
  z-index: 3;
}

.gpc-name {
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  margin: 0 0 6px 0;
  line-height: 1.15;
  color: #fff;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

.gpc-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.gpc-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.88);
}

.gpc-category {
  color: rgba(255, 255, 255, 0.92);
}

.gpc-dot {
  opacity: 0.65;
  font-size: 14px;
  line-height: 1;
}

.gpc-age {
  color: rgba(255, 255, 255, 0.82);
}

.gpc-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 600;
  color: #4ade80;
  background: rgba(0, 0, 0, 0.45);
  padding: 4px 9px;
  border-radius: 999px;
}

.gpc-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 2px rgba(74, 222, 128, 0.25);
}

.gpc-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.gpc-price {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  letter-spacing: 0.2px;
}

.gpc-book-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff;
  color: #ff3b5c;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.2px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.gpc-book-btn svg {
  width: 12px;
  height: 12px;
  transition: transform 0.25s ease;
  flex-shrink: 0;
}

.gpc-card:hover .gpc-book-btn {
  background: #ff3b5c;
  color: #fff;
}

.gpc-card:hover .gpc-book-btn svg {
  transform: translateX(3px);
}

/* Responsive */
@media (max-width: 1200px) {
  .gallery-profiles-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
  }
}

@media (max-width: 768px) {
  .gallery-profiles-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .gpc-card { border-radius: 20px; }
  .gpc-name { font-size: 18px; }
  .gpc-info { padding: 14px 14px 14px; }
  .gpc-price { font-size: 17px; }
  .gpc-book-btn { padding: 7px 12px; font-size: 12px; }
  .gpc-like { width: 34px; height: 34px; top: 12px; right: 12px; }
  .gpc-like svg { width: 16px; height: 16px; }
}

@media (max-width: 480px) {
  .gallery-profiles-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .gpc-card { border-radius: 18px; }
  .gpc-name { font-size: 15px; letter-spacing: 0.4px; margin-bottom: 4px; }
  .gpc-meta { font-size: 10.5px; }
  .gpc-status { font-size: 9.5px; padding: 3px 7px; }
  .gpc-info { padding: 10px 11px 11px; }
  .gpc-price { font-size: 14.5px; }
  .gpc-book-btn { padding: 6px 10px; font-size: 10.5px; gap: 4px; }
  .gpc-book-btn svg { width: 11px; height: 11px; }
  .gpc-meta-row { margin-bottom: 8px; gap: 6px; }
  .gpc-like { width: 30px; height: 30px; top: 10px; right: 10px; }
  .gpc-like svg { width: 14px; height: 14px; }
}

/* Mobile Responsive for Content Boxes */
@media (max-width: 768px) {
  .gallery-content-box {
    padding: 20px;
  }

  .gallery-content-box h2 {
    font-size: 18px !important;
  }

  .gallery-intro-text p {
    font-size: 14px;
  }
}

.gallery-section-title {
  text-align: center;
  margin-bottom: 40px;
}

.gallery-section-title h2 {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 10px 0 !important;
  text-shadow: none !important;
}

.gallery-section-title p {
  font-size: 16px;
  color: #666;
  margin: 0;
}

/* Info Section */
.gallery-info-section {
  background: #fff;
  padding: 60px 0;
}

.gallery-info-section .info-intro {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 50px;
  padding: 0 20px;
}

.gallery-info-section .info-intro h2 {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 20px 0 !important;
  text-shadow: none !important;
}

.gallery-info-section .info-intro p {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
  text-align: center;
}

.gallery-info-section .info-intro p a {
  color: #E85A71;
  text-decoration: none;
  font-weight: 600;
}

.gallery-info-section .info-intro p a:hover {
  text-decoration: underline;
}

/* Info Cards Grid */
.gallery-info-section .info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  margin-bottom: 40px;
}

.gallery-info-section .info-card {
  background: #f8f9fa;
  border-radius: 16px;
  padding: 30px;
  transition: all 0.3s ease;
}

.gallery-info-section .info-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.gallery-info-section .info-card-icon {
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #E85A71, #ff7b8a);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.gallery-info-section .info-card-icon svg {
  width: 24px;
  height: 24px;
  stroke: #fff;
}

.gallery-info-section .info-card h3 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 12px 0 !important;
  text-shadow: none !important;
}

.gallery-info-section .info-card p {
  font-size: 14px;
  line-height: 1.7;
  color: #666;
  margin: 0;
}

.gallery-info-section .info-card p a {
  color: #E85A71;
  text-decoration: none;
  font-weight: 600;
}

.gallery-info-section .info-card p strong {
  color: #1a1a1a;
}

/* Pricing Info Box */
.gallery-info-section .pricing-info-box {
  background: linear-gradient(135deg, #FFF5F6 0%, #fff 100%);
  border: 2px solid #E85A71;
  border-radius: 16px;
  padding: 30px;
  text-align: center;
}

.gallery-info-section .pricing-info-box h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #E85A71 !important;
  margin: 0 0 15px 0 !important;
  text-shadow: none !important;
}

.gallery-info-section .pricing-info-box p {
  font-size: 15px;
  line-height: 1.8;
  color: #555;
  margin: 0;
  text-align: center;
}

.gallery-info-section .pricing-info-box p a {
  color: #E85A71;
  font-weight: 700;
  text-decoration: none;
}

/* CTA Banner */
.gallery-cta-banner {
  background: linear-gradient(135deg, #E85A71 0%, #d64d63 100%);
  padding: 60px 20px;
  text-align: center;
}

.gallery-cta-banner .cta-content {
  max-width: 600px;
  margin: 0 auto;
}

.gallery-cta-banner h2 {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 10px 0 !important;
  text-shadow: none !important;
}

.gallery-cta-banner p {
  font-size: 16px;
  color: rgba(255,255,255,0.9);
  margin: 0 0 25px 0;
}

.gallery-cta-banner .cta-phone-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  color: #E85A71;
  padding: 16px 40px;
  border-radius: 50px;
  font-size: 22px;
  font-weight: 800;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.gallery-cta-banner .cta-phone-btn:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 15px 40px rgba(0,0,0,0.3);
}

.gallery-cta-banner .cta-phone-btn svg {
  width: 24px;
  height: 24px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .gallery-page-hero {
    padding: 40px 15px;
  }

  .gallery-page-hero h1 {
    font-size: 26px !important;
  }

  .gallery-page-hero .hero-features {
    gap: 15px;
  }

  .gallery-page-hero .feature-item {
    font-size: 12px;
  }

  .gallery-profiles-section {
    padding: 40px 0;
  }

  .gallery-section-title h2 {
    font-size: 26px !important;
  }

  .gallery-info-section {
    padding: 40px 0;
  }

  .gallery-info-section .info-grid {
    grid-template-columns: 1fr;
  }

  .gallery-info-section .info-intro h2 {
    font-size: 24px !important;
  }

  .gallery-cta-banner h2 {
    font-size: 24px !important;
  }

  .gallery-cta-banner .cta-phone-btn {
    font-size: 18px;
    padding: 14px 30px;
  }
}

@media (max-width: 480px) {
  .gallery-page-hero h1 {
    font-size: 22px !important;
  }

  .gallery-page-hero .hero-features {
    flex-direction: column;
    gap: 10px;
  }

  .gallery-section-title h2 {
    font-size: 22px !important;
  }

  .gallery-info-section .info-card {
    padding: 20px;
  }

  .gallery-cta-banner {
    padding: 40px 15px;
  }

  .gallery-cta-banner h2 {
    font-size: 20px !important;
  }

  .gallery-cta-banner .cta-phone-btn {
    font-size: 16px;
    padding: 12px 25px;
  }
}

/* =========================================
   LOCATIONS PAGE - NEW DESIGN
   ========================================= */

/* Location Hero Banner */
.location-page-hero {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  padding: 60px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.location-page-hero .hero-bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 20% 50%, rgba(232, 90, 113, 0.15) 0%, transparent 50%),
                    radial-gradient(circle at 80% 50%, rgba(232, 90, 113, 0.1) 0%, transparent 50%);
  pointer-events: none;
}

.location-page-hero .hero-inner {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
}

.location-page-hero h1 {
  font-size: 34px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 15px 0 !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
}

.location-page-hero .hero-desc {
  font-size: 16px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 30px;
}

.location-page-hero .hero-features {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}

.location-page-hero .feature-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.location-page-hero .feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #E85A71;
  border-radius: 50%;
  font-size: 12px;
  color: #fff;
}

/* Location Content Section */
.location-content-section {
  background: linear-gradient(180deg, #FFF5F6 0%, #F0F4FF 50%, #FFF9F0 100%);
  padding: 60px 0;
  position: relative;
}

.location-content-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 10% 20%, rgba(232, 90, 113, 0.03) 0%, transparent 50%),
                    radial-gradient(circle at 90% 80%, rgba(100, 100, 255, 0.03) 0%, transparent 50%);
  pointer-events: none;
}

.location-content-section .container {
  position: relative;
  z-index: 1;
}

/* Location Intro Text - Hero Style */
.location-intro-text {
  max-width: 100%;
  margin: 0 0 50px 0;
  text-align: center;
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  padding: 50px 40px;
  border-radius: 24px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  position: relative;
  overflow: hidden;
}

.location-intro-text::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 20% 50%, rgba(232, 90, 113, 0.15) 0%, transparent 50%),
              radial-gradient(circle at 80% 50%, rgba(232, 90, 113, 0.1) 0%, transparent 50%);
  pointer-events: none;
}

.location-intro-text::after {
  content: '"';
  position: absolute;
  top: 20px;
  left: 30px;
  font-size: 120px;
  font-family: Georgia, serif;
  color: rgba(232, 90, 113, 0.15);
  line-height: 1;
  pointer-events: none;
}

.location-intro-text p {
  font-size: 17px;
  line-height: 1.9;
  color: rgba(255,255,255,0.9);
  text-align: center !important;
  margin: 0;
  position: relative;
  z-index: 1;
  max-width: 850px;
  margin: 0 auto;
}

.location-intro-text p a {
  color: #ff7b8a;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px dashed rgba(255,123,138,0.5);
  transition: all 0.3s ease;
}

.location-intro-text p a:hover {
  color: #fff;
  border-bottom-color: #fff;
}

/* Location Content Boxes - Grid Layout */
.location-boxes-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  margin-bottom: 30px;
}

.location-content-box {
  background: linear-gradient(145deg, #fff 0%, #FFFBFC 100%);
  border-radius: 24px;
  padding: 0;
  margin-bottom: 0;
  box-shadow: 0 10px 40px rgba(0,0,0,0.06);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  position: relative;
  overflow: hidden;
  border: none;
  display: flex;
  flex-direction: column;
}

.location-content-box::before {
  display: none;
}

.location-content-box::after {
  display: none;
}

/* Card Header with Icon */
.location-content-box h2 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  text-shadow: none !important;
  text-align: left !important;
  position: relative;
  z-index: 1;
  padding: 22px 25px;
  background: linear-gradient(135deg, #E85A71 0%, #d64d63 100%);
}

.location-content-box h2::before {
  content: '✦';
  margin-right: 12px;
  font-size: 14px;
}

.location-content-box h2::after {
  display: none;
}

/* Alternating header colors */
.location-content-box:nth-child(2) h2 {
  background: linear-gradient(135deg, #6B7FD7 0%, #5a6bc7 100%);
}

.location-content-box:nth-child(3) h2 {
  background: linear-gradient(135deg, #43B794 0%, #38a583 100%);
}

.location-content-box:nth-child(4) h2 {
  background: linear-gradient(135deg, #E8A85A 0%, #d69a4d 100%);
}

.location-content-box p {
  font-size: 14px;
  line-height: 1.8;
  color: #555;
  margin: 0;
  text-align: left !important;
  position: relative;
  z-index: 1;
  padding: 25px;
  flex: 1;
}

.location-content-box p a {
  color: #E85A71;
  text-decoration: none;
  font-weight: 600;
}

.location-content-box p a:hover {
  text-decoration: underline;
}

.location-content-box:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(232, 90, 113, 0.15);
}

.location-content-box:nth-child(2):hover {
  box-shadow: 0 20px 50px rgba(107, 127, 215, 0.15);
}

.location-content-box:nth-child(3):hover {
  box-shadow: 0 20px 50px rgba(67, 183, 148, 0.15);
}

.location-content-box:nth-child(4):hover {
  box-shadow: 0 20px 50px rgba(232, 168, 90, 0.15);
}

/* Location Section Title */
.location-section-title {
  text-align: center;
  margin: 60px 0 50px;
  position: relative;
}

.location-section-title::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232, 90, 113, 0.3), transparent);
}

.location-section-title h2 {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 10px 0 !important;
  text-shadow: none !important;
  background: linear-gradient(180deg, #FFF5F6 0%, #F0F4FF 100%);
  display: inline-block;
  padding: 0 30px;
  position: relative;
}

.location-section-title p {
  font-size: 16px;
  color: #666;
  margin: 0;
}

/* Locations Grid */
.locations-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

/* Unique Location Cards */
.location-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  background: #fff;
}

.location-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 24px;
  border: 3px solid transparent;
  background: linear-gradient(135deg, #E85A71, #ff7b8a, #E85A71) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 2;
  pointer-events: none;
}

.location-card:hover::before {
  opacity: 1;
}

.location-card:hover {
  transform: translateY(-12px) scale(1.02);
  box-shadow: 0 25px 60px rgba(232, 90, 113, 0.25);
}

.location-card a {
  text-decoration: none;
  display: block;
}

.location-image-wrapper {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1;
  border-radius: 24px;
}

.location-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.location-card:hover .location-image {
  transform: scale(1.15);
}

.location-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg,
    transparent 0%,
    transparent 40%,
    rgba(0,0,0,0.4) 70%,
    rgba(0,0,0,0.85) 100%);
  pointer-events: none;
  transition: all 0.3s ease;
}

.location-card:hover .location-overlay {
  background: linear-gradient(180deg,
    rgba(232, 90, 113, 0.1) 0%,
    transparent 30%,
    rgba(0,0,0,0.5) 70%,
    rgba(0,0,0,0.9) 100%);
}

.location-name {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  text-shadow: none !important;
  padding: 20px 15px;
  background: linear-gradient(135deg, rgba(232, 90, 113, 0.9) 0%, rgba(200, 60, 90, 0.9) 100%);
  transition: all 0.3s ease;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.location-card:hover .location-name {
  padding: 25px 15px;
  letter-spacing: 2px;
}

/* Location CTA Banner */
.location-cta-banner {
  background: linear-gradient(135deg, #E85A71 0%, #d64d63 100%);
  padding: 60px 20px;
  text-align: center;
}

.location-cta-banner .cta-content {
  max-width: 600px;
  margin: 0 auto;
}

.location-cta-banner h2 {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 10px 0 !important;
  text-shadow: none !important;
}

.location-cta-banner p {
  font-size: 16px;
  color: rgba(255,255,255,0.9);
  margin: 0 0 25px 0;
  text-align: center !important;
}

.location-cta-banner .cta-phone-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  color: #E85A71;
  padding: 16px 40px;
  border-radius: 50px;
  font-size: 22px;
  font-weight: 800;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.location-cta-banner .cta-phone-btn:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 15px 40px rgba(0,0,0,0.3);
}

.location-cta-banner .cta-phone-btn svg {
  width: 24px;
  height: 24px;
}

/* Location Page Mobile Responsive */
@media (max-width: 992px) {
  .locations-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .location-page-hero {
    padding: 40px 15px;
  }

  .location-page-hero h1 {
    font-size: 24px !important;
  }

  .location-page-hero .hero-features {
    gap: 15px;
  }

  .location-page-hero .feature-item {
    font-size: 12px;
  }

  .location-content-section {
    padding: 40px 0;
  }

  .location-intro-text {
    padding: 35px 20px;
    margin-bottom: 30px;
    border-radius: 18px;
  }

  .location-intro-text::after {
    font-size: 80px;
    top: 10px;
    left: 15px;
  }

  .location-intro-text p {
    font-size: 15px;
  }

  .location-boxes-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .location-content-box {
    border-radius: 18px;
  }

  .location-content-box h2 {
    font-size: 16px !important;
    padding: 18px 20px;
  }

  .location-content-box p {
    padding: 20px;
  }

  .location-section-title h2 {
    font-size: 24px !important;
    padding: 0 20px;
  }

  .locations-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  .location-card {
    border-radius: 18px;
  }

  .location-image-wrapper {
    border-radius: 18px;
  }

  .location-name {
    font-size: 13px !important;
    padding: 15px 10px;
  }

  .location-card:hover .location-name {
    padding: 15px 10px;
  }

  .location-cta-banner h2 {
    font-size: 24px !important;
  }

  .location-cta-banner .cta-phone-btn {
    font-size: 18px;
    padding: 14px 30px;
  }
}

@media (max-width: 480px) {
  .location-page-hero h1 {
    font-size: 20px !important;
  }

  .location-page-hero .hero-features {
    flex-direction: column;
    gap: 10px;
  }

  .location-intro-text {
    padding: 30px 15px;
    border-radius: 16px;
  }

  .location-intro-text::after {
    font-size: 60px;
    top: 5px;
    left: 10px;
  }

  .location-intro-text p {
    font-size: 14px;
  }

  .location-content-box {
    border-radius: 14px;
  }

  .location-content-box h2 {
    font-size: 14px !important;
    padding: 15px;
  }

  .location-content-box p {
    padding: 15px;
    font-size: 13px;
  }

  .location-section-title h2 {
    font-size: 20px !important;
  }

  .locations-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .location-card {
    border-radius: 14px;
  }

  .location-image-wrapper {
    border-radius: 14px;
  }

  .location-name {
    font-size: 11px !important;
    padding: 12px 8px;
    letter-spacing: 0.5px;
  }

  .location-cta-banner {
    padding: 40px 15px;
  }

  .location-cta-banner h2 {
    font-size: 20px !important;
  }

  .location-cta-banner .cta-phone-btn {
    font-size: 16px;
    padding: 12px 25px;
  }
}

/* =========================================
   PROFILE CARDS SECTION
   ========================================= */
.profiles-section {
  background: linear-gradient(180deg, #FFF8F9 0%, #fff 50%, #FFF8F9 100%);
  padding: 60px 0;
  position: relative;
  overflow: hidden;
}

.profiles-gallery {
  margin-bottom: 60px;
  position: relative;
  z-index: 1;
}

.section-header {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  z-index: 1;
}

.section-header h2 {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  margin-bottom: 15px !important;
  text-shadow: none !important;
  font-style: normal !important;
  position: relative;
  display: inline-block;
}

.section-header h2::before {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 4px;
  background: linear-gradient(90deg, transparent, #E85A71, transparent);
  border-radius: 2px;
}

.section-header p {
  font-size: 17px;
  color: #666;
  max-width: 700px;
  margin: 25px auto 0;
  line-height: 1.7;
}

.section-header p a {
  color: #E85A71;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s;
}

.section-header p a:hover {
  border-bottom-color: #E85A71;
}

/* Profile Cards Grid - Staggered */
.profiles-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 35px;
  margin-bottom: 50px;
  position: relative;
  z-index: 1;
}

/* ===========================================
   PROFILE CARDS - Full Image Overlay Design
   Matching reference exactly
   =========================================== */

/* Section Background */
.profiles-section,
.slider-gallery-section {
  background: #fff;
  padding: 40px 0;
}

/* =========================================
   ROMANTIC LIGHT COLOR BACKGROUNDS
   ========================================= */

/* ===== Profiles Section 1 — Pale Rose + curved waves on sides ===== */
.profiles-romantic-blush {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.55) 0%, transparent 60%),
    radial-gradient(ellipse at 50% 100%, rgba(255, 255, 255, 0.40) 0%, transparent 60%),
    #FBE7E5 !important;
  position: relative;
  padding: 90px 0 80px !important;
  overflow: hidden;
}

/* Left edge — flowing wave column */
.profiles-romantic-blush::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 140px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 800' preserveAspectRatio='none'><path d='M0,0 C60,120 -10,260 50,380 C100,500 0,620 60,800' stroke='%23B8475D' stroke-opacity='0.22' stroke-width='1.4' fill='none'/><path d='M0,40 C70,160 0,300 70,420 C120,540 20,660 80,800' stroke='%23D4A574' stroke-opacity='0.28' stroke-width='1.2' fill='none'/><path d='M0,80 C50,200 -10,340 40,460 C90,580 -10,700 50,820' stroke='%23B8475D' stroke-opacity='0.14' stroke-width='1' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 0;
}

/* Right edge — mirrored wave column */
.profiles-romantic-blush::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 140px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 800' preserveAspectRatio='none'><path d='M140,0 C80,120 150,260 90,380 C40,500 140,620 80,800' stroke='%23B8475D' stroke-opacity='0.22' stroke-width='1.4' fill='none'/><path d='M140,40 C70,160 140,300 70,420 C20,540 120,660 60,800' stroke='%23D4A574' stroke-opacity='0.28' stroke-width='1.2' fill='none'/><path d='M140,80 C90,200 150,340 100,460 C50,580 150,700 90,820' stroke='%23B8475D' stroke-opacity='0.14' stroke-width='1' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 0;
}

/* Reset shared section-header for this variant */
.profiles-romantic-blush .section-header {
  position: relative;
  z-index: 2;
  margin-bottom: 70px;
}

/* Decorative diamond ornament above heading — pure CSS, no text */
.profiles-romantic-blush .section-header::before {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  margin: 0 auto 22px;
  background: linear-gradient(135deg, #B8475D 0%, #D4A574 100%);
  transform: rotate(45deg);
  border-radius: 2px;
  box-shadow:
    -28px 6px 0 -3px #D4A574,
    28px 6px 0 -3px #D4A574;
  opacity: 0.85;
}

.profiles-romantic-blush .section-header h2 {
  font-family: 'Playfair Display', 'Open Sans', serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  color: #8B3A4C !important;
  line-height: 1.25 !important;
  letter-spacing: 0.3px !important;
  max-width: 760px;
  margin: 0 auto 12px !important;
  display: block;
}

/* Replace the underline bar with two flanking ornaments */
.profiles-romantic-blush .section-header h2::before {
  content: none !important;
}

.profiles-romantic-blush .section-header h2::after {
  content: '';
  display: block;
  width: 110px;
  height: 1px;
  margin: 22px auto 0;
  background: linear-gradient(90deg, transparent, #B8475D 30%, #D4A574 70%, transparent);
  position: relative;
}

/* Diamond between flanking lines */
.profiles-romantic-blush .section-header > h2 {
  position: relative;
}

.profiles-romantic-blush .section-header p {
  font-size: 16px;
  color: #6b5a51;
  max-width: 680px;
  margin: 22px auto 0;
  line-height: 1.8;
  font-style: italic;
  font-family: 'Playfair Display', 'Open Sans', serif;
  position: relative;
}

.profiles-romantic-blush .section-header p a {
  color: #B8475D;
  font-style: normal;
  font-weight: 600;
  font-family: 'Open Sans', sans-serif;
  border-bottom: 1px solid rgba(184, 71, 93, 0.4);
  transition: color 0.25s ease, border-color 0.25s ease;
}

.profiles-romantic-blush .section-header p a:hover {
  color: #8B3A4C;
  border-bottom-color: #8B3A4C;
}

/* Card grid sits cleanly above the pattern */
.profiles-romantic-blush .profiles-grid {
  position: relative;
  z-index: 1;
}

@media (max-width: 992px) {
  .profiles-romantic-blush::before,
  .profiles-romantic-blush::after {
    width: 60px;
    opacity: 0.7;
  }
}

@media (max-width: 768px) {
  .profiles-romantic-blush::before,
  .profiles-romantic-blush::after {
    width: 32px;
    opacity: 0.5;
  }
  .profiles-romantic-blush { padding: 60px 0 50px !important; }
  .profiles-romantic-blush .section-header h2 { font-size: 26px !important; }
}

/* ===== Profiles Section 2 — Horizontal scroll carousel on peach mist ===== */
.profiles-romantic-lavender {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(212, 165, 116, 0.16) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(232, 90, 113, 0.10) 0%, transparent 50%),
    linear-gradient(180deg, #FBE8DC 0%, #FCDFCE 100%) !important;
  position: relative;
  padding: 80px 0 80px !important;
  overflow: hidden;
}

/* Wavy ribbon at top */
.profiles-romantic-lavender::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24' preserveAspectRatio='none'><path d='M0,12 C150,0 300,24 450,12 C600,0 750,24 900,12 C1050,0 1200,24 1200,12 L1200,0 L0,0 Z' fill='%23F4C4A8' fill-opacity='0.45'/><path d='M0,18 C150,6 300,30 450,18 C600,6 750,30 900,18 C1050,6 1200,30 1200,18 L1200,0 L0,0 Z' fill='%23E89A75' fill-opacity='0.25'/></svg>");
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 2;
}

/* Sun/sphere decoration in top right */
.profiles-romantic-lavender::after {
  content: '';
  position: absolute;
  top: 60px;
  right: -80px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(232, 144, 90, 0.18) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.profiles-romantic-lavender .section-header {
  position: relative;
  z-index: 2;
  margin-bottom: 40px;
}

/* Triangle ornament above heading (CSS-only) */
.profiles-romantic-lavender .section-header::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  margin: 0 auto 18px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 14px solid #E89A75;
  filter: drop-shadow(0 4px 8px rgba(232, 144, 90, 0.3));
}

.profiles-romantic-lavender .section-header h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #B8475D !important;
  line-height: 1.25 !important;
  max-width: 820px;
  margin: 0 auto !important;
  display: block;
}

.profiles-romantic-lavender .section-header h2::before {
  content: none !important;
}

.profiles-romantic-lavender .section-header h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  margin: 18px auto 0;
  background: linear-gradient(90deg, #E89A75, #B8475D);
  border-radius: 2px;
}

/* ----- Carousel wrapper ----- */
.profiles-romantic-lavender .container {
  position: relative;
  z-index: 1;
}

.profiles-romantic-lavender .carousel-wrapper {
  position: relative;
}

/* Arrow buttons */
.profiles-romantic-lavender .carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(184, 71, 93, 0.20);
  color: #B8475D;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-shadow:
    0 12px 28px rgba(139, 58, 76, 0.18),
    0 4px 10px rgba(0, 0, 0, 0.06);
  z-index: 5;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
}

.profiles-romantic-lavender .carousel-arrow svg {
  width: 22px;
  height: 22px;
}

.profiles-romantic-lavender .carousel-prev { left: -10px; }
.profiles-romantic-lavender .carousel-next { right: -10px; }

.profiles-romantic-lavender .carousel-arrow:hover {
  background: linear-gradient(135deg, #B8475D 0%, #E89A75 100%);
  color: #fff;
  transform: translateY(-50%) scale(1.06);
  box-shadow:
    0 16px 32px rgba(139, 58, 76, 0.28),
    0 6px 14px rgba(0, 0, 0, 0.10);
}

.profiles-romantic-lavender .carousel-arrow.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

/* Switch grid → horizontal scroll strip */
.profiles-romantic-lavender .profiles-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  gap: 22px !important;
  overflow-x: auto !important;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 16px 4px 28px !important;
  margin: 0 !important;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}

.profiles-romantic-lavender .profiles-grid:active,
.profiles-romantic-lavender .profiles-grid.is-dragging {
  cursor: grabbing;
}

.profiles-romantic-lavender .profiles-grid.is-dragging {
  scroll-behavior: auto;
  scroll-snap-type: none;
}

.profiles-romantic-lavender .profiles-grid.is-dragging .gpc-card a,
.profiles-romantic-lavender .profiles-grid.is-dragging .gpc-card img {
  pointer-events: none;
}

/* Hide scrollbar but keep functional */
.profiles-romantic-lavender .profiles-grid {
  scrollbar-width: none;
}

.profiles-romantic-lavender .profiles-grid::-webkit-scrollbar {
  display: none;
}

/* Card sizing inside the carousel */
.profiles-romantic-lavender .profiles-grid .gpc-card {
  flex: 0 0 280px;
  width: 280px;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

/* Hint chip below the strip — purely decorative */
.profiles-romantic-lavender .container::after {
  content: '';
  display: block;
  width: 60px;
  height: 4px;
  margin: 8px auto 0;
  border-radius: 4px;
  background: linear-gradient(90deg, transparent, rgba(184, 71, 93, 0.45), transparent);
}

/* Responsive */
@media (max-width: 1200px) {
  .profiles-romantic-lavender .profiles-grid .gpc-card {
    flex: 0 0 260px;
    width: 260px;
  }
}

@media (max-width: 768px) {
  .profiles-romantic-lavender { padding: 50px 0 50px !important; }
  .profiles-romantic-lavender .section-header h2 { font-size: 24px !important; }
  .profiles-romantic-lavender .profiles-grid {
    gap: 14px;
    padding: 12px 4px 22px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
  }
  .profiles-romantic-lavender .profiles-grid .gpc-card {
    flex: 0 0 220px;
    width: 220px;
  }
}

@media (max-width: 480px) {
  .profiles-romantic-lavender .profiles-grid .gpc-card {
    flex: 0 0 200px;
    width: 200px;
  }
}

/* ===== Profiles Section 3 — Clean 4-col grid on dusty mauve ===== */
.profiles-romantic-peach {
  background:
    radial-gradient(ellipse at 15% 10%, rgba(120, 80, 110, 0.10) 0%, transparent 50%),
    radial-gradient(ellipse at 85% 90%, rgba(184, 71, 93, 0.10) 0%, transparent 50%),
    linear-gradient(180deg, #EDE3E8 0%, #E5D8DE 100%) !important;
  position: relative;
  padding: 80px 0 80px !important;
  overflow: hidden;
}

/* Herringbone weave pattern — very subtle */
.profiles-romantic-peach::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(45deg, transparent 0 14px, rgba(107, 62, 90, 0.04) 14px 15px),
    repeating-linear-gradient(-45deg, transparent 0 14px, rgba(184, 71, 93, 0.025) 14px 15px);
  pointer-events: none;
  z-index: 0;
}

/* Decorative deco-arch ornament — top center */
.profiles-romantic-peach::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 30px;
  border-bottom-left-radius: 100px 30px;
  border-bottom-right-radius: 100px 30px;
  background: linear-gradient(180deg, rgba(184, 71, 93, 0.12), transparent);
  pointer-events: none;
}

.profiles-romantic-peach .section-header {
  position: relative;
  z-index: 2;
  margin-bottom: 50px;
  text-align: center;
}

/* Header ornament — 3-line bracket [│││] style, CSS-only */
.profiles-romantic-peach .section-header::before {
  content: '';
  display: block;
  width: 56px;
  height: 18px;
  margin: 0 auto 20px;
  background-image:
    linear-gradient(180deg, #6B3E5A 0%, #6B3E5A 100%),
    linear-gradient(180deg, #B8475D 0%, #B8475D 100%),
    linear-gradient(180deg, #6B3E5A 0%, #6B3E5A 100%);
  background-position: 0 0, 26px 0, 52px 0;
  background-size: 4px 18px, 4px 18px, 4px 18px;
  background-repeat: no-repeat;
  border-radius: 2px;
}

.profiles-romantic-peach .section-header h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #5B2E4A !important;
  line-height: 1.25 !important;
  letter-spacing: 0.2px !important;
  max-width: 820px;
  margin: 0 auto !important;
  display: block;
  position: relative;
}

.profiles-romantic-peach .section-header h2::before {
  content: none !important;
}

/* Heading flanked by two short horizontal lines */
.profiles-romantic-peach .section-header h2::after {
  content: '';
  display: block;
  width: 50px;
  height: 2px;
  margin: 18px auto 0;
  background: #6B3E5A;
  position: relative;
  border-radius: 2px;
  box-shadow:
    -22px 0 0 -1px #B8475D,
    22px 0 0 -1px #B8475D;
}

/* ----- Clean uniform 4-column grid ----- */
.profiles-romantic-peach .profiles-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  position: relative;
  z-index: 1;
  margin-bottom: 0 !important;
}

/* Responsive */
@media (max-width: 1100px) {
  .profiles-romantic-peach .profiles-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 768px) {
  .profiles-romantic-peach { padding: 55px 0 55px !important; }
  .profiles-romantic-peach .section-header { margin-bottom: 32px; }
  .profiles-romantic-peach .section-header h2 { font-size: 24px !important; }
  .profiles-romantic-peach .profiles-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
}

/* Card Container */
.profile-card-premium {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: #f5f5f5;
  transition: all 0.35s ease;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.profile-card-premium:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* Card Link */
.profile-card-premium .profile-card-link {
  text-decoration: none;
  display: block;
}

/* Hide badges */
.card-badge {
  display: none !important;
}

/* Image Wrapper */
.profile-image-wrapper {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
  background: #e0e0e0;
}

.profile-image-wrapper .profile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.profile-card-premium:hover .profile-image {
  transform: scale(1.05);
}

/* Gradient Overlay */
.image-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 65%;
  background: linear-gradient(to top,
    rgba(0,0,0,0.8) 0%,
    rgba(0,0,0,0.5) 35%,
    rgba(0,0,0,0.15) 65%,
    transparent 100%);
  pointer-events: none;
  z-index: 2;
}

/* Profile Name */
.profile-image-wrapper .profile-name,
.profile-image-wrapper h3.profile-name,
.profile-card-premium h3.profile-name,
.profile-card-premium .profile-name {
  position: absolute !important;
  bottom: 90px !important;
  left: 14px !important;
  right: 45px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
  z-index: 10 !important;
  line-height: 1.3 !important;
  background: none !important;
  padding: 0 !important;
}

/* Like Button */
.like-btn {
  position: absolute !important;
  bottom: 88px !important;
  right: 12px !important;
  width: 32px !important;
  height: 32px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 15 !important;
  transition: transform 0.3s ease;
  padding: 0 !important;
}

.like-btn:hover {
  transform: scale(1.15);
}

.like-btn svg {
  width: 22px !important;
  height: 22px !important;
  fill: #E85A71 !important;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.3));
}

/* Card Content - On Image */
.card-content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 0 14px 14px !important;
  background: transparent !important;
  z-index: 10 !important;
}

/* Meta Row */
.card-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  margin-bottom: 10px;
  padding: 0;
  border: none;
}

.meta-category {
  font-size: 11px;
  font-weight: 500;
  color: rgba(255,255,255,0.95);
  background: none;
  padding: 0;
}

.meta-dot {
  color: rgba(255,255,255,0.5);
  font-size: 8px;
}

.meta-separator {
  display: none;
}

.meta-age,
.meta-location {
  font-size: 11px;
  font-weight: 400;
  color: rgba(255,255,255,0.85);
}

.meta-status {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 600;
  color: #4ade80;
  margin-left: auto;
}

.status-dot {
  width: 5px;
  height: 5px;
  background: #4ade80;
  border-radius: 50%;
  animation: pulse-status 2s infinite;
}

@keyframes pulse-status {
  0%, 100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.5); }
  50% { box-shadow: 0 0 0 3px rgba(74, 222, 128, 0); }
}

/* Footer */
.card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.price-display {
  display: flex;
  flex-direction: column;
}

.price-label {
  display: none;
}

.price-value {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

/* Book Now Button */
.book-now-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 7px 14px;
  background: transparent;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  border: 1.5px solid rgba(255,255,255,0.7);
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}

.book-now-btn:hover {
  background: #E85A71;
  border-color: #E85A71;
}

/* Hide old elements */
.profile-card-new,
.profile-card-new .profile-like,
.service-tag.incall,
.service-tag.outcall,
.profile-stats::after,
.profile-stats::before {
  display: none !important;
}

/* =========================================== */

/* OLD STYLES - Keep for backwards compatibility */
.profile-card-new-deprecated {
  position: relative;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
  transition: all 0.3s ease;
}

.profile-card-new-deprecated:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 35px rgba(0,0,0,0.12);
}

.profile-card-link {
  text-decoration: none;
  display: block;
}

/* Image Container */
.profile-image-container {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
  border-radius: 16px;
  margin: 8px;
  background: #f0f0f0;
}

.profile-image-container::before {
  display: none;
}

.profile-image-container::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
  z-index: 2;
  pointer-events: none;
  border-radius: 0 0 16px 16px;
}

.profile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  border-radius: 16px;
}

.profile-card-new:hover .profile-image {
  transform: scale(1.05);
}

/* Hide default overlay */
.profile-overlay,
.view-profile {
  display: none;
}

/* Name - On Image Bottom Left */
.profile-image-container .profile-name,
.profile-image-container h3.profile-name,
.profile-card-new .profile-image-container .profile-name,
.profile-card-new .profile-image-container h3.profile-name,
.profile-card-new .profile-image-container h3 {
  position: absolute !important;
  bottom: 15px !important;
  left: 20px !important;
  right: 60px !important;
  font-family: 'Poppins', 'Open Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  background: none !important;
  clear: none !important;
  line-height: 1.2 !important;
  z-index: 5 !important;
  padding: 0 !important;
  border: none !important;
}

/* Heart Button - Inside Image Container Bottom Right */
.profile-image-container .profile-like,
.profile-card-new .profile-image-container .profile-like {
  position: absolute !important;
  bottom: 12px !important;
  right: 15px !important;
  top: auto !important;
  left: auto !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(255,255,255,0.2) !important;
  border-radius: 50% !important;
  z-index: 10 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
  backdrop-filter: blur(5px);
}

.profile-like:hover {
  transform: scale(1.2);
}

.profile-like svg {
  width: 26px;
  height: 26px;
  fill: #E85A71;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
  transition: all 0.3s ease;
}

.profile-like:hover svg {
  fill: #ff4d6d;
}

/* Hide top badge on image */
.profile-badge,
.profile-card-new .profile-badge {
  display: none;
}

/* Location Badge - Hide */
.profile-location-badge,
.profile-card-new .profile-location-badge {
  display: none;
}

/* Profile Info - Below Image */
.profile-info {
  position: relative;
  padding: 12px 16px 16px;
  background: #fff !important;
  border-top: none !important;
}

/* Stats Row - Category • Age • Available */
.profile-stats {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.profile-stats span {
  font-size: 13px !important;
  color: #555 !important;
  font-weight: 500 !important;
  background: none !important;
  padding: 0 !important;
}

.profile-stats span:first-child {
  color: #777 !important;
}

.profile-stats span:not(:last-child)::after {
  content: '•';
  margin-left: 8px;
  color: #ccc !important;
}

/* Available Badge - Add via last span or service tag */
.profile-stats::after {
  content: 'Available';
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  color: #22c55e;
  font-weight: 600;
  padding-left: 8px;
}

.profile-stats::before {
  content: '';
  position: absolute;
  right: 16px;
  top: 18px;
  width: 8px;
  height: 8px;
  background: #22c55e;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.2);
}

/* Services Row - Price & Book Button */
.profile-services {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.service-tag {
  font-weight: 700;
  transition: all 0.3s ease;
}

.service-tag.incall {
  background: transparent !important;
  color: #222 !important;
  border: none !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.service-tag.outcall {
  background: transparent !important;
  color: #E85A71 !important;
  border: 1px solid #E85A71 !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.service-tag.outcall:hover {
  background: #E85A71 !important;
  color: #fff !important;
}

/* Hide phone */
.profile-contact {
  display: none;
}

/* Category & Rating for rest_prof cards */
.profile-category,
.profile-card-new .profile-category {
  font-size: 13px !important;
  color: #777 !important;
  font-weight: 500 !important;
  margin-bottom: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  background: none !important;
  padding: 0 !important;
  display: inline;
}

.profile-rating {
  display: none;
}

.profile-rating .stars {
  display: none;
}


/* =========================================
   SLIDER GALLERY SECTION
   ========================================= */
.slider-gallery-section {
  background: #E85A71;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.slider-gallery-section .container {
  position: relative;
}

.slider-gallery-section .section-header h2 {
  color: #fff !important;
}

.slider-gallery-section .section-header h2::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
}

.slider-gallery-section .section-header p {
  color: rgba(255,255,255,0.85);
}

.slider-gallery-section .section-header::before {
  display: none;
}

.slider-gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 25px;
  position: relative;
  z-index: 2;
}

/* Slider Cards - White Cards on Coral */
.slider-card {
  background: #fff;
  border-radius: 10px;
}

.slider-card:hover {
  transform: translateY(-5px);
}

.slider-card .profile-info {
  padding: 12px 8px;
}

.slider-card .profile-name,
.slider-card h3.profile-name,
.slider-card .profile-info h3 {
  font-size: 15px !important;
  color: #2d2d2d !important;
}

.profile-location-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #fff;
  color: #E85A71;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 9px;
  font-weight: 600;
  z-index: 5;
}



/* Divider line between sections */
.profiles-gallery + .profiles-grid {
  padding-top: 40px;
  position: relative;
}

.profiles-gallery + .profiles-grid::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 3px;
  background: linear-gradient(90deg, transparent, #E85A71, transparent);
  border-radius: 2px;
}

/* =========================================
   EXPERIENCE SECTION V2 - Premium Design
   ========================================= */
/* ===== Experience section — Polaroid stack on powder rose ===== */
.experience-section-v2 {
  background:
    radial-gradient(ellipse at 0% 100%, rgba(184, 71, 93, 0.10) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 0%, rgba(212, 165, 116, 0.10) 0%, transparent 50%),
    linear-gradient(180deg, #F8E4E4 0%, #F5DAD8 100%);
  padding: 90px 0;
  position: relative;
  overflow: hidden;
}

/* Faint horizontal pinstripe — "stationery" feel */
.experience-section-v2::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(0deg, transparent 0 38px, rgba(139, 58, 76, 0.025) 38px 39px);
  pointer-events: none;
}

.experience-v2-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 70px;
  align-items: center;
  position: relative;
  z-index: 1;
}

/* Content Side */
.experience-v2-content {
  position: relative;
}

/* Kicker — small italic serif pill on cream paper */
.experience-v2-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #FBF7F0;
  color: #B8475D;
  padding: 9px 18px;
  border-radius: 999px;
  font-family: 'Open Sans', sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 26px;
  border: 1px solid rgba(184, 71, 93, 0.25);
  box-shadow: 0 4px 12px rgba(139, 58, 76, 0.08);
}

.badge-icon {
  display: flex;
  align-items: center;
  color: #D4A574;
}

.experience-v2-title {
  font-family: 'Playfair Display', 'Georgia', serif !important;
  font-size: 40px !important;
  font-weight: 800 !important;
  color: #5B2A39 !important;
  line-height: 1.22 !important;
  margin: 0 0 18px 0 !important;
  text-shadow: none !important;
  letter-spacing: 0.2px;
}

.experience-v2-subtitle {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #8B3A4C !important;
  line-height: 1.55 !important;
  margin: 0 0 26px 0 !important;
  font-style: italic;
}

.experience-v2-divider {
  width: 70px;
  height: 1px;
  background: linear-gradient(90deg, #B8475D, #D4A574);
  border-radius: 2px;
  margin-bottom: 28px;
  position: relative;
}

.experience-v2-divider::before,
.experience-v2-divider::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 6px;
  height: 6px;
  background: #B8475D;
  border-radius: 50%;
  transform: translateY(-50%);
}

.experience-v2-divider::before { left: -3px; }
.experience-v2-divider::after  { left: calc(100% - 3px); background: #D4A574; }

.experience-v2-text p {
  font-size: 15.5px;
  color: #5a4a4a;
  line-height: 1.9;
  margin: 0 0 16px 0;
  text-align: left;
}

.experience-v2-text p:last-child {
  margin-bottom: 0;
}

.experience-v2-text p a {
  color: #B8475D;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px dashed rgba(184, 71, 93, 0.4);
  transition: color 0.3s ease, border-color 0.3s ease;
}

.experience-v2-text p a:hover {
  color: #8B3A4C;
  border-bottom-color: #8B3A4C;
}

/* Action Buttons */
.experience-v2-actions {
  display: flex;
  gap: 14px;
  margin-top: 32px;
  flex-wrap: wrap;
}

.experience-v2-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 999px;
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease;
}

.experience-v2-btn.primary {
  background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
  color: #FBF7F0;
  box-shadow: 0 10px 26px rgba(184, 71, 93, 0.32);
  border: 1px solid transparent;
}

.experience-v2-btn.primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(184, 71, 93, 0.42);
}

.experience-v2-btn.secondary {
  background: #FBF7F0;
  color: #25D366;
  border: 1.5px solid #25D366;
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.18);
}

.experience-v2-btn.secondary:hover {
  background: #25D366;
  color: #FBF7F0;
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(37, 211, 102, 0.35);
}

/* ----- Image Side: Polaroid stack ----- */
.experience-v2-image {
  position: relative;
  padding: 30px 40px 50px;
}

/* Two "background" polaroids peeking out, tilted opposite ways */
.experience-v2-image::before,
.experience-v2-image::after {
  content: '';
  position: absolute;
  background: #FBF7F0;
  border-radius: 4px;
  box-shadow:
    0 10px 28px rgba(139, 58, 76, 0.18),
    0 4px 10px rgba(0, 0, 0, 0.06);
  z-index: 1;
}

.experience-v2-image::before {
  top: 10px;
  left: 8px;
  width: 70%;
  height: 88%;
  background:
    linear-gradient(180deg, transparent 0 80%, #FBF7F0 80%),
    linear-gradient(135deg, #F4D7CF 0%, #EAB9AE 100%);
}

.experience-v2-image::after {
  top: 26px;
  right: 8px;
  width: 64%;
  height: 80%;
  background:
    linear-gradient(180deg, transparent 0 80%, #FBF7F0 80%),
    linear-gradient(135deg, #E8C5BA 0%, #D9A89A 100%);
}

/* Main polaroid — thick cream frame, thicker bottom margin */
.experience-v2-image-frame {
  position: relative;
  background: #FBF7F0;
  padding: 14px 14px 60px;
  border-radius: 4px;
  box-shadow: 0 16px 32px rgba(139, 58, 76, 0.20);
  z-index: 2;
}

.experience-v2-image-frame img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  border-radius: 2px;
}

/* Washi tape strip across the top of the main polaroid */
.experience-v2-image-frame::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 110px;
  height: 22px;
  background: repeating-linear-gradient(45deg, rgba(232, 90, 113, 0.55) 0 7px, rgba(212, 165, 116, 0.55) 7px 14px);
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.10);
  z-index: 3;
}

/* Soft inner shadow for "printed photo" feel */
.image-overlay-gradient {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
  bottom: 60px;
  background: linear-gradient(transparent 70%, rgba(0, 0, 0, 0.15));
  pointer-events: none;
  border-radius: 2px;
}

/* Hide the old corner-bracket accents — polaroid look doesn't need them */
.frame-accent {
  display: none;
}

/* Floating Card — paper note with tape, lower-left */
.floating-card {
  position: absolute;
  bottom: 0;
  left: 6px;
  background: #FBF7F0;
  padding: 16px 22px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 10px 22px rgba(139, 58, 76, 0.18);
  z-index: 10;
}

.floating-card::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 20px;
  width: 50px;
  height: 16px;
  background: repeating-linear-gradient(45deg, rgba(212, 165, 116, 0.55) 0 6px, rgba(184, 71, 93, 0.55) 6px 12px);
  border-radius: 2px;
}

.floating-card-icon {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, #FDEFEC 0%, #F4D7CF 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B8475D;
  border: 1px solid rgba(184, 71, 93, 0.18);
}

.floating-card-text {
  display: flex;
  flex-direction: column;
}

.card-number {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  font-weight: 800;
  color: #5B2A39;
  line-height: 1;
}

.card-label {
  font-size: 11px;
  color: #8a7a6b;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-top: 4px;
}

/* =========================================
   CATEGORIES SECTION V2 - Premium Design
   ========================================= */
/* ===== Categories section — scrapbook sticker board on pale lavender ===== */
.categories-section-v2 {
  background:
    radial-gradient(ellipse at 10% 15%, rgba(155, 89, 182, 0.10) 0%, transparent 45%),
    radial-gradient(ellipse at 90% 85%, rgba(232, 90, 113, 0.08) 0%, transparent 45%),
    linear-gradient(180deg, #EFEAF6 0%, #ECE5F2 100%);
  padding: 55px 0 50px;
  position: relative;
  overflow: hidden;
}

/* Scattered sparkles + grid dots — cork-board feel */
.categories-section-v2::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 12% 22%, rgba(184, 71, 93, 0.45) 1.2px, transparent 1.6px),
    radial-gradient(circle at 88% 18%, rgba(212, 165, 116, 0.55) 1.4px, transparent 1.8px),
    radial-gradient(circle at 18% 78%, rgba(155, 89, 182, 0.40) 1.2px, transparent 1.6px),
    radial-gradient(circle at 82% 72%, rgba(184, 71, 93, 0.45) 1.4px, transparent 1.8px),
    radial-gradient(circle at 50% 12%, rgba(155, 89, 182, 0.35) 1.0px, transparent 1.5px),
    radial-gradient(circle at 4% 50%, rgba(212, 165, 116, 0.5) 1.2px, transparent 1.6px),
    radial-gradient(circle at 96% 50%, rgba(184, 71, 93, 0.4) 1.2px, transparent 1.6px),
    radial-gradient(circle at 1px 1px, rgba(120, 80, 140, 0.06) 1px, transparent 1.5px);
  background-size: auto, auto, auto, auto, auto, auto, auto, 26px 26px;
  pointer-events: none;
}

/* Big decorative geometric shapes — top-left & bottom-right */
.categories-section-v2::after {
  content: '';
  position: absolute;
  width: 220px;
  height: 220px;
  top: -60px;
  right: -60px;
  background: radial-gradient(circle, rgba(155, 89, 182, 0.10) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.categories-v2-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
  z-index: 1;
}

/* Header — taped paper card */
.categories-v2-header {
  text-align: center;
  margin-bottom: 32px;
  position: relative;
}

.categories-v2-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #fff 0%, #F5EEFA 100%);
  border: 1px solid rgba(155, 89, 182, 0.25);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9B59B6;
  margin: 0 auto 18px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 14px 28px rgba(120, 80, 140, 0.18),
    0 4px 10px rgba(0,0,0,0.06);
  transform: rotate(-4deg);
  transition: transform 0.4s ease;
  position: relative;
}

/* Washi tape on top of the icon card */
.categories-v2-icon::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%) rotate(2deg);
  width: 44px;
  height: 14px;
  background: repeating-linear-gradient(45deg, rgba(232, 90, 113, 0.55) 0 6px, rgba(212, 165, 116, 0.55) 6px 12px);
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

.categories-v2-icon:hover {
  transform: rotate(4deg) scale(1.04);
}

.categories-v2-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #5B3A6B !important;
  margin: 0 0 10px 0 !important;
  text-shadow: none !important;
  letter-spacing: 0.2px;
  position: relative;
  display: inline-block;
}

/* Yellow highlighter swipe under part of the title */
.categories-v2-title::after {
  content: '';
  position: absolute;
  left: -6px;
  right: -6px;
  bottom: 6px;
  height: 10px;
  background: linear-gradient(90deg, rgba(212, 165, 116, 0.45) 0%, rgba(232, 90, 113, 0.35) 100%);
  z-index: -1;
  border-radius: 4px;
  transform: skewX(-3deg);
}

.categories-v2-subtitle {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 15px;
  color: #7A6585;
  margin: 0;
}

/* Sticker board — flex wrap with varied sizes & tilts per chip */
.categories-v2-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 14px 14px;
  margin-bottom: 32px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding: 8px 0;
}

.category-card-v2 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #FFFFFF;
  padding: 12px 20px 12px 14px;
  border-radius: 14px;
  text-decoration: none;
  border: none;
  position: relative;
  box-shadow: 0 4px 12px rgba(184, 71, 93, 0.10);
}

/* Each card gets a subtle different pastel tint — flat, no rotation */
.category-card-v2:nth-child(6n+1) { background: #FFFFFF; }
.category-card-v2:nth-child(6n+2) { background: #FDEFEC; }
.category-card-v2:nth-child(6n+3) { background: #F4EBDB; }
.category-card-v2:nth-child(6n+4) { background: #EAF3EC; }
.category-card-v2:nth-child(6n+5) { background: #F3EAF7; }
.category-card-v2:nth-child(6n)   { background: #FFF3DC; }

/* Soft inset accent border ring */
.category-card-v2::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(184, 71, 93, 0.12);
  border-radius: 11px;
  pointer-events: none;
}

.category-card-v2:hover {
  background: linear-gradient(135deg, #B8475D 0%, #5B2A39 100%);
  box-shadow: 0 8px 22px rgba(184, 71, 93, 0.25);
}

.category-card-v2:hover::before {
  border-color: rgba(255, 255, 255, 0.45);
}

/* Emoji disc */
.category-card-icon {
  font-size: 17px;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  position: relative;
  z-index: 1;
  transition: transform 0.35s ease, background 0.35s ease;
  flex-shrink: 0;
  box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}

.category-card-v2:hover .category-card-icon {
  transform: scale(1.18) rotate(-10deg);
  background: #fff;
}

.category-card-name {
  font-family: 'Open Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  color: #4A3B55;
  position: relative;
  z-index: 1;
  transition: color 0.3s ease;
  white-space: nowrap;
  letter-spacing: 0.3px;
}

.category-card-v2:hover .category-card-name {
  color: #fff;
}

.category-card-arrow {
  display: none;
}

/* View All CTA — ticket stub with perforated edges */
.categories-v2-cta {
  text-align: center;
}

.categories-view-all {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(135deg, #5B3A6B 0%, #B8475D 100%);
  color: #fff;
  padding: 16px 38px;
  border-radius: 8px;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  box-shadow:
    0 12px 26px rgba(91, 58, 107, 0.32),
    0 4px 10px rgba(184, 71, 93, 0.18);
}

/* Perforated holes on the left and right sides — ticket-stub effect */
.categories-view-all::before,
.categories-view-all::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  background: #ECE5F2;
  border-radius: 50%;
  transform: translateY(-50%);
}

.categories-view-all::before { left: -7px; }
.categories-view-all::after  { right: -7px; }

.categories-view-all:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow:
    0 18px 34px rgba(91, 58, 107, 0.40),
    0 6px 14px rgba(184, 71, 93, 0.22);
}

.categories-view-all svg {
  transition: transform 0.3s ease;
  width: 18px;
  height: 18px;
}

.categories-view-all:hover svg {
  transform: translateX(4px) rotate(8deg);
}

/* Responsive — sticker board */
@media (max-width: 900px) {
  .categories-v2-title { font-size: 34px !important; }
}

@media (max-width: 700px) {
  .categories-section-v2 { padding: 40px 0 36px; }
  .categories-v2-grid { gap: 10px 10px; padding: 6px 0; margin-bottom: 24px; }
  .categories-v2-header { margin-bottom: 24px; }
  .categories-v2-title { font-size: 24px !important; }
  .category-card-v2 { padding: 10px 16px 10px 12px; }
  /* Reduce tilt on mobile so cards don't overlap or look cluttered */
  .category-card-v2:nth-child(6n+1),
  .category-card-v2:nth-child(6n+2),
  .category-card-v2:nth-child(6n+3),
  .category-card-v2:nth-child(6n+4),
  .category-card-v2:nth-child(6n+5),
  .category-card-v2:nth-child(6n) {
    transform: rotate(0deg);
    padding: 10px 16px 10px 12px;
  }
  .category-card-icon { width: 24px; height: 24px; font-size: 14px; }
  .category-card-name { font-size: 12.5px; }
  .categories-v2-icon { width: 60px; height: 60px; transform: rotate(-2deg); }
}

@media (max-width: 480px) {
  .categories-v2-container { padding: 0 18px; }
  .categories-view-all { padding: 14px 28px; font-size: 11.5px; gap: 10px; }
  .categories-view-all::before,
  .categories-view-all::after { width: 12px; height: 12px; }
}

/* Responsive - Experience V2 */
@media (max-width: 1100px) {
  .experience-v2-container {
    gap: 50px;
  }

  .experience-v2-title {
    font-size: 36px !important;
  }

  .floating-card {
    left: 10px;
  }
}

@media (max-width: 992px) {
  .experience-v2-container {
    grid-template-columns: 1fr;
    gap: 50px;
    text-align: center;
  }

  .experience-v2-title {
    font-size: 34px !important;
  }

  .experience-v2-subtitle {
    font-size: 17px !important;
  }

  .experience-v2-divider {
    margin: 0 auto 28px;
  }

  .experience-v2-text p {
    text-align: center;
  }

  .experience-v2-actions {
    justify-content: center;
  }

  .experience-v2-image {
    order: -1;
    max-width: 460px;
    margin: 0 auto;
    padding: 24px 30px 50px;
  }

  .experience-v2-image-frame img {
    height: 420px;
  }

  .floating-card {
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%) rotate(2deg);
  }

  .floating-card:hover {
    transform: translateX(-50%) rotate(0deg) translateY(-4px);
  }
}

@media (max-width: 576px) {
  .experience-section-v2 {
    padding: 60px 0 80px;
  }

  .experience-v2-container {
    padding: 0 20px;
  }

  .experience-v2-badge {
    font-size: 11px;
    padding: 8px 16px;
  }

  .experience-v2-title {
    font-size: 28px !important;
  }

  .experience-v2-subtitle {
    font-size: 16px !important;
  }

  .experience-v2-text p {
    font-size: 15px;
  }

  .experience-v2-btn {
    padding: 14px 24px;
    font-size: 14px;
    width: 100%;
    justify-content: center;
  }

  .experience-v2-actions {
    flex-direction: column;
  }

  .experience-v2-image-frame img {
    height: 360px;
  }

  .experience-v2-image-frame {
    padding: 10px 10px 50px;
  }

  .experience-v2-image {
    padding: 18px 16px 50px;
  }

  .experience-v2-image::before,
  .experience-v2-image::after {
    display: none;
  }

  .floating-card {
    padding: 13px 18px;
  }

  .card-number {
    font-size: 20px;
  }

  .categories-section {
    padding: 40px 0;
  }

  .category-tag {
    padding: 8px 15px;
    font-size: 12px;
  }
}

/* BCG Heading (legacy support) */
h2.bcg {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  text-align: center !important;
  margin: 60px 0 30px !important;
  text-shadow: none !important;
  font-style: normal !important;
  line-height: 1.5 !important;
}

/* Override #empty styles */
#empty {
  background: #FFF8F9 !important;
  position: relative;
}

#empty h2 {
  color: #1a1a1a !important;
  text-shadow: none !important;
}

#empty h3 {
  color: #333 !important;
  text-shadow: none !important;
}

/* Profile card name inside #empty must stay white (sits on dark image overlay) */
#empty .gpc-name,
#empty h3.gpc-name {
  color: #fff !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
}

#empty .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

/* ====== RESPONSIVE ====== */
@media (max-width: 1200px) {
  .profiles-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
  .slider-gallery-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .section-header h2 {
    font-size: 30px !important;
  }
}

@media (max-width: 992px) {
  .profiles-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
  .slider-gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .profiles-section {
    padding: 80px 0 100px;
  }
  .slider-gallery-section {
    padding: 80px 0;
  }
  .section-header h2 {
    font-size: 26px !important;
  }
}

@media (max-width: 768px) {
  .profiles-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .slider-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .section-header {
    margin-bottom: 40px;
  }

  .section-header::before {
    display: none;
  }

  .profile-card-new {
    border-radius: 16px;
  }

  .profile-image-container {
    margin: 6px;
    border-radius: 12px;
  }

  .profile-image {
    border-radius: 12px;
  }

  .profile-image-container .profile-name,
  .profile-image-container h3.profile-name,
  .profile-card-new .profile-image-container h3 {
    font-size: 16px !important;
    color: #ffffff !important;
    bottom: 12px !important;
    left: 14px !important;
    right: 50px !important;
  }

  .profile-stats span {
    font-size: 11px !important;
  }

  .profile-stats::after {
    font-size: 11px;
  }

  .service-tag.incall {
    font-size: 15px !important;
  }

  .service-tag.outcall {
    padding: 8px 14px !important;
    font-size: 11px !important;
  }

  .profile-image-container .profile-like {
    width: 32px !important;
    height: 32px !important;
    bottom: 10px !important;
    right: 12px !important;
  }

  .profile-like svg {
    width: 22px;
    height: 22px;
  }

  .profile-info {
    padding: 10px 12px 14px;
  }
}

@media (max-width: 576px) {
  .profiles-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .slider-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .profile-card-new {
    border-radius: 14px;
  }

  .profile-card-new:hover {
    transform: translateY(-3px);
  }

  .profile-image-container {
    margin: 5px;
    border-radius: 10px;
  }

  .profile-image-container::after {
    height: 80px;
  }

  .profile-image {
    border-radius: 10px;
  }

  .profile-image-container .profile-name,
  .profile-image-container h3.profile-name,
  .profile-card-new .profile-image-container h3 {
    font-size: 14px !important;
    color: #ffffff !important;
    bottom: 10px !important;
    left: 10px !important;
    right: 42px !important;
    letter-spacing: 0.3px !important;
  }

  .profile-image-container .profile-like {
    width: 28px !important;
    height: 28px !important;
    bottom: 8px !important;
    right: 10px !important;
  }

  .profile-image-container .profile-like svg {
    width: 18px !important;
    height: 18px !important;
  }

  .profile-stats {
    gap: 6px;
    margin-bottom: 8px;
  }

  .profile-stats span {
    font-size: 10px !important;
  }

  .profile-stats span:not(:last-child)::after {
    margin-left: 6px;
  }

  .profile-stats::after {
    font-size: 10px;
    padding-left: 6px;
  }

  .profile-stats::before {
    width: 6px;
    height: 6px;
    right: 12px;
    top: 14px;
  }

  .service-tag.incall {
    font-size: 14px !important;
  }

  .service-tag.outcall {
    padding: 7px 12px !important;
    font-size: 10px !important;
    border-radius: 6px !important;
  }

  .profile-services {
    gap: 5px;
  }

  .profile-like {
    width: 30px;
    height: 30px;
    bottom: 8px;
    right: 10px;
  }

  .profile-like svg {
    width: 18px;
    height: 18px;
  }

  .section-header h2 {
    font-size: 20px !important;
    padding: 0 10px;
  }

  .section-header p {
    font-size: 14px;
    padding: 0 10px;
  }

  .profile-info {
    padding: 8px 10px 12px;
  }

  .profile-category {
    font-size: 10px !important;
  }

  .profiles-section {
    padding: 60px 0 80px;
  }

  .slider-gallery-section {
    padding: 80px 0 60px;
  }

  .profiles-section::before,
  .profiles-section::after,
  .slider-gallery-section::before,
  .slider-gallery-section::after {
    height: 50px;
  }

  .slider-card .profile-name,
  .slider-card h3.profile-name {
    font-size: 13px !important;
    color: #ffffff !important;
  }
}

/* Responsive Content Sections */
@media (max-width: 992px) {
  .welcome-container,
  .expertise-container {
    flex-direction: column;
    text-align: center;
  }

  .expertise-container {
    flex-direction: column-reverse;
  }

  .welcome-content h2,
  .expertise-content h2 {
    font-size: 28px;
  }

  .features-grid {
    grid-template-columns: 1fr;
  }

  .stats-row {
    justify-content: center;
  }

  .welcome-image img,
  .expertise-image img {
    max-width: 320px;
  }

  .welcome-image-wrapper::before {
    width: 280px;
    height: 350px;
    left: -30px;
  }

  .welcome-image-wrapper::after {
    display: none;
  }

  .welcome-image-decoration.circle-1,
  .welcome-image-decoration.circle-2 {
    left: 10px;
  }
}

@media (max-width: 576px) {
  .welcome-section,
  .features-section,
  .expertise-section {
    padding: 60px 0 80px;
  }


  .welcome-content h2,
  .expertise-content h2 {
    font-size: 24px;
  }

  .features-title {
    font-size: 26px;
  }

  .stats-row {
    flex-direction: column;
    gap: 15px;
  }

  .stat-box {
    padding: 15px 20px;
  }

  .feature-card {
    padding: 25px;
  }

  .feature-card h3 {
    font-size: 20px;
  }
}

/* =========================================
   SERVICES MAGAZINE SECTION - New Design
   ========================================= */
/* ===== Services Magazine — alternating cream/sand rows, varied image shapes ===== */
.services-magazine-section {
  background:
    radial-gradient(ellipse at 10% 5%, rgba(212, 165, 116, 0.10) 0%, transparent 50%),
    radial-gradient(ellipse at 90% 95%, rgba(184, 71, 93, 0.08) 0%, transparent 50%),
    #FBF7F0;
  padding: 90px 0;
  position: relative;
  overflow: hidden;
}

/* Faint horizontal pinstripes — magazine page feel */
.services-magazine-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(0deg, transparent 0 36px, rgba(139, 58, 76, 0.025) 36px 37px);
  pointer-events: none;
}

.services-magazine-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
  z-index: 1;
}

/* Magazine Header */
.magazine-header {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
}

/* Decorative tiny stars/dots above title */
.magazine-header::before {
  content: '';
  display: block;
  width: 64px;
  height: 8px;
  margin: 0 auto 16px;
  background-image:
    radial-gradient(circle at 4px 4px, #D4A574 3px, transparent 3.5px),
    radial-gradient(circle at 32px 4px, #B8475D 3.5px, transparent 4px),
    radial-gradient(circle at 60px 4px, #D4A574 3px, transparent 3.5px);
  background-repeat: no-repeat;
}

.magazine-main-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 40px !important;
  font-weight: 800 !important;
  color: #5B2A39 !important;
  margin: 0 0 16px 0 !important;
  letter-spacing: 0.2px;
}

.magazine-header-line {
  width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #B8475D, #D4A574, transparent);
  margin: 0 auto;
  border-radius: 2px;
  position: relative;
}

.magazine-header-line::before,
.magazine-header-line::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  transform: translateY(-50%);
}

.magazine-header-line::before { left: 32px; background: #B8475D; }
.magazine-header-line::after  { right: 32px; background: #D4A574; }

/* Magazine Rows — alternating layout, alternating paper tones */
.magazine-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
  padding: 36px;
  margin-bottom: 32px;
  border-radius: 18px;
  position: relative;
  border: 1px solid rgba(184, 71, 93, 0.10);
}

/* Alternating paper tones */
.magazine-row:nth-child(odd)  { background: #FFFFFF; }
.magazine-row:nth-child(even) { background: #F4EBDB; border-color: rgba(212, 165, 116, 0.28); }

.magazine-row.reverse {
  direction: rtl;
}

.magazine-row.reverse > * {
  direction: ltr;
}

.magazine-image-col {
  position: relative;
}

.magazine-image-box {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(139, 58, 76, 0.12);
}

.magazine-image-box img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
}

/* Image number — vary the badge style per row */
.image-number {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  font-weight: 800;
  z-index: 2;
}

/* Row 1 — filled rose circle */
.magazine-row:nth-of-type(1) .image-number {
  background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
  color: #FBF7F0;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(184, 71, 93, 0.4);
}

/* Row 2 — gold outlined square */
.magazine-row:nth-of-type(2) .image-number {
  background: #FBF7F0;
  color: #B8475D;
  border: 2px solid #D4A574;
  border-radius: 4px;
  box-shadow: 0 6px 14px rgba(212, 165, 116, 0.4);
}

/* Row 3 — diamond rotated */
.magazine-row:nth-of-type(3) .image-number {
  background: #FBF7F0;
  color: #B8475D;
  border: 2px solid #B8475D;
  border-radius: 50%;
  box-shadow: 0 6px 14px rgba(184, 71, 93, 0.25);
}

/* Row 4 — gold filled rounded rect */
.magazine-row:nth-of-type(4) .image-number {
  background: linear-gradient(135deg, #D4A574 0%, #B8475D 100%);
  color: #FBF7F0;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(212, 165, 116, 0.4);
}

/* Row 5 — outlined circle */
.magazine-row:nth-of-type(5) .image-number {
  background: #FBF7F0;
  color: #B8475D;
  border: 2px solid #B8475D;
  border-radius: 50%;
  box-shadow: 0 6px 14px rgba(184, 71, 93, 0.25);
}

.magazine-text-col h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  margin: 0 0 18px 0 !important;
  line-height: 1.3 !important;
}

.magazine-text-col h3 a {
  color: #B8475D !important;
  text-decoration: none;
  border-bottom: 1px dashed rgba(184, 71, 93, 0.4);
  transition: border-color 0.2s ease;
}

.magazine-text-col h3 a:hover {
  border-bottom-color: #8B3A4C;
}

.magazine-text-col p {
  font-size: 15px;
  line-height: 1.85;
  color: #5a4a4a;
  margin: 0 0 14px 0;
  text-align: left;
}

.magazine-text-col p:last-child {
  margin-bottom: 0;
}

.magazine-text-col p a {
  color: #B8475D;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px dashed rgba(184, 71, 93, 0.35);
  transition: color 0.25s ease, border-color 0.25s ease;
}

.magazine-text-col p a:hover {
  color: #8B3A4C;
  border-bottom-color: #8B3A4C;
}

/* Escorts Type Strip — cream paper band with rose chips */
.escorts-type-strip {
  background:
    radial-gradient(ellipse at 0% 50%, rgba(212, 165, 116, 0.18) 0%, transparent 50%),
    #FDEFEC;
  border-radius: 18px;
  padding: 30px 36px;
  margin: 40px 0;
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
  border: 1px solid rgba(184, 71, 93, 0.18);
  box-shadow: 0 12px 28px rgba(139, 58, 76, 0.08);
  position: relative;
}

/* Side accent bar */
.escorts-type-strip::before {
  content: '';
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 4px;
  background: linear-gradient(180deg, #B8475D, #D4A574);
  border-radius: 0 4px 4px 0;
}

.strip-title {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 700;
  color: #8B3A4C;
  white-space: nowrap;
  letter-spacing: 0.3px;
}

.strip-items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex: 1;
}

.strip-item {
  background: rgba(255, 255, 255, 0.75);
  color: #8B3A4C;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(184, 71, 93, 0.25);
  letter-spacing: 0.3px;
  transition: all 0.3s ease;
}

.strip-item:hover {
  background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
  border-color: #8B3A4C;
  color: #FBF7F0;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(184, 71, 93, 0.25);
}

/* Quick Services Grid — cream cards with emoji and rose hover */
.quick-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 40px 0;
}

.quick-service-card {
  background: #FFFFFF;
  border-radius: 14px;
  padding: 22px 24px;
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  border: 1px solid rgba(184, 71, 93, 0.14);
  transition: all 0.3s ease;
  box-shadow: 0 4px 14px rgba(139, 58, 76, 0.06);
  position: relative;
  overflow: hidden;
}

.quick-service-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #B8475D 0%, #D4A574 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
  border-radius: inherit;
}

.quick-service-card > * {
  position: relative;
  z-index: 1;
  transition: color 0.3s ease;
}

.quick-service-card:hover {
  border-color: #B8475D;
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(184, 71, 93, 0.18);
}

.quick-service-card:hover::before {
  opacity: 1;
}

.quick-service-card:hover .qs-text {
  color: #FBF7F0;
}

.qs-icon {
  font-size: 26px;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, #FBF7F0, #F4EBDB);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1px rgba(184, 71, 93, 0.10);
  transition: transform 0.3s ease;
}

.quick-service-card:hover .qs-icon {
  transform: rotate(-10deg) scale(1.1);
  background: rgba(255, 255, 255, 0.95);
}

.qs-text {
  font-size: 13.5px;
  font-weight: 700;
  color: #5B2A39;
  letter-spacing: 0.2px;
}

/* Locations Premium Design */
.locations-premium {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  border-radius: 24px;
  padding: 50px;
  margin-top: 60px;
  position: relative;
  overflow: hidden;
}

.locations-premium::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23E85A71' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}

.locations-premium-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
  position: relative;
  z-index: 1;
}

.locations-icon-box {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #E85A71 0%, #D64A61 100%);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 10px 25px rgba(232, 90, 113, 0.4);
  flex-shrink: 0;
}

.locations-header-text h4 {
  font-family: 'Playfair Display', serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 8px 0 !important;
}

.locations-header-text p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

.locations-grid-premium {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  position: relative;
  z-index: 1;
}

.location-card-premium {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.location-card-premium:hover {
  background: #E85A71;
  border-color: #E85A71;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(232, 90, 113, 0.3);
}

.loc-marker {
  width: 32px;
  height: 32px;
  background: rgba(232, 90, 113, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #E85A71;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.location-card-premium:hover .loc-marker {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.loc-name {
  flex: 1;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.loc-arrow {
  color: rgba(255, 255, 255, 0.4);
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.location-card-premium:hover .loc-arrow {
  color: #fff;
  transform: translateX(3px);
}

.locations-cta {
  text-align: center;
  margin-top: 35px;
  position: relative;
  z-index: 1;
}

.view-all-locations {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #E85A71 0%, #D64A61 100%);
  color: #fff;
  padding: 16px 35px;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 10px 30px rgba(232, 90, 113, 0.4);
}

.view-all-locations:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(232, 90, 113, 0.5);
}

.view-all-locations svg {
  transition: transform 0.3s ease;
}

.view-all-locations:hover svg {
  transform: translateX(5px);
}

/* Responsive - Locations Premium */
@media (max-width: 992px) {
  .locations-grid-premium {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .locations-premium {
    padding: 35px;
  }

  .locations-premium-header {
    flex-direction: column;
    text-align: center;
  }

  .locations-header-text h4 {
    font-size: 24px !important;
  }

  .locations-grid-premium {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .locations-premium {
    padding: 25px 15px;
  }

  .locations-grid-premium {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .location-card-premium {
    padding: 10px 8px;
    gap: 6px;
    border-radius: 10px;
  }

  .loc-marker {
    width: 24px;
    height: 24px;
  }

  .loc-marker svg {
    width: 12px;
    height: 12px;
  }

  .loc-name {
    font-size: 11px;
    font-weight: 500;
  }

  .loc-arrow {
    display: none;
  }

  .view-all-locations {
    padding: 14px 28px;
    font-size: 14px;
    width: 100%;
    justify-content: center;
  }
}

/* ============================================
   LOCATIONS LIGHT THEME SECTION
   ============================================ */
/* ===== Locations section — warm sand "map directory" feel ===== */
.locations-light-section {
  background:
    radial-gradient(ellipse at 10% 10%, rgba(212, 165, 116, 0.20) 0%, transparent 50%),
    radial-gradient(ellipse at 90% 90%, rgba(184, 71, 93, 0.10) 0%, transparent 50%),
    #F6EFE6;
  border-radius: 22px;
  padding: 56px 48px 50px;
  margin-top: 40px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(184, 71, 93, 0.14);
  box-shadow: 0 10px 30px rgba(139, 58, 76, 0.06);
}

/* Map-grid pattern */
.locations-light-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(139, 58, 76, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(139, 58, 76, 0.05) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
  opacity: 0.6;
}

/* Decorative compass-like rosette in top-right corner */
.locations-light-section::after {
  content: '';
  position: absolute;
  top: 24px;
  right: 24px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, transparent 22px, rgba(184, 71, 93, 0.18) 22px 23px, transparent 23px),
    linear-gradient(0deg, transparent 47%, rgba(184, 71, 93, 0.18) 47% 53%, transparent 53%),
    linear-gradient(90deg, transparent 47%, rgba(184, 71, 93, 0.18) 47% 53%, transparent 53%);
  pointer-events: none;
  z-index: 0;
  opacity: 0.65;
}

.locations-light-container {
  position: relative;
  z-index: 1;
}

.locations-light-header {
  text-align: center;
  margin-bottom: 40px;
}

.locations-light-badge {
  display: inline-block;
  background: #FBF7F0;
  color: #B8475D;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1px solid rgba(184, 71, 93, 0.30);
  box-shadow: 0 4px 10px rgba(139, 58, 76, 0.08);
  margin-bottom: 18px;
}

.locations-light-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #5B2A39 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.2px;
  position: relative;
  display: inline-block;
}

.locations-light-title::after {
  content: '';
  display: block;
  width: 80px;
  height: 1px;
  margin: 14px auto 0;
  background: linear-gradient(90deg, transparent, #B8475D, #D4A574, transparent);
}

.locations-light-subtitle {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 15px;
  color: #8a7a6b;
  margin: 14px auto 0;
  max-width: 520px;
}

.locations-light-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.location-light-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #FFFFFF;
  border: 1px solid rgba(184, 71, 93, 0.14);
  border-radius: 12px;
  padding: 14px 16px;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.location-light-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: inherit;
}

.location-light-card:hover {
  border-color: #B8475D;
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(184, 71, 93, 0.20);
}

.location-light-card:hover::before {
  opacity: 1;
}

.location-light-icon {
  width: 34px;
  height: 34px;
  background: linear-gradient(135deg, #FDEFEC 0%, #F4E0D0 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B8475D;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  transition: all 0.3s ease;
  border: 1px solid rgba(184, 71, 93, 0.18);
}

.location-light-card:hover .location-light-icon {
  background: rgba(255, 255, 255, 0.95);
  color: #B8475D;
  border-color: transparent;
  transform: scale(1.06);
}

.location-light-icon svg {
  width: 16px;
  height: 16px;
}

.location-light-name {
  flex: 1;
  font-family: 'Open Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  color: #5B2A39;
  position: relative;
  z-index: 1;
  transition: color 0.3s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0.2px;
}

.location-light-card:hover .location-light-name {
  color: #FBF7F0;
}

.location-light-arrow {
  color: rgba(184, 71, 93, 0.45);
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  transition: all 0.3s ease;
}

.location-light-arrow svg {
  width: 14px;
  height: 14px;
}

.location-light-card:hover .location-light-arrow {
  color: #FBF7F0;
  transform: translateX(4px);
}

.locations-light-cta {
  text-align: center;
  margin-top: 36px;
}

.locations-light-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: #B8475D;
  padding: 13px 30px;
  border-radius: 999px;
  font-family: 'Open Sans', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 1.5px solid #B8475D;
  position: relative;
  overflow: hidden;
}

.locations-light-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
  transform: translateX(-101%);
  transition: transform 0.4s ease;
  z-index: 0;
}

.locations-light-btn > * {
  position: relative;
  z-index: 1;
  transition: color 0.3s ease;
}

.locations-light-btn:hover {
  color: #FBF7F0;
  border-color: #8B3A4C;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(184, 71, 93, 0.25);
}

.locations-light-btn:hover::before {
  transform: translateX(0);
}

.locations-light-btn svg {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}

.locations-light-btn:hover svg {
  transform: translateX(4px);
}

/* Responsive - Locations Light Theme */
@media (max-width: 1200px) {
  .locations-light-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 992px) {
  .locations-light-section {
    padding: 50px 35px;
  }

  .locations-light-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .locations-light-title {
    font-size: 30px !important;
  }
}

@media (max-width: 768px) {
  .locations-light-section {
    padding: 40px 25px;
    border-radius: 20px;
  }

  .locations-light-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .locations-light-title {
    font-size: 26px !important;
  }

  .locations-light-subtitle {
    font-size: 14px;
  }

  .location-light-card {
    padding: 14px 16px;
    gap: 12px;
  }

  .location-light-icon {
    width: 36px;
    height: 36px;
  }

  .location-light-name {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .locations-light-section {
    padding: 30px 18px;
    margin-top: 40px;
  }

  .locations-light-header {
    margin-bottom: 30px;
  }

  .locations-light-badge {
    font-size: 10px;
    padding: 6px 16px;
  }

  .locations-light-title {
    font-size: 22px !important;
  }

  .locations-light-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .location-light-card {
    padding: 12px 14px;
    gap: 10px;
    border-radius: 12px;
  }

  .location-light-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
  }

  .location-light-icon svg {
    width: 16px;
    height: 16px;
  }

  .location-light-name {
    font-size: 12px;
  }

  .location-light-arrow {
    display: none;
  }

  .locations-light-cta {
    margin-top: 30px;
  }

  .locations-light-btn {
    padding: 14px 30px;
    font-size: 14px;
    width: 100%;
    justify-content: center;
  }
}

/* Responsive - Magazine Section */
@media (max-width: 992px) {
  .magazine-row {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 26px;
  }

  .magazine-row.reverse {
    direction: ltr;
  }

  .magazine-main-title {
    font-size: 30px !important;
  }

  .magazine-text-col h3 {
    font-size: 22px !important;
  }

  .magazine-image-box img {
    height: 300px;
  }

  /* Tame fancy radii on tablet — keep visual variety but don't crop content */
  .magazine-row:nth-of-type(2) .magazine-image-box,
  .magazine-row:nth-of-type(5) .magazine-image-box {
    border-radius: 18px;
  }

  .quick-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .escorts-type-strip {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .escorts-type-strip::before {
    top: 0;
    bottom: auto;
    left: 18px;
    right: 18px;
    width: auto;
    height: 4px;
    border-radius: 0 0 4px 4px;
  }
}

@media (max-width: 576px) {
  .services-magazine-section {
    padding: 50px 0;
  }

  .services-magazine-container {
    padding: 0 18px;
  }

  .magazine-main-title {
    font-size: 24px !important;
  }

  .magazine-text-col h3 {
    font-size: 20px !important;
  }

  .magazine-row {
    padding: 20px;
    border-radius: 14px;
  }

  /* Flatten fancy radii on phones */
  .magazine-row:nth-of-type(1) .magazine-image-box,
  .magazine-row:nth-of-type(2) .magazine-image-box,
  .magazine-row:nth-of-type(3) .magazine-image-box,
  .magazine-row:nth-of-type(4) .magazine-image-box,
  .magazine-row:nth-of-type(5) .magazine-image-box {
    border-radius: 14px;
    transform: none;
  }

  .magazine-image-box img {
    height: 240px;
  }

  .image-number {
    width: 44px;
    height: 44px;
    font-size: 16px;
    top: 14px;
    left: 14px;
  }

  .quick-services-grid {
    grid-template-columns: 1fr;
  }

  .quick-service-card {
    padding: 18px 20px;
  }

  .escorts-type-strip {
    padding: 22px 20px;
  }

  .strip-title {
    font-size: 18px;
  }

  .magazine-locations {
    padding: 25px;
  }
}

/* Hide old services section styles */
.services-content-section {
  display: none;
}

.services-content-container {
  display: none;
}

/* Main Content Area */
.services-main-content {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

/* Service Info Cards */
.service-info-card {
  background: #fff;
  border-radius: 16px;
  padding: 30px;
  display: flex;
  gap: 20px;
  box-shadow: 0 4px 20px rgba(232, 90, 113, 0.06);
  border: 1px solid rgba(232, 90, 113, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-info-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(232, 90, 113, 0.12);
}

.service-card-icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #FFE8EC 0%, #FFF0F2 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #E85A71;
}

.service-card-content h3 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.4 !important;
}

.service-card-content h3 a {
  color: #E85A71 !important;
  text-decoration: none;
}

.service-card-content h3 a:hover {
  text-decoration: underline;
}

.service-card-content p {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
  margin: 0 0 12px 0;
  text-align: justify;
}

.service-card-content p:last-child {
  margin-bottom: 0;
}

.service-card-content p a {
  color: #E85A71;
  text-decoration: none;
  font-weight: 500;
}

.service-card-content p a:hover {
  text-decoration: underline;
}

/* Quick Links */
.service-quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 25px;
  background: linear-gradient(135deg, #E85A71 0%, #D64A61 100%);
  border-radius: 16px;
}

.quick-link-item {
  background: rgba(255, 255, 255, 0.2);
  color: #fff !important;
  padding: 10px 18px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.quick-link-item:hover {
  background: rgba(255, 255, 255, 0.35);
}

/* Location Links Section */
.location-links-section {
  background: #fff;
  border-radius: 16px;
  padding: 30px;
  box-shadow: 0 4px 20px rgba(232, 90, 113, 0.06);
  border: 1px solid rgba(232, 90, 113, 0.08);
}

.location-links-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 20px 0 !important;
  padding-bottom: 15px;
  border-bottom: 2px solid #FFE8EC;
}

.location-links-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.location-link-item {
  background: #FFF5F7;
  color: #E85A71;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid #FFE0E5;
  transition: all 0.3s ease;
}

.location-link-item:hover {
  background: #E85A71;
  color: #fff;
  border-color: #E85A71;
}

/* Sidebar Styles */
.services-sidebar {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.sidebar-card {
  background: #fff;
  border-radius: 16px;
  padding: 25px;
  box-shadow: 0 4px 20px rgba(232, 90, 113, 0.06);
  border: 1px solid rgba(232, 90, 113, 0.08);
}

.sidebar-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 20px 0 !important;
  padding-bottom: 15px;
  border-bottom: 2px solid #FFE8EC;
}

.escorts-type-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.escorts-type-list li {
  margin-bottom: 12px;
}

.escorts-type-list li:last-child {
  margin-bottom: 0;
}

.escorts-type-list li a {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #444;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  padding: 10px 12px;
  border-radius: 10px;
  transition: all 0.3s ease;
  background: #FAFAFA;
}

.escorts-type-list li a:hover {
  background: #FFF0F2;
  color: #E85A71;
}

.type-icon {
  width: 24px;
  height: 24px;
  background: linear-gradient(135deg, #E85A71 0%, #D64A61 100%);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}

/* VIP Model Card */
.sidebar-vip-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(232, 90, 113, 0.1);
  border: 1px solid rgba(232, 90, 113, 0.08);
}

.vip-badge {
  background: linear-gradient(135deg, #E85A71 0%, #D64A61 100%);
  color: #fff;
  text-align: center;
  padding: 12px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
}

.vip-image-link {
  display: block;
  position: relative;
}

.vip-image-link img {
  width: 100%;
  height: auto;
  display: block;
}

.vip-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.8));
  padding: 30px 15px 15px;
}

.vip-name {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  display: block;
  text-align: center;
}

/* Responsive Styles for Services Section */
@media (max-width: 992px) {
  .services-content-container {
    grid-template-columns: 1fr;
  }

  .services-sidebar {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .services-content-section {
    padding: 60px 0;
  }

  .service-info-card {
    flex-direction: column;
    padding: 25px;
  }

  .service-card-icon {
    width: 45px;
    height: 45px;
  }

  .service-card-content h3 {
    font-size: 18px !important;
  }

  .services-sidebar {
    grid-template-columns: 1fr;
  }

  .quick-link-item {
    padding: 8px 14px;
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .service-info-card {
    padding: 20px;
  }

  .service-card-content p {
    font-size: 14px;
  }

  .location-links-section {
    padding: 20px;
  }

  .sidebar-card {
    padding: 20px;
  }
}

/* =========================================
   BANNER CTA SECTION - Hidden
   ========================================= */
.banner-cta-section {
  display: none;
}

.banner-cta-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.banner-cta-link {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
}

.banner-cta-link:hover {
  transform: translateY(-3px);
}

.banner-cta-link img {
  display: block;
  height: auto;
}

/* =========================================
   DESIRES SECTION
   ========================================= */
/* =========================================
   EDITORIAL SERVICES SECTION - Luxury Layout
   ========================================= */
/* ===== Editorial Services — varied image treatments per row ===== */
.editorial-services-section {
  background:
    radial-gradient(ellipse at 0% 0%, rgba(212, 165, 116, 0.10) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 100%, rgba(184, 71, 93, 0.08) 0%, transparent 50%),
    #FBF7F0;
  padding: 80px 0 90px;
  position: relative;
  overflow: hidden;
}

/* Top accent stripe — thin gold-rose hairline */
.editorial-services-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #B8475D, #D4A574, #B8475D, transparent);
}

.editorial-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
  z-index: 1;
}

/* Section Header */
.editorial-header {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
}

.editorial-header::after {
  content: '';
  position: absolute;
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
  width: 90px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #B8475D, #D4A574, transparent);
}

.editorial-eyebrow {
  display: inline-block;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #B8475D;
  margin-bottom: 18px;
  padding: 8px 20px;
  border: 1px solid rgba(184, 71, 93, 0.30);
  background: rgba(251, 247, 240, 0.7);
  border-radius: 999px;
}

.editorial-main-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 44px !important;
  font-weight: 800 !important;
  color: #5B2A39 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.2px;
}

/* Editorial Rows */
.editorial-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 70px;
  position: relative;
}

.editorial-row:last-of-type {
  margin-bottom: 0;
}

.editorial-row-reverse {
  direction: rtl;
}

.editorial-row-reverse > * {
  direction: ltr;
}

/* Image Block */
.editorial-image-block {
  position: relative;
}

.editorial-img-wrapper {
  position: relative;
  overflow: hidden;
  box-shadow:
    0 26px 50px rgba(139, 58, 76, 0.22),
    0 8px 18px rgba(0, 0, 0, 0.06);
  transition: transform 0.5s ease;
}

.editorial-img-wrapper img {
  width: 100%;
  height: 440px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.editorial-row:hover .editorial-img-wrapper img {
  transform: scale(1.05);
}

/* Inner frame (decorative inset border) */
.editorial-img-frame {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
  bottom: 14px;
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  pointer-events: none;
  transition: border-radius 0.4s ease;
}

/* ----- Row 1: Modern rounded rectangle ----- */
.editorial-row:nth-of-type(2) .editorial-img-wrapper {
  border-radius: 20px;
}
.editorial-row:nth-of-type(2) .editorial-img-frame {
  border-radius: 12px;
}

/* ----- Row 2: Asymmetric arch — rounded top, sharp bottom ----- */
.editorial-row:nth-of-type(3) .editorial-img-wrapper {
  border-radius: 220px 220px 16px 16px;
}
.editorial-row:nth-of-type(3) .editorial-img-frame {
  border-radius: 200px 200px 8px 8px;
}

/* ----- Row 3: Oval / portrait-mounted ----- */
.editorial-row:nth-of-type(4) .editorial-img-wrapper {
  border-radius: 50% / 35%;
}
.editorial-row:nth-of-type(4) .editorial-img-frame {
  border-radius: 50% / 35%;
  top: 18px; left: 18px; right: 18px; bottom: 18px;
}

/* Image hover-tilt — different feel per row */
.editorial-row:nth-of-type(3):hover .editorial-img-wrapper {
  transform: translateY(-4px);
}
.editorial-row:nth-of-type(4):hover .editorial-img-wrapper {
  transform: rotate(-1.5deg) scale(1.02);
}

.editorial-number {
  position: absolute;
  bottom: -22px;
  right: 26px;
  font-family: 'Playfair Display', serif;
  font-size: 110px;
  font-style: italic;
  font-weight: 800;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(184, 71, 93, 0.35);
  line-height: 1;
  z-index: 2;
  letter-spacing: -2px;
}

.editorial-row-reverse .editorial-number {
  right: auto;
  left: 26px;
}

/* Content Block */
.editorial-content-block {
  padding: 20px 0;
}

.editorial-content-inner {
  max-width: 480px;
}

.editorial-row-reverse .editorial-content-inner {
  margin-left: auto;
}

.editorial-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  margin: 0 0 18px 0 !important;
  line-height: 1.3 !important;
}

.editorial-divider {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 22px;
}

.editorial-divider span {
  height: 2px;
  background: #B8475D;
  border-radius: 2px;
}

.editorial-divider span:nth-child(1) { width: 34px; }
.editorial-divider span:nth-child(2) { width: 14px; background: #D4A574; }
.editorial-divider span:nth-child(3) { width: 6px; height: 6px; background: #D4A574; border-radius: 50%; }

.editorial-text p {
  font-size: 15px;
  line-height: 1.9;
  color: #5a4a4a;
  margin: 0 0 16px 0;
}

.editorial-text p:last-child {
  margin-bottom: 0;
}

.editorial-text p strong {
  color: #B8475D;
  font-weight: 700;
}

/* CTA Section */
.editorial-cta {
  margin-top: 70px;
  padding-top: 50px;
  border-top: 1px solid rgba(184, 71, 93, 0.14);
}

.editorial-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  background:
    radial-gradient(ellipse at 0% 50%, rgba(212, 165, 116, 0.16) 0%, transparent 60%),
    #FDEFEC;
  padding: 32px 44px;
  border-radius: 18px;
  border: 1px solid rgba(184, 71, 93, 0.18);
  position: relative;
}

/* Left accent bar */
.editorial-cta-inner::before {
  content: '';
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 4px;
  background: linear-gradient(180deg, #B8475D, #D4A574);
  border-radius: 0 4px 4px 0;
}

.editorial-cta-text {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 20px;
  font-weight: 500;
  color: #5B2A39;
  margin: 0;
  flex: 1;
}

.editorial-cta-buttons {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.editorial-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  border-radius: 999px;
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease;
}

.editorial-btn.whatsapp {
  background: #25D366;
  color: #FBF7F0;
  box-shadow: 0 8px 20px rgba(37, 211, 102, 0.30);
}

.editorial-btn.whatsapp:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(37, 211, 102, 0.40);
}

.editorial-btn.primary {
  background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
  color: #FBF7F0;
  box-shadow: 0 8px 20px rgba(184, 71, 93, 0.32);
}

.editorial-btn.primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(184, 71, 93, 0.42);
}

/* Responsive */
@media (max-width: 992px) {
  .editorial-row {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .editorial-row-reverse {
    direction: ltr;
  }

  .editorial-row-reverse .editorial-content-inner {
    margin-left: 0;
  }

  .editorial-img-wrapper img {
    height: 350px;
  }

  /* Tame the arch & oval radii on tablet — keep variety but not extreme */
  .editorial-row:nth-of-type(3) .editorial-img-wrapper {
    border-radius: 120px 120px 16px 16px;
  }
  .editorial-row:nth-of-type(3) .editorial-img-frame {
    border-radius: 110px 110px 8px 8px;
  }
  .editorial-row:nth-of-type(4) .editorial-img-wrapper {
    border-radius: 40% / 28%;
  }

  .editorial-number {
    font-size: 80px;
    bottom: -16px;
  }

  .editorial-content-inner {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .editorial-services-section {
    padding: 70px 0 80px;
  }

  .editorial-container {
    padding: 0 20px;
  }

  .editorial-main-title {
    font-size: 36px !important;
  }

  .editorial-header {
    margin-bottom: 60px;
  }

  .editorial-row {
    margin-bottom: 60px;
  }

  .editorial-img-wrapper img {
    height: 300px;
  }

  /* On phones flatten all images to consistent rounded rectangles */
  .editorial-row:nth-of-type(2) .editorial-img-wrapper,
  .editorial-row:nth-of-type(3) .editorial-img-wrapper,
  .editorial-row:nth-of-type(4) .editorial-img-wrapper {
    border-radius: 16px;
  }
  .editorial-row:nth-of-type(2) .editorial-img-frame,
  .editorial-row:nth-of-type(3) .editorial-img-frame,
  .editorial-row:nth-of-type(4) .editorial-img-frame {
    border-radius: 10px;
  }

  .editorial-title {
    font-size: 24px !important;
  }

  .editorial-main-title {
    font-size: 30px !important;
  }

  .editorial-number {
    font-size: 70px;
    bottom: -14px;
    right: 14px;
  }

  .editorial-cta-inner {
    flex-direction: column;
    text-align: center;
    padding: 30px 25px;
  }

  .editorial-cta-text {
    font-size: 18px;
  }

  .editorial-cta-buttons {
    flex-direction: column;
    width: 100%;
  }

  .editorial-btn {
    justify-content: center;
    width: 100%;
  }
}

/* Hide old desires section */
.desires-section {
  display: none;
}

.desires-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.desires-header {
  text-align: center;
  margin-bottom: 50px;
  position: relative;
  z-index: 1;
}

.desires-label {
  display: inline-block;
  background: linear-gradient(135deg, #E85A71 0%, #D64A61 100%);
  color: #fff;
  padding: 8px 20px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 15px;
  letter-spacing: 0.5px;
}

.desires-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 !important;
}

.desires-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 40px;
  position: relative;
  z-index: 1;
}

.desire-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 5px 25px rgba(232, 90, 113, 0.08);
  border: 1px solid rgba(232, 90, 113, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.desire-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 35px rgba(232, 90, 113, 0.15);
}

.desire-card-image {
  position: relative;
  overflow: hidden;
}

.desire-card-image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.desire-card:hover .desire-card-image img {
  transform: scale(1.05);
}

.desire-card-content {
  padding: 25px;
}

.desire-card-content h4 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #E85A71 !important;
  margin: 0 0 15px 0 !important;
}

.desire-card-content p {
  font-size: 14px;
  line-height: 1.7;
  color: #555;
  margin: 0 0 12px 0;
  text-align: justify;
}

.desire-card-content p:last-child {
  margin-bottom: 0;
}

.desire-card-content p strong {
  color: #333;
}

/* Desires CTA */
.desires-cta {
  background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
  border-radius: 16px;
  padding: 30px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  position: relative;
  z-index: 1;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.desires-cta-text {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}

.desires-cta-btn {
  background: #E85A71;
  color: #fff !important;
  padding: 14px 35px;
  border-radius: 30px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.desires-cta-btn:hover {
  background: #d64a61;
  transform: translateY(-2px);
}

/* =========================================
   CONTACT INFO SECTION
   ========================================= */
/* =========================================
   CONTACT BENTO SECTION - Modern Grid
   ========================================= */
/* ===== Contact Bento — Premium Invitation Card style ===== */
.contact-bento-section {
  background:
    radial-gradient(ellipse at 0% 0%, rgba(212, 165, 116, 0.12) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 100%, rgba(184, 71, 93, 0.10) 0%, transparent 50%),
    #FBF7F0;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

/* Top accent — thin gold-rose hairline */
.contact-bento-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #B8475D, #D4A574, #B8475D, transparent);
}

.contact-bento-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
  z-index: 1;
}

/* Header */
.bento-header {
  text-align: center;
  margin-bottom: 50px;
  position: relative;
}

/* Small floral ornament above label — CSS-drawn */
.bento-header::before {
  content: '';
  display: block;
  width: 70px;
  height: 10px;
  margin: 0 auto 16px;
  background-image:
    radial-gradient(circle at 5px 5px, #B8475D 3px, transparent 3.5px),
    radial-gradient(circle at 35px 5px, #D4A574 4px, transparent 4.5px),
    radial-gradient(circle at 65px 5px, #B8475D 3px, transparent 3.5px),
    linear-gradient(90deg, transparent 10px, rgba(184, 71, 93, 0.45) 10px 30px, transparent 30px 40px, rgba(212, 165, 116, 0.45) 40px 60px, transparent 60px);
  background-repeat: no-repeat;
}

.bento-label {
  display: inline-block;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #B8475D;
  background: rgba(251, 247, 240, 0.7);
  border: 1px solid rgba(184, 71, 93, 0.30);
  padding: 7px 18px;
  border-radius: 999px;
  margin-bottom: 16px;
}

.bento-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 40px !important;
  font-weight: 800 !important;
  color: #5B2A39 !important;
  margin: 0 !important;
  letter-spacing: 0.3px;
  position: relative;
  display: inline-block;
}

.bento-title::after {
  content: '';
  display: block;
  width: 80px;
  height: 1px;
  margin: 16px auto 0;
  background: linear-gradient(90deg, transparent, #B8475D, #D4A574, transparent);
}

/* Bento Grid */
.bento-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto auto auto;
  gap: 20px;
}

/* Base Card Styles */
.bento-card {
  background: #FFFFFF;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(184, 71, 93, 0.12);
  box-shadow: 0 8px 24px rgba(139, 58, 76, 0.06);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.bento-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(139, 58, 76, 0.12);
}

/* Large Image Card - Spans 2 columns and 2 rows */
.bento-large-image {
  grid-column: span 2;
  grid-row: span 2;
  position: relative;
  min-height: 400px;
  border-radius: 18px 18px 80px 18px;
}

.bento-large-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.6s ease;
}

.bento-large-image:hover img {
  transform: scale(1.05);
}

.bento-image-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px 30px 32px;
  background: linear-gradient(to top, rgba(91, 42, 57, 0.9) 0%, rgba(91, 42, 57, 0.4) 50%, transparent 100%);
}

/* Premium ribbon-style tag */
.bento-tag {
  display: inline-block;
  background: #FBF7F0;
  color: #8B3A4C;
  padding: 8px 22px;
  border-radius: 4px;
  font-family: 'Open Sans', sans-serif;
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  position: relative;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  border-top: 1px solid rgba(212, 165, 116, 0.6);
  border-bottom: 1px solid rgba(212, 165, 116, 0.6);
}

/* Decorative gold corner accents on top-left of image card */
.bento-large-image::before {
  content: '';
  position: absolute;
  top: 18px;
  left: 18px;
  width: 32px;
  height: 32px;
  border-top: 2px solid rgba(212, 165, 116, 0.85);
  border-left: 2px solid rgba(212, 165, 116, 0.85);
  z-index: 2;
}

.bento-large-image::after {
  content: '';
  position: absolute;
  top: 18px;
  right: 18px;
  width: 32px;
  height: 32px;
  border-top: 2px solid rgba(212, 165, 116, 0.85);
  border-right: 2px solid rgba(212, 165, 116, 0.85);
  z-index: 2;
}

/* Contact Card — calling-card feel */
.bento-contact-card {
  grid-column: span 2;
  padding: 28px;
  background: #FFFFFF;
  position: relative;
}

/* Side accent bar */
.bento-contact-card::before {
  content: '';
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: 0;
  width: 3px;
  background: linear-gradient(180deg, #B8475D, #D4A574);
  border-radius: 0 3px 3px 0;
}

.bento-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

.bento-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.bento-icon.whatsapp {
  background: linear-gradient(135deg, #25D366 0%, #1faa54 100%);
  color: #fff;
  box-shadow: 0 8px 20px rgba(37, 211, 102, 0.30);
}

.bento-icon.email {
  background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
  color: #FBF7F0;
  box-shadow: 0 8px 20px rgba(184, 71, 93, 0.30);
}

.bento-card-header h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  margin: 0 !important;
}

.bento-contact-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 22px;
}

/* Each contact item — ticket-stub feel with side rose accent */
.bento-contact-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  background: #FBF7F0;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 1px solid rgba(184, 71, 93, 0.14);
  position: relative;
  overflow: hidden;
}

.bento-contact-item::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: linear-gradient(180deg, #B8475D, #D4A574);
  transition: width 0.3s ease;
}

.bento-contact-item:hover {
  background: #FDEFEC;
  border-color: rgba(184, 71, 93, 0.30);
  transform: translateX(4px);
}

.bento-contact-item:hover::before {
  width: 6px;
}

.contact-type {
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  color: #8a7a6b;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.contact-num {
  font-family: 'Playfair Display', serif;
  font-size: 19px;
  font-weight: 800;
  color: #5B2A39;
  letter-spacing: 0.5px;
}

/* Main CTA button */
.bento-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
  color: #FBF7F0;
  padding: 13px 26px;
  border-radius: 999px;
  font-family: 'Open Sans', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(184, 71, 93, 0.32);
}

.bento-btn::after {
  content: '→';
  font-size: 16px;
  line-height: 1;
  transition: transform 0.3s ease;
}

.bento-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(184, 71, 93, 0.42);
}

.bento-btn:hover::after {
  transform: translateX(4px);
}

/* Email Card — envelope/postcard feel */
.bento-email-card {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(212, 165, 116, 0.16) 0%, transparent 60%),
    #FFFFFF;
  position: relative;
}

/* Postage-stamp corner */
.bento-email-card::before {
  content: '';
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  border: 1.5px dashed rgba(184, 71, 93, 0.4);
  border-radius: 4px;
  background:
    radial-gradient(circle, rgba(184, 71, 93, 0.10) 0%, transparent 70%);
}

.bento-email-card .bento-icon {
  margin-bottom: 14px;
}

.email-label {
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  color: #8a7a6b;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.6px;
  margin-bottom: 6px;
}

.email-address {
  font-family: 'Playfair Display', serif;
  font-size: 13.5px;
  color: #B8475D;
  text-decoration: none;
  font-weight: 700;
  word-break: break-all;
  border-bottom: 1px dashed rgba(184, 71, 93, 0.40);
  padding-bottom: 1px;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.email-address:hover {
  color: #8B3A4C;
  border-bottom-color: #8B3A4C;
}

/* Feature Cards — magazine spread feel */
.bento-feature {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 200px 1fr;
  background: #FFFFFF;
}

.bento-feature-img {
  position: relative;
  overflow: hidden;
}

.bento-feature-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 200px;
  transition: transform 0.6s ease;
}

.bento-feature:hover .bento-feature-img img {
  transform: scale(1.06);
}

.bento-feature-content {
  padding: 26px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

/* Vertical accent bar between image and content */
.bento-feature-content::before {
  content: '';
  position: absolute;
  left: 0;
  top: 26px;
  bottom: 26px;
  width: 2px;
  background: linear-gradient(180deg, #D4A574, transparent);
  border-radius: 2px;
}

.bento-feature-content h4 {
  font-family: 'Playfair Display', serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.3 !important;
}

.bento-feature-content p {
  font-size: 14px;
  line-height: 1.75;
  color: #5a4a4a;
  margin: 0;
}

.bento-feature-content p strong {
  color: #B8475D;
  font-weight: 700;
}

/* Premium Note Card — parchment with serif quote */
.bento-note {
  grid-column: span 2;
  padding: 28px 30px 28px 60px;
  background:
    radial-gradient(ellipse at 0% 0%, rgba(212, 165, 116, 0.20) 0%, transparent 55%),
    #FDEFEC;
  border: 1px solid rgba(184, 71, 93, 0.18);
  position: relative;
}

/* Decorative large quotation mark */
.bento-note::before {
  content: '"';
  position: absolute;
  top: 0;
  left: 18px;
  font-family: 'Playfair Display', serif;
  font-size: 80px;
  font-weight: 800;
  color: rgba(184, 71, 93, 0.32);
  line-height: 1;
}

.bento-note h4 {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.3 !important;
}

.bento-note p {
  font-size: 14px;
  line-height: 1.8;
  color: #5a4a4a;
  margin: 0;
  font-style: italic;
}

.bento-note p strong {
  color: #B8475D;
  font-style: normal;
  font-weight: 700;
}

/* Responsive */
@media (max-width: 1024px) {
  .bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .bento-large-image {
    grid-column: span 2;
    min-height: 300px;
  }

  .bento-contact-card {
    grid-column: span 2;
  }

  .bento-email-card {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .contact-bento-section {
    padding: 50px 0;
  }

  .contact-bento-container {
    padding: 0 18px;
  }

  .bento-title {
    font-size: 28px !important;
  }

  .bento-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .bento-large-image,
  .bento-contact-card,
  .bento-email-card,
  .bento-feature,
  .bento-note {
    grid-column: span 1;
  }

  .bento-feature {
    grid-template-columns: 1fr;
  }

  .bento-feature-content::before {
    display: none;
  }

  .bento-feature-img img {
    min-height: 200px;
  }

  .bento-large-image {
    min-height: 240px;
    border-radius: 18px 18px 50px 18px;
  }

  .bento-large-image::before,
  .bento-large-image::after {
    width: 24px;
    height: 24px;
    top: 14px;
  }

  .bento-large-image::before { left: 14px; }
  .bento-large-image::after  { right: 14px; }

  .bento-note {
    padding: 26px 22px 26px 50px;
  }

  .bento-note::before {
    font-size: 60px;
    left: 14px;
  }
}

/* Hide old contact styles */
.contact-info-section {
  display: none;
}

.contact-extra h4 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 10px 0 !important;
}

.contact-extra p {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin: 0;
}

.contact-extra p strong {
  color: #333;
}

/* Contact Card with Image */
.contact-card-image {
  overflow: hidden;
}

.contact-card-image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.contact-card:hover .contact-card-image img {
  transform: scale(1.05);
}

.contact-card-body {
  padding: 25px;
}

.contact-card-body h4 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #E85A71 !important;
  margin: 0 0 12px 0 !important;
}

.contact-card-body p {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin: 0;
  text-align: justify;
}

.contact-card-body p strong {
  color: #333;
}

/* Responsive Styles for Desires & Contact Sections */
@media (max-width: 992px) {
  .desires-grid,
  .contact-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .desires-cta {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .desires-section,
  .contact-info-section {
    padding: 60px 0;
  }

  .desires-grid,
  .contact-info-grid {
    grid-template-columns: 1fr;
  }

  .desires-title,
  .contact-info-title {
    font-size: 26px !important;
  }

  .desires-cta {
    padding: 25px;
  }

  .desires-cta-text {
    font-size: 16px;
  }

  .banner-cta-container {
    flex-direction: column;
  }

  .banner-cta-link img {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .desire-card-content {
    padding: 20px;
  }

  .desire-card-content h4 {
    font-size: 18px !important;
  }

  .contact-card-primary {
    padding: 20px;
  }

  .contact-card-body {
    padding: 20px;
  }
}

/* =========================================
   PREMIUM FOOTER STYLES
   ========================================= */

/* Hide old footer */
.blure {
  display: none !important;
}

/* New Premium Footer */
.premium-footer {
  background:
    radial-gradient(1100px 380px at 90% 0%, rgba(232, 90, 113, 0.10), transparent 60%),
    radial-gradient(900px 340px at 5% 110%, rgba(212, 165, 116, 0.12), transparent 65%),
    linear-gradient(180deg, #FBF7F0 0%, #F8E9E2 100%);
  color: #2d2d42;
  position: relative;
  overflow: hidden;
}

/* Top gradient stripe */
.premium-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #B8475D, #E85A71, #D4A574, #E85A71, #B8475D);
}

/* Decorative blob top-right */
.premium-footer::after {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232, 90, 113, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
  z-index: 1;
}

/* Footer Top */
.footer-top {
  padding: 70px 0 50px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
  gap: 48px;
}

@media (max-width: 992px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

@media (max-width: 580px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .footer-top {
    padding: 50px 0 30px;
  }
}

/* Brand Column */
.footer-brand {
  padding-right: 30px;
}

.footer-logo {
  display: inline-block;
  text-decoration: none;
  margin-bottom: 20px;
}

.logo-text {
  font-family: 'Playfair Display', serif;
  font-size: 30px;
  font-weight: 700;
  color: #5B2A39;
  letter-spacing: 0.3px;
}

.logo-text span {
  color: #E85A71;
  font-style: italic;
}

.footer-tagline {
  font-size: 15px;
  line-height: 1.75;
  color: #6b5e5e;
  margin: 0 0 28px 0;
  max-width: 320px;
}

/* Social Links */
.footer-social {
  display: flex;
  gap: 12px;
}

.social-link {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(184, 71, 93, 0.12);
}

.social-link:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(184, 71, 93, 0.18);
}

.social-link.whatsapp {
  background: rgba(37, 211, 102, 0.2);
  color: #1da851;
}

.social-link.whatsapp:hover {
  background: #25D366;
  color: #fff;
}

.social-link.phone {
  background: rgba(232, 90, 113, 0.2);
  color: #d64a61;
}

.social-link.phone:hover {
  background: #E85A71;
  color: #fff;
}

.social-link.email {
  background: rgba(0, 0, 0, 0.08);
  color: #555;
}

.social-link.email:hover {
  background: #333;
  color: #fff;
}

/* Footer Links */
.footer-links {
  padding-top: 10px;
}

.footer-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  margin: 0 0 24px 0 !important;
  position: relative;
  padding-bottom: 14px;
  letter-spacing: 0.2px;
}

.footer-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, #E85A71, #D4A574);
  border-radius: 2px;
}

.footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 12px;
}

.footer-links a {
  color: #3d2d2d;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  transition: color 0.25s ease, transform 0.25s ease;
  display: inline-block;
  position: relative;
  padding-left: 0;
  letter-spacing: 0.2px;
}

.footer-links a::before {
  content: '›';
  display: inline-block;
  color: #E85A71;
  margin-right: 8px;
  font-weight: 700;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.footer-links a:hover {
  color: #B8475D;
  transform: translateX(4px);
}

.footer-links a:hover::before {
  opacity: 1;
  transform: translateX(0);
}

/* Footer Contact */
.footer-contact {
  padding-top: 10px;
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  color: #5a4a4a;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(184, 71, 93, 0.10);
  border-radius: 10px;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.contact-item:hover {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(184, 71, 93, 0.25);
  transform: translateY(-1px);
}

.contact-item svg {
  color: #B8475D;
  flex-shrink: 0;
}

.contact-item a {
  color: #5a4a4a;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  transition: color 0.25s ease;
  word-break: break-all;
}

.contact-item a:hover {
  color: #B8475D;
}

.footer-dmca {
  margin-top: 25px;
}

.footer-dmca img {
  height: 30px;
  width: auto;
  opacity: 0.7;
  transition: opacity 0.3s;
}

.footer-dmca img:hover {
  opacity: 1;
}

/* Footer Bottom */
.footer-bottom {
  border-top: 1px solid rgba(184, 71, 93, 0.15);
  background: rgba(255, 255, 255, 0.35);
  padding: 22px 0;
  position: relative;
  z-index: 1;
}

.footer-bottom-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.copyright {
  font-size: 14px;
  color: #6b5e5e;
  margin: 0;
}

.footer-note {
  font-size: 13px;
  color: #B8475D;
  margin: 0;
  font-weight: 700;
  padding: 6px 14px;
  background: rgba(184, 71, 93, 0.10);
  border-radius: 20px;
}

@media (max-width: 580px) {
  .footer-bottom-content {
    justify-content: center;
    text-align: center;
  }
}

/* Back to Top Button — premium rose/gold ring with progress arc */
.back-to-top {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #FBF7F0;
  background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
  border-radius: 50%;
  box-shadow:
    0 10px 24px rgba(184, 71, 93, 0.40),
    0 4px 10px rgba(0, 0, 0, 0.10),
    inset 0 0 0 2px rgba(255, 255, 255, 0.18);
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
              opacity 0.3s ease,
              visibility 0.3s ease,
              box-shadow 0.3s ease;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px) scale(0.85);
  cursor: pointer;
}

.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

/* Gold ring outline that pulses on idle */
.back-to-top::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1.5px solid #D4A574;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.back-to-top.visible::before {
  animation: btt-ring-pulse 2.5s ease-in-out infinite;
}

@keyframes btt-ring-pulse {
  0%, 100% {
    opacity: 0.55;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(1.25);
  }
}

.back-to-top svg {
  width: 22px;
  height: 22px;
  stroke-width: 2.5;
  transition: transform 0.3s ease;
}

.back-to-top:hover {
  transform: translateY(-6px) scale(1.08);
  box-shadow:
    0 16px 34px rgba(184, 71, 93, 0.52),
    0 6px 14px rgba(0, 0, 0, 0.12),
    inset 0 0 0 2px rgba(255, 255, 255, 0.25);
}

.back-to-top:hover svg {
  transform: translateY(-2px);
}

.back-to-top:active {
  transform: translateY(-2px) scale(1);
}

@media (max-width: 768px) {
  .back-to-top {
    width: 46px;
    height: 46px;
    bottom: 20px;
    right: 18px;
  }
  .back-to-top svg {
    width: 20px;
    height: 20px;
  }
}

/* Responsive Footer */
@media (max-width: 1024px) {
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }

  .footer-brand {
    grid-column: span 2;
    padding-right: 0;
    text-align: center;
  }

  .footer-social {
    justify-content: center;
  }

  .footer-title::after {
    left: 50%;
    transform: translateX(-50%);
  }

  .footer-links,
  .footer-contact {
    text-align: center;
  }

  .contact-item {
    justify-content: center;
  }

  .footer-dmca {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .footer-top {
    padding: 50px 0 40px;
  }

  .footer-container {
    padding: 0 20px;
  }

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px 20px;
  }

  .footer-brand {
    grid-column: span 2;
  }

  .footer-links {
    text-align: left;
  }

  .footer-title::after {
    left: 0;
    transform: none;
  }

  .footer-contact {
    grid-column: span 2;
    text-align: center;
  }

  .footer-contact .footer-title::after {
    left: 50%;
    transform: translateX(-50%);
  }

  .footer-contact .contact-item {
    justify-content: center;
  }

  .logo-text {
    font-size: 24px;
  }

  .footer-bottom-content {
    flex-direction: column;
    text-align: center;
  }
}

/* Old toTopBtn hide */
#toTopBtn:not(.back-to-top) {
  display: none !important;
}

/* ========================================
   GALLERY PAGE STYLES (bangalore-call-girls)
======================================== */

/* Gallery Page Background */
#page-sidebar-no-sidebar {
  background: linear-gradient(180deg, #fef8f9 0%, #fff5f6 50%, #f8f0f2 100%);
  padding: 60px 30px;
  border-radius: 20px;
  margin: 20px auto;
  max-width: 1200px;
}

/* Gallery Page Typography */
#page-sidebar-no-sidebar h1 {
  font-family: 'Playfair Display', serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #2d2d42 !important;
  text-align: center !important;
  margin-bottom: 25px !important;
  text-shadow: none !important;
  line-height: 1.3 !important;
}

#page-sidebar-no-sidebar h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #2d2d42 !important;
  text-align: left !important;
  margin: 35px 0 15px 0 !important;
  text-shadow: none !important;
}

#page-sidebar-no-sidebar p,
#page-sidebar-no-sidebar .pad-15 {
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #555 !important;
  text-align: justify !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
}

/* Override for CTA section */
#page-sidebar-no-sidebar .gallery-cta-section p,
#page-sidebar-no-sidebar .gallery-cta-section .cta-subtitle {
  text-align: center !important;
  color: rgba(255,255,255,0.7) !important;
  font-size: 16px !important;
  margin: 0 auto 25px auto !important;
}

#page-sidebar-no-sidebar p a,
#page-sidebar-no-sidebar .pad-15 a {
  color: #E85A71 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

#page-sidebar-no-sidebar p a:hover,
#page-sidebar-no-sidebar .pad-15 a:hover {
  text-decoration: underline !important;
}

#page-sidebar-no-sidebar p strong {
  color: #2d2d42 !important;
  font-weight: 700 !important;
}

/* Modern Profile Cards */
.person_entry_div {
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08) !important;
  transition: all 0.3s ease !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.person_entry_div:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 15px 40px rgba(232, 90, 113, 0.2) !important;
}

.person_entry_div .wrapper-ribon {
  position: relative;
}

.person_entry_div .person_entry_img {
  position: relative;
  overflow: hidden;
}

.person_entry_div .person_entry_img img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.person_entry_div:hover .person_entry_img img {
  transform: scale(1.05) !important;
}

/* Profile Card Info */
.person_entry_div .person_p {
  background: linear-gradient(135deg, #fff 0%, #fef8f9 100%) !important;
  padding: 18px 15px !important;
  text-align: center !important;
  color: #333 !important;
  text-shadow: none !important;
  position: relative !important;
  border-top: 3px solid #E85A71 !important;
}

.person_entry_div .person_p .person_entry_h3,
.person_entry_div .person_p strong {
  display: block !important;
  margin-bottom: 5px !important;
}

.person_entry_div .person_p a {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #2d2d42 !important;
  text-shadow: none !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.person_entry_div .person_p a:hover {
  color: #E85A71 !important;
}

/* Russian Escorts text */
.person_entry_div .person_p {
  font-size: 12px !important;
  color: #888 !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
}

/* New Badge */
.ribbon-wrapper-lady {
  position: absolute !important;
  top: 15px !important;
  left: 15px !important;
  z-index: 10 !important;
}

.ribbon-lady {
  background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%) !important;
  color: #fff !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  box-shadow: 0 4px 15px rgba(232, 90, 113, 0.4) !important;
}

/* Stars Rating */
.person_entry_div .person_p img {
  width: 80px !important;
  height: auto !important;
  margin-top: 8px !important;
  border: none !important;
}

/* Gallery Grid Spacing */
#page-sidebar-no-sidebar .row {
  margin: 40px -10px !important;
}

#page-sidebar-no-sidebar .row > div[class*="col-"] {
  padding: 10px !important;
  margin-bottom: 10px !important;
}

/* Responsive Gallery */
@media (max-width: 768px) {
  #page-sidebar-no-sidebar {
    padding: 40px 20px;
    margin: 10px;
    border-radius: 15px;
  }

  #page-sidebar-no-sidebar h1 {
    font-size: 26px !important;
  }

  #page-sidebar-no-sidebar h2 {
    font-size: 20px !important;
  }

  .person_entry_div .person_entry_img img {
    height: 220px !important;
  }

  .person_entry_div .person_p a {
    font-size: 15px !important;
  }
}

@media (max-width: 480px) {
  #page-sidebar-no-sidebar {
    padding: 30px 15px;
  }

  #page-sidebar-no-sidebar h1 {
    font-size: 22px !important;
  }

  .person_entry_div .person_entry_img img {
    height: 180px !important;
  }

  .person_entry_div .person_p {
    padding: 12px 10px !important;
  }

  .person_entry_div .person_p a {
    font-size: 14px !important;
  }

  .ribbon-lady {
    padding: 4px 10px !important;
    font-size: 9px !important;
  }
}

/* ========================================
   CREATIVE SHOWCASE SECTION
======================================== */
.creative-showcase {
  position: relative;
  padding: 80px 0;
  background: linear-gradient(180deg, #fafafa 0%, #f5f5f7 100%);
  overflow: hidden;
  min-height: 700px;
}

.creative-bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle, #ddd 1px, transparent 1px);
  background-size: 25px 25px;
  opacity: 0.5;
  pointer-events: none;
}

/* Navigation */
.creative-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto 40px;
  padding: 0 30px;
}

.nav-prev, .nav-next {
  font-size: 12px;
  font-weight: 600;
  color: #888;
  letter-spacing: 2px;
  cursor: pointer;
  transition: color 0.3s;
}

.nav-prev:hover, .nav-next:hover {
  color: #E85A71;
}

.nav-prev span, .nav-next span {
  color: #E85A71;
}

.nav-title {
  font-size: 13px;
  font-weight: 600;
  color: #666;
  letter-spacing: 3px;
}

.nav-title .highlight {
  color: #E85A71;
  font-weight: 700;
}

/* Main Container */
.creative-container {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 40px;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
  z-index: 2;
}

/* Left Side */
.creative-left {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 30px;
}

/* Info Card */
.info-card {
  background: #fff;
  border-radius: 20px;
  padding: 25px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.info-card .card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.likes-count {
  font-size: 11px;
  font-weight: 700;
  color: #999;
  letter-spacing: 1px;
}

.arrow-icon {
  width: 28px;
  height: 28px;
  background: #f5f5f5;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-size: 14px;
}

.info-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: 18px;
  font-weight: 700;
  color: #2d2d42;
  line-height: 1.4;
  margin: 0 0 15px 0;
}

.info-card h3 .highlight-text {
  color: #E85A71;
}

.card-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.tag {
  background: #f8f5f6;
  color: #E85A71;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
}

.card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 15px;
  border-top: 1px solid #f0f0f0;
}

.might-like {
  font-size: 11px;
  color: #999;
  font-weight: 500;
}

.go-btn {
  background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
  color: #fff;
  padding: 10px 20px;
  border-radius: 25px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 1px;
  transition: all 0.3s;
  box-shadow: 0 5px 20px rgba(232, 90, 113, 0.3);
}

.go-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(232, 90, 113, 0.4);
}

/* New Post Badge */
.new-post-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #fff 0%, #fef8f9 100%);
  padding: 12px 20px;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 700;
  color: #E85A71;
  letter-spacing: 1px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(232, 90, 113, 0.15);
  width: fit-content;
}

.pulse-dot {
  width: 8px;
  height: 8px;
  background: #E85A71;
  border-radius: 50%;
  animation: pulse-dot 1.5s infinite;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.2); }
}

/* Circular Profile */
.circular-profile {
  position: relative;
  width: 100px;
  height: 100px;
  margin-left: 20px;
}

.circular-profile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.profile-ring {
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  border: 2px solid #E85A71;
  border-radius: 50%;
  opacity: 0.5;
}

/* Bottom Title */
.showcase-title-left {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
}

.showcase-title-left .small-text {
  font-size: 12px;
  color: #999;
  letter-spacing: 2px;
  font-weight: 600;
}

.showcase-title-left .big-text {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  font-weight: 700;
  color: #2d2d42;
  line-height: 1;
}

.showcase-title-left .highlight-big {
  font-family: 'Playfair Display', serif;
  font-size: 36px;
  font-weight: 700;
  color: #E85A71;
  line-height: 1;
}

/* Center Model */
.creative-center {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.center-model-wrapper {
  position: relative;
}

.center-model {
  max-height: 550px;
  width: auto;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.15));
}

.model-glow {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 50px;
  background: radial-gradient(ellipse, rgba(232, 90, 113, 0.2) 0%, transparent 70%);
  z-index: 1;
}

/* Floating Hearts */
.floating-heart {
  position: absolute;
  z-index: 3;
  animation: float-heart 3s ease-in-out infinite;
}

.floating-heart svg {
  filter: drop-shadow(0 5px 15px rgba(232, 90, 113, 0.4));
}

.heart-1 {
  top: 10%;
  right: 15%;
  width: 45px;
  height: 45px;
  animation-delay: 0s;
}

.heart-2 {
  bottom: 25%;
  right: 5%;
  width: 35px;
  height: 35px;
  animation-delay: 0.5s;
}

.heart-3 {
  top: 30%;
  left: 10%;
  width: 28px;
  height: 28px;
  animation-delay: 1s;
}

@keyframes float-heart {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-15px) rotate(5deg); }
}

/* Right Side */
.creative-right {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 30px;
}

/* Main Heading */
.main-heading {
  text-align: right;
}

.main-heading .line1 {
  display: block;
  font-size: 14px;
  color: #999;
  letter-spacing: 3px;
  font-weight: 600;
}

.main-heading .line2 {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 42px;
  font-weight: 700;
  color: #2d2d42;
  line-height: 1.1;
}

.main-heading .line2 .accent {
  color: #E85A71;
}

.main-heading .subtext {
  display: block;
  font-size: 11px;
  color: #888;
  letter-spacing: 2px;
  margin-top: 10px;
}

/* Update Card */
.update-card {
  background: #fff;
  border-radius: 15px;
  padding: 20px 25px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.05);
  text-align: right;
}

.update-label {
  font-size: 10px;
  color: #E85A71;
  font-weight: 700;
  letter-spacing: 2px;
}

.update-card h4 {
  margin: 8px 0;
}

.script-text {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 28px;
  color: #2d2d42;
}

.via-text {
  font-size: 11px;
  color: #888;
  letter-spacing: 2px;
}

.via-text .highlight {
  color: #25D366;
  font-weight: 700;
}

/* Social Card */
.social-card {
  background: #fff;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.social-header {
  margin-bottom: 15px;
}

.new-label {
  font-size: 10px;
  color: #888;
  letter-spacing: 1px;
  font-weight: 600;
}

.social-content {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}

.service-icon {
  width: 50px;
  height: 50px;
  background: #f5f5f5;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.service-icon svg {
  width: 28px;
  height: 28px;
}

.service-info {
  flex: 1;
}

.service-name {
  display: block;
  font-weight: 700;
  color: #2d2d42;
  font-size: 15px;
}

.service-detail {
  display: block;
  font-size: 12px;
  color: #888;
}

.book-btn {
  display: block;
  background: #f8f5f6;
  color: #E85A71;
  text-align: center;
  padding: 12px;
  border-radius: 25px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 1px;
  transition: all 0.3s;
  border: 1px solid rgba(232, 90, 113, 0.2);
}

.book-btn:hover {
  background: #E85A71;
  color: #fff;
}

/* Creative Footer */
.creative-footer {
  text-align: center;
  margin-top: 50px;
  font-size: 12px;
  color: #aaa;
  letter-spacing: 1px;
}

/* Responsive Creative Showcase */
@media (max-width: 1024px) {
  .creative-container {
    grid-template-columns: 1fr 1fr;
  }

  .creative-center {
    grid-column: span 2;
    order: -1;
  }

  .center-model {
    max-height: 400px;
  }
}

@media (max-width: 768px) {
  .creative-showcase {
    padding: 50px 0;
    min-height: auto;
  }

  .creative-nav {
    display: none;
  }

  .creative-container {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 0 20px;
  }

  .creative-center {
    grid-column: span 1;
  }

  .center-model {
    max-height: 350px;
  }

  .creative-left, .creative-right {
    padding-top: 0;
  }

  .main-heading {
    text-align: center;
  }

  .main-heading .line2 {
    font-size: 32px;
  }

  .update-card {
    text-align: center;
  }

  .showcase-title-left {
    align-items: center;
    text-align: center;
  }

  .circular-profile {
    margin: 0 auto;
  }

  .floating-heart {
    display: none;
  }
}

@media (max-width: 480px) {
  .info-card h3 {
    font-size: 16px;
  }

  .main-heading .line2 {
    font-size: 28px;
  }

  .showcase-title-left .big-text {
    font-size: 26px;
  }

  .showcase-title-left .highlight-big {
    font-size: 30px;
  }

  .center-model {
    max-height: 300px;
  }
}

/* ========================================
   CREATIVE SHOWCASE V2 - TIGHT COLLAGE DESIGN
======================================== */
.creative-showcase-v2 {
  position: relative;
  padding: 30px 0 0;
  background: linear-gradient(180deg, #f8f6fa 0%, #f0edf3 100%);
  min-height: 800px;
  overflow: hidden;
}

.showcase-bg-dots {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle, #d5d2d8 1px, transparent 1px);
  background-size: 15px 15px;
  opacity: 0.5;
  pointer-events: none;
}

/* Top Label */
.showcase-top-label {
  position: absolute;
  top: 20px;
  left: 30px;
  z-index: 30;
  font-size: 9px;
  font-weight: 600;
  color: #aaa;
  letter-spacing: 1px;
}

.showcase-top-label .pink-text {
  color: #E85A71;
  font-weight: 700;
}

/* Main Grid - Model-centric container */
.showcase-main-grid {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  min-height: 750px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

/* ===== CENTER MODEL - HUGE AND DOMINANT ===== */
.showcase-center-col {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.showcase-main-model {
  height: 95vh;
  max-height: 750px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 20px 50px rgba(0,0,0,0.15));
}

/* ===== LEFT COLUMN - Very close to model ===== */
.showcase-left-col {
  position: absolute;
  left: 18%;
  top: 60px;
  width: 200px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Info Card - Small and tight */
.showcase-info-card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 16px;
  padding: 14px 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(10px);
}

.info-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.views-badge {
  font-size: 9px;
  font-weight: 800;
  color: #E85A71;
  letter-spacing: 0.5px;
}

.arrow-circle {
  width: 22px;
  height: 22px;
  background: #f5f5f5;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #888;
}

.info-card-title {
  font-family: 'Playfair Display', serif;
  font-size: 13px;
  font-weight: 700;
  color: #2d2d42;
  line-height: 1.35;
  margin: 0 0 8px 0;
}

.info-card-title .pink-bold {
  color: #E85A71;
}

.info-card-tags {
  display: flex;
  gap: 5px;
  margin-bottom: 10px;
}

.hashtag {
  background: #fce8eb;
  color: #c75670;
  padding: 4px 8px;
  border-radius: 10px;
  font-size: 8px;
  font-weight: 700;
}

.info-card-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 8px;
  border-top: 1px solid #f5f0f2;
}

.might-text {
  font-size: 8px;
  color: #aaa;
  font-weight: 600;
}

.go-play-btn {
  background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
  color: #fff;
  padding: 6px 12px;
  border-radius: 15px;
  font-size: 8px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 3px 10px rgba(232, 90, 113, 0.3);
  transition: all 0.3s;
}

.go-play-btn:hover {
  transform: scale(1.05);
  color: #fff;
}

/* New Post Strip */
.new-post-strip {
  background: #fce8eb;
  color: #c9556b;
  padding: 8px 12px;
  border-radius: 20px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1px;
  display: inline-block;
  width: fit-content;
}

/* Circular Thumbnail - Overlapping model from left */
.circular-thumb {
  position: absolute;
  left: 28%;
  bottom: 20%;
  width: 110px;
  height: 110px;
  z-index: 25;
}

.circular-thumb .close-x {
  position: absolute;
  top: -3px;
  left: -3px;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #999;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  z-index: 3;
}

.circular-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 8px 30px rgba(0,0,0,0.18);
}

.thumb-overlay {
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #E85A71, #ff7b8a);
  color: #fff;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 8px;
  font-weight: 700;
  box-shadow: 0 3px 8px rgba(232, 90, 113, 0.4);
}

/* Bottom Title - Bottom left near model */
.showcase-bottom-title {
  position: absolute;
  left: 18%;
  bottom: 5%;
  z-index: 20;
}

.showcase-bottom-title .line-small {
  display: block;
  font-size: 10px;
  color: #888;
  letter-spacing: 2px;
  font-weight: 700;
  margin-bottom: 3px;
}

.showcase-bottom-title .line-big {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 36px;
  font-weight: 900;
  color: #2d2d42;
  line-height: 1;
}

/* ===== 3D GLOSSY BALLOON HEARTS ===== */
.heart-3d {
  position: absolute;
  z-index: 30;
  animation: heartFloat3D 3.5s ease-in-out infinite;
}

.heart-3d svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 8px 20px rgba(255, 120, 150, 0.5));
}

.heart-top-left {
  top: 18%;
  left: 38%;
  width: 55px;
  height: 55px;
  animation-delay: 0s;
}

.heart-top-right {
  top: 25%;
  right: 38%;
  width: 60px;
  height: 60px;
  animation-delay: 0.5s;
}

.heart-bottom-right {
  bottom: 45%;
  right: 35%;
  width: 50px;
  height: 50px;
  animation-delay: 1s;
}

.heart-bottom-left {
  bottom: 35%;
  left: 38%;
  width: 45px;
  height: 45px;
  animation-delay: 1.5s;
}

@keyframes heartFloat3D {
  0%, 100% {
    transform: translateY(0) rotate(-5deg);
  }
  50% {
    transform: translateY(-15px) rotate(5deg);
  }
}

/* ===== RIGHT COLUMN - Very close to model ===== */
.showcase-right-col {
  position: absolute;
  right: 18%;
  top: 40px;
  width: 180px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
}

/* Big Heading - Top Right overlapping model */
.showcase-big-heading {
  text-align: right;
}

.showcase-big-heading .heading-line1 {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 700;
  color: #2d2d42;
  letter-spacing: 2px;
}

.showcase-big-heading .heading-line2 {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 42px;
  font-weight: 900;
  color: #2d2d42;
  line-height: 0.9;
}

.showcase-big-heading .heading-sub {
  display: block;
  font-size: 9px;
  color: #888;
  letter-spacing: 1.5px;
  margin-top: 8px;
  font-weight: 700;
}

.showcase-big-heading .heading-sub .pink-text {
  color: #E85A71;
}

/* Update Card - Circular */
.showcase-update-card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  width: 120px;
  height: 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-shadow: 0 10px 40px rgba(0,0,0,0.08);
  border: 2px solid rgba(232, 90, 113, 0.1);
  backdrop-filter: blur(10px);
}

.update-tag {
  font-size: 7px;
  color: #E85A71;
  font-weight: 800;
  letter-spacing: 1.5px;
}

.update-script {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 28px;
  font-weight: 400;
  color: #2d2d42;
  margin: 0;
  line-height: 1;
}

.update-via {
  font-size: 7px;
  color: #888;
  letter-spacing: 1px;
  font-weight: 700;
  margin-top: 2px;
}

.update-via .green-text {
  color: #E85A71;
  font-weight: 800;
}

/* Social Card - WhatsApp */
.showcase-social-card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 14px;
  padding: 12px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.08);
  backdrop-filter: blur(10px);
  width: 100%;
}

.social-card-header {
  font-size: 8px;
  color: #888;
  letter-spacing: 0.5px;
  font-weight: 700;
  margin-bottom: 10px;
}

.social-card-header .pink-text {
  color: #E85A71;
}

.social-card-body {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.album-art {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.album-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.track-info {
  flex: 1;
}

.platform-icon {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 9px;
  color: #25D366;
  font-weight: 800;
  margin-bottom: 2px;
}

.platform-icon svg {
  width: 14px;
  height: 14px;
}

.track-name {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: #2d2d42;
}

.track-artist {
  display: block;
  font-size: 8px;
  color: #999;
  letter-spacing: 0.3px;
  font-weight: 600;
}

.social-go-btn {
  display: block;
  background: linear-gradient(135deg, #25D366 0%, #20bd5a 100%);
  color: #fff;
  text-align: center;
  padding: 8px;
  border-radius: 20px;
  font-size: 9px;
  font-weight: 800;
  text-decoration: none;
  letter-spacing: 0.5px;
  box-shadow: 0 3px 12px rgba(37, 211, 102, 0.35);
  transition: all 0.3s;
}

.social-go-btn:hover {
  transform: scale(1.03);
  color: #fff;
}

/* Footer Text - Hidden */
.showcase-footer-text {
  display: none;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1400px) {
  .showcase-left-col {
    left: 12%;
    width: 180px;
  }

  .showcase-right-col {
    right: 12%;
    width: 170px;
  }

  .showcase-main-model {
    max-height: 680px;
  }

  .circular-thumb {
    left: 22%;
    bottom: 18%;
    width: 100px;
    height: 100px;
  }

  .showcase-bottom-title {
    left: 12%;
  }
}

@media (max-width: 1200px) {
  .showcase-left-col {
    left: 8%;
    width: 170px;
  }

  .showcase-right-col {
    right: 8%;
    width: 160px;
  }

  .showcase-main-model {
    max-height: 600px;
  }

  .showcase-big-heading .heading-line2 {
    font-size: 36px;
  }

  .showcase-update-card {
    width: 100px;
    height: 100px;
  }

  .update-script {
    font-size: 24px;
  }

  .circular-thumb {
    left: 18%;
    bottom: 15%;
    width: 95px;
    height: 95px;
  }

  .showcase-bottom-title {
    left: 8%;
    bottom: 5%;
  }

  .showcase-bottom-title .line-big {
    font-size: 32px;
  }
}

@media (max-width: 1024px) {
  .creative-showcase-v2 {
    min-height: auto;
    padding: 30px 15px 40px;
  }

  .showcase-main-grid {
    flex-direction: column;
    min-height: auto;
  }

  .showcase-left-col {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: 220px;
    margin: 0 auto 15px;
    z-index: 15;
  }

  .showcase-right-col {
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
    max-width: 220px;
    margin: 15px auto 0;
    align-items: center;
  }

  .showcase-center-col {
    order: -1;
  }

  .showcase-main-model {
    height: auto;
    max-height: 450px;
  }

  .circular-thumb {
    position: relative;
    left: auto;
    bottom: auto;
    margin: 10px auto;
    width: 90px;
    height: 90px;
  }

  .showcase-bottom-title {
    position: relative;
    left: auto;
    bottom: auto;
    text-align: center;
    margin-top: 15px;
  }

  .showcase-bottom-title .line-big {
    font-size: 30px;
  }

  .showcase-big-heading {
    text-align: center;
  }

  .showcase-update-card {
    margin: 0 auto;
  }

  .heart-top-left,
  .heart-top-right {
    width: 45px !important;
    height: 45px !important;
  }

  .heart-bottom-right,
  .heart-bottom-left {
    display: none;
  }
}

@media (max-width: 768px) {
  .showcase-main-model {
    max-height: 380px;
  }

  .showcase-big-heading .heading-line1 {
    font-size: 18px;
  }

  .showcase-big-heading .heading-line2 {
    font-size: 32px;
  }

  .showcase-bottom-title .line-big {
    font-size: 28px;
  }

  .heart-3d {
    width: 35px !important;
    height: 35px !important;
  }

  .showcase-top-label {
    left: 15px;
    font-size: 8px;
  }
}

@media (max-width: 480px) {
  .showcase-big-heading .heading-line1 {
    font-size: 16px;
  }

  .showcase-big-heading .heading-line2 {
    font-size: 26px;
  }

  .showcase-bottom-title .line-big {
    font-size: 24px;
  }

  .showcase-main-model {
    max-height: 320px;
  }

  .showcase-update-card {
    width: 90px;
    height: 90px;
  }

  .update-script {
    font-size: 20px;
  }

  .circular-thumb {
    width: 80px;
    height: 80px;
  }

  .showcase-info-card {
    padding: 12px 10px;
  }

  .info-card-title {
    font-size: 12px;
  }

  .heart-3d {
    display: none;
  }
}

/* ===========================================
   PROFILE CARDS - RESPONSIVE STYLES
   =========================================== */

@media (max-width: 1200px) {
  .profiles-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

@media (max-width: 992px) {
  .profiles-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }

  .profile-card-premium {
    border-radius: 14px;
  }

  .profile-image-wrapper .profile-name,
  .profile-image-wrapper h3.profile-name,
  .profile-card-premium .profile-name {
    font-size: 16px !important;
    bottom: 80px !important;
  }

  .like-btn {
    bottom: 78px !important;
  }

  .like-btn svg {
    width: 20px !important;
    height: 20px !important;
  }

  .slider-gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
}

@media (max-width: 768px) {
  .profiles-section,
  .slider-gallery-section {
    padding: 30px 0;
  }

  .profiles-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 25px;
  }

  .profile-card-premium {
    border-radius: 12px;
  }

  .profile-card-premium:hover {
    transform: translateY(-4px);
  }

  .image-overlay {
    height: 60%;
  }

  .profile-image-wrapper .profile-name,
  .profile-image-wrapper h3.profile-name,
  .profile-card-premium .profile-name {
    font-size: 14px !important;
    bottom: 70px !important;
    left: 10px !important;
    right: 38px !important;
  }

  .like-btn {
    width: 28px !important;
    height: 28px !important;
    bottom: 68px !important;
    right: 10px !important;
  }

  .like-btn svg {
    width: 18px !important;
    height: 18px !important;
  }

  .card-content {
    padding: 0 10px 10px !important;
  }

  .card-meta {
    gap: 4px;
    margin-bottom: 8px;
  }

  .meta-category,
  .meta-age,
  .meta-location {
    font-size: 10px;
  }

  .meta-status {
    font-size: 9px;
  }

  .status-dot {
    width: 4px;
    height: 4px;
  }

  .price-value {
    font-size: 14px;
  }

  .book-now-btn {
    padding: 5px 10px;
    font-size: 10px;
    border-radius: 4px;
  }

  .slider-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

@media (max-width: 480px) {
  .profiles-grid {
    gap: 8px;
  }

  .profile-card-premium {
    border-radius: 10px;
  }

  .profile-image-wrapper .profile-name,
  .profile-image-wrapper h3.profile-name,
  .profile-card-premium .profile-name {
    font-size: 12px !important;
    bottom: 58px !important;
    left: 8px !important;
    right: 32px !important;
  }

  .like-btn {
    width: 24px !important;
    height: 24px !important;
    bottom: 56px !important;
    right: 8px !important;
  }

  .like-btn svg {
    width: 15px !important;
    height: 15px !important;
  }

  .card-content {
    padding: 0 8px 8px !important;
  }

  .card-meta {
    gap: 3px;
    margin-bottom: 6px;
  }

  .meta-category,
  .meta-age,
  .meta-location {
    font-size: 9px;
  }

  .meta-dot {
    font-size: 6px;
  }

  .meta-status {
    font-size: 8px;
    gap: 3px;
  }

  .status-dot {
    width: 4px;
    height: 4px;
  }

  .price-value {
    font-size: 12px;
  }

  .book-now-btn {
    padding: 4px 8px;
    font-size: 9px;
    border-width: 1px;
  }

  .slider-gallery-grid {
    gap: 8px;
  }
}


/* =========================================
   PRICE PAGE STYLES
   ========================================= */

/* Price Hero Section */
.price-page-hero {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    padding: 100px 20px 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.price-page-hero .hero-bg-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 80%, rgba(232, 90, 113, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 215, 0, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(100, 200, 255, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

.price-page-hero .hero-inner {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin: 0 auto;
}

.price-page-hero h1 {
    color: #fff !important;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 15px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.price-page-hero .hero-desc {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.2rem;
    margin-bottom: 30px;
}

.price-page-hero .hero-features {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.price-page-hero .feature-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 0.95rem;
    background: rgba(255, 255, 255, 0.1);
    padding: 10px 20px;
    border-radius: 25px;
    backdrop-filter: blur(10px);
}

.price-page-hero .feature-icon {
    color: #FFD700;
    font-weight: bold;
}

/* Price Content Section */
.price-content-section {
    background: linear-gradient(180deg, #fff5f7 0%, #f0f8ff 50%, #fff5f7 100%);
    padding: 60px 20px;
}

.price-content-section .container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Price Intro Text - Dark Box Style */
.price-intro-text {
    background: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 100%);
    padding: 40px;
    border-radius: 20px;
    margin-bottom: 50px;
    position: relative;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

.price-intro-text::before {
    content: '₹';
    position: absolute;
    top: 20px;
    left: 30px;
    font-size: 4rem;
    color: rgba(255, 215, 0, 0.15);
    font-weight: bold;
}

.price-intro-text p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 1.1rem;
    line-height: 1.8;
    margin: 0;
    position: relative;
    z-index: 2;
    text-align: center !important;
}

.price-intro-text a {
    color: #FFD700 !important;
    text-decoration: underline;
}

.price-intro-text a:hover {
    color: #FFA500 !important;
}

/* Price Content Boxes Grid */
.price-boxes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-bottom: 60px;
}

.price-content-box {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.price-content-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.price-content-box:nth-child(1) h2 {
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
}

.price-content-box:nth-child(2) h2 {
    background: linear-gradient(135deg, #4A90D9 0%, #6BB3F8 100%);
}

.price-content-box h2 {
    color: #fff !important;
    font-size: 1.3rem;
    font-weight: 700;
    padding: 20px 25px;
    margin: 0;
}

.price-content-box p {
    padding: 25px;
    color: #444 !important;
    font-size: 1rem;
    line-height: 1.7;
    margin: 0;
}

.price-content-box a {
    color: #E85A71 !important;
    font-weight: 600;
    text-decoration: none;
}

.price-content-box a:hover {
    text-decoration: underline;
}

/* Price Section Title */
.price-section-title {
    text-align: center;
    margin-bottom: 50px;
}

.price-section-title h2 {
    color: #1a1a2e !important;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.price-section-title p {
    color: #666 !important;
    font-size: 1.1rem;
}

/* Pricing Cards Grid */
.pricing-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

/* Individual Pricing Card */
.pricing-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}

.pricing-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
}

.pricing-card.vip {
    border: 3px solid #FFD700;
    transform: scale(1.05);
}

.pricing-card.vip:hover {
    transform: scale(1.05) translateY(-10px);
}

.popular-badge {
    position: absolute;
    top: -2px;
    right: 20px;
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1a1a2e;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 8px 15px;
    border-radius: 0 0 10px 10px;
    text-transform: uppercase;
    z-index: 10;
}

.pricing-card-header {
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
    padding: 25px;
    text-align: center;
}

.pricing-card-header.blue {
    background: linear-gradient(135deg, #4A90D9 0%, #6BB3F8 100%);
}

.pricing-card-header.gold {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
}

.plan-duration {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.pricing-card-header.gold .plan-duration {
    color: #1a1a2e;
}

.pricing-card-body {
    padding: 30px;
    text-align: center;
}

.price-amount {
    margin-bottom: 25px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
}

.price-amount .currency {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a2e;
}

.price-amount .amount {
    font-size: 3rem;
    font-weight: 800;
    color: #1a1a2e;
    line-height: 1;
}

.price-amount .period {
    font-size: 1rem;
    color: #888;
    font-weight: 500;
}

/* Plan Features List */
.plan-features {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    text-align: left;
}

.plan-features li {
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.95rem;
    color: #444;
}

.plan-features li:last-child {
    border-bottom: none;
}

.plan-features .check-icon {
    width: 22px;
    height: 22px;
    background: linear-gradient(135deg, #28a745 0%, #34ce57 100%);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    flex-shrink: 0;
}

.plan-features .cross-icon {
    width: 22px;
    height: 22px;
    background: #f0f0f0;
    color: #999;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    flex-shrink: 0;
}

.plan-features li.not-included {
    color: #999;
}

/* Pricing Button */
.pricing-btn {
    display: inline-block;
    width: 100%;
    padding: 15px 30px;
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
    color: #fff !important;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none !important;
    border-radius: 30px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 20px rgba(232, 90, 113, 0.3);
}

.pricing-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(232, 90, 113, 0.4);
}

.pricing-btn.blue {
    background: linear-gradient(135deg, #4A90D9 0%, #6BB3F8 100%);
    box-shadow: 0 5px 20px rgba(74, 144, 217, 0.3);
}

.pricing-btn.blue:hover {
    box-shadow: 0 8px 25px rgba(74, 144, 217, 0.4);
}

.pricing-btn.gold {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1a1a2e !important;
    box-shadow: 0 5px 20px rgba(255, 215, 0, 0.3);
}

.pricing-btn.gold:hover {
    box-shadow: 0 8px 25px rgba(255, 215, 0, 0.4);
}

/* Price CTA Banner */
.price-cta-banner {
    background: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 100%);
    padding: 60px 20px;
    text-align: center;
}

.price-cta-banner .cta-content {
    max-width: 600px;
    margin: 0 auto;
}

.price-cta-banner h2 {
    color: #fff !important;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.price-cta-banner p {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 1.1rem;
    margin-bottom: 25px;
    text-align: center !important;
}

.price-cta-banner .cta-phone-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1a1a2e !important;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 15px 35px;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 5px 25px rgba(255, 215, 0, 0.3);
}

.price-cta-banner .cta-phone-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(255, 215, 0, 0.4);
}

.price-cta-banner .cta-phone-btn svg {
    width: 24px;
    height: 24px;
}

/* Price Page Responsive */
@media (max-width: 992px) {
    .pricing-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pricing-card.vip {
        grid-column: span 2;
        max-width: 400px;
        margin: 0 auto;
        transform: scale(1);
    }

    .pricing-card.vip:hover {
        transform: translateY(-10px);
    }
}

@media (max-width: 768px) {
    .price-page-hero {
        padding: 90px 15px 50px;
    }

    .price-page-hero h1 {
        font-size: 1.8rem;
    }

    .price-page-hero .hero-desc {
        font-size: 1rem;
    }

    .price-page-hero .hero-features {
        gap: 15px;
    }

    .price-page-hero .feature-item {
        padding: 8px 15px;
        font-size: 0.85rem;
    }

    .price-content-section {
        padding: 40px 15px;
    }

    .price-intro-text {
        padding: 30px 20px;
    }

    .price-intro-text::before {
        font-size: 3rem;
        top: 10px;
        left: 15px;
    }

    .price-intro-text p {
        font-size: 1rem;
    }

    .price-boxes-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .pricing-cards-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .pricing-card.vip {
        grid-column: span 1;
        max-width: 100%;
    }

    .price-section-title h2 {
        font-size: 1.6rem;
    }

    .price-amount .amount {
        font-size: 2.5rem;
    }

    .price-cta-banner {
        padding: 40px 15px;
    }

    .price-cta-banner h2 {
        font-size: 1.5rem;
    }

    .price-cta-banner .cta-phone-btn {
        font-size: 1rem;
        padding: 12px 25px;
    }
}


/* =========================================
   VIDEO PAGE STYLES - LIGHT THEME
   ========================================= */

/* Video Hero Section */
.video-page-hero {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    padding: 100px 20px 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.video-page-hero .hero-bg-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 80%, rgba(232, 90, 113, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(74, 144, 217, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(100, 200, 255, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

.video-page-hero .hero-inner {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin: 0 auto;
}

.video-page-hero h1 {
    color: #fff !important;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 15px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.video-page-hero .hero-desc {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.2rem;
    margin-bottom: 30px;
}

.video-page-hero .hero-features {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.video-page-hero .feature-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 0.95rem;
    background: rgba(255, 255, 255, 0.1);
    padding: 10px 20px;
    border-radius: 25px;
    backdrop-filter: blur(10px);
}

.video-page-hero .feature-icon {
    color: #E85A71;
    font-weight: bold;
}

/* Video Content Section */
.video-content-section {
    background: linear-gradient(180deg, #fff5f7 0%, #f0f8ff 50%, #fff5f7 100%);
    padding: 60px 20px;
}

.video-content-section .container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Video Intro Text */
.video-intro-text {
    background: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 100%);
    padding: 40px;
    border-radius: 20px;
    margin-bottom: 40px;
    position: relative;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

.video-intro-text::before {
    content: '▶';
    position: absolute;
    top: 20px;
    left: 30px;
    font-size: 3rem;
    color: rgba(232, 90, 113, 0.2);
}

.video-intro-text p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 1.1rem;
    line-height: 1.8;
    margin: 0;
    position: relative;
    z-index: 2;
    text-align: center !important;
}

/* Video Content Box */
.video-content-box {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 50px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

.video-content-box h2 {
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
    color: #fff !important;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 20px 30px;
    margin: 0;
}

.video-content-box p {
    padding: 30px;
    color: #444 !important;
    font-size: 1rem;
    line-height: 1.8;
    margin: 0;
}

.video-content-box a {
    color: #E85A71 !important;
    font-weight: 600;
    text-decoration: none;
}

.video-content-box a:hover {
    text-decoration: underline;
}

/* Video Section Title */
.video-section-title {
    text-align: center;
    margin-bottom: 40px;
}

.video-section-title h2 {
    color: #1a1a2e !important;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.video-section-title p {
    color: #666 !important;
    font-size: 1.1rem;
}

/* Videos Grid */
.videos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* Video Card */
.video-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

.video-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 50px rgba(232, 90, 113, 0.2);
}

.video-thumbnail-wrapper {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.video-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.video-card:hover .video-thumbnail {
    transform: scale(1.1);
}

.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 50%, transparent 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: all 0.3s ease;
}

.video-card:hover .video-overlay {
    background: linear-gradient(to top, rgba(232, 90, 113, 0.7) 0%, rgba(232, 90, 113, 0.3) 100%);
}

.play-button {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 5px 25px rgba(232, 90, 113, 0.4);
}

.video-card:hover .play-button {
    transform: scale(1.15);
    box-shadow: 0 10px 40px rgba(232, 90, 113, 0.6);
}

.play-button svg {
    width: 30px;
    height: 30px;
    color: #fff;
    margin-left: 5px;
}

.video-info {
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    border-top: 1px solid #f0f0f0;
}

.video-title {
    color: #1a1a2e !important;
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.5px;
}

.video-duration {
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 15px;
    text-transform: uppercase;
}

/* Video CTA Banner */
.video-cta-banner {
    background: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 100%);
    padding: 60px 20px;
    text-align: center;
}

.video-cta-banner .cta-content {
    max-width: 600px;
    margin: 0 auto;
}

.video-cta-banner h2 {
    color: #fff !important;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.video-cta-banner p {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 1.1rem;
    margin-bottom: 25px;
    text-align: center !important;
}

.video-cta-banner .cta-phone-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
    color: #fff !important;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 15px 35px;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 5px 25px rgba(232, 90, 113, 0.3);
}

.video-cta-banner .cta-phone-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(232, 90, 113, 0.4);
}

.video-cta-banner .cta-phone-btn svg {
    width: 24px;
    height: 24px;
}

/* Video Modal */
.video-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    align-items: center;
    justify-content: center;
}

.video-modal.modal-active {
    display: flex;
}

.video-modal video {
    max-width: 90%;
    max-height: 80vh;
    border-radius: 10px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.video-modal-close {
    position: absolute;
    top: 30px;
    right: 40px;
    color: #fff;
    font-size: 50px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s ease, transform 0.3s ease;
    z-index: 10000;
}

.video-modal-close:hover {
    color: #E85A71;
    transform: rotate(90deg);
}

/* Video Page Responsive */
@media (max-width: 992px) {
    .videos-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .video-page-hero {
        padding: 90px 15px 50px;
    }

    .video-page-hero h1 {
        font-size: 1.8rem;
    }

    .video-page-hero .hero-desc {
        font-size: 1rem;
    }

    .video-page-hero .hero-features {
        gap: 15px;
    }

    .video-page-hero .feature-item {
        padding: 8px 15px;
        font-size: 0.85rem;
    }

    .video-content-section {
        padding: 40px 15px;
    }

    .video-intro-text {
        padding: 30px 20px;
    }

    .video-intro-text::before {
        font-size: 2rem;
        top: 10px;
        left: 15px;
    }

    .video-intro-text p {
        font-size: 1rem;
    }

    .videos-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .video-section-title h2 {
        font-size: 1.6rem;
    }

    .play-button {
        width: 60px;
        height: 60px;
    }

    .play-button svg {
        width: 25px;
        height: 25px;
    }

    .video-cta-banner {
        padding: 40px 15px;
    }

    .video-cta-banner h2 {
        font-size: 1.5rem;
    }

    .video-cta-banner .cta-phone-btn {
        font-size: 1rem;
        padding: 12px 25px;
    }

    .video-modal-close {
        top: 20px;
        right: 20px;
        font-size: 40px;
    }
}


/* =========================================
   CONTACT PAGE STYLES
   ========================================= */

/* Contact Hero Section */
.contact-page-hero {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    padding: 100px 20px 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.contact-page-hero .hero-bg-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 80%, rgba(232, 90, 113, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(74, 144, 217, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(100, 200, 255, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

.contact-page-hero .hero-inner {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin: 0 auto;
}

.contact-page-hero h1 {
    color: #fff !important;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 15px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.contact-page-hero .hero-desc {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.2rem;
    margin-bottom: 30px;
}

.contact-page-hero .hero-features {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.contact-page-hero .feature-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 0.95rem;
    background: rgba(255, 255, 255, 0.1);
    padding: 10px 20px;
    border-radius: 25px;
    backdrop-filter: blur(10px);
}

.contact-page-hero .feature-icon {
    color: #4CAF50;
    font-weight: bold;
}

/* Contact Content Section */
.contact-content-section {
    background: linear-gradient(180deg, #fff5f7 0%, #f0f8ff 50%, #fff5f7 100%);
    padding: 60px 20px;
}

.contact-content-section .container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Contact Text Content */
.contact-text-content {
    background: #fff;
    padding: 40px;
    border-radius: 20px;
    margin-bottom: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

.contact-text-content p {
    color: #444 !important;
    font-size: 1.05rem;
    line-height: 1.8;
    margin-bottom: 20px;
}

.contact-text-content p:last-child {
    margin-bottom: 0;
}

.contact-text-content a {
    color: #E85A71 !important;
    font-weight: 600;
    text-decoration: none;
}

.contact-text-content a:hover {
    text-decoration: underline;
}

/* Contact Boxes Grid */
.contact-boxes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

.contact-content-box {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-content-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.contact-content-box:nth-child(1) h2 {
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
}

.contact-content-box:nth-child(2) h2 {
    background: linear-gradient(135deg, #4A90D9 0%, #6BB3F8 100%);
}

.contact-content-box h2 {
    color: #fff !important;
    font-size: 1.3rem;
    font-weight: 700;
    padding: 20px 25px;
    margin: 0;
}

.contact-content-box p {
    padding: 25px;
    padding-bottom: 10px;
    color: #444 !important;
    font-size: 1rem;
    line-height: 1.7;
    margin: 0;
}

.contact-content-box p:last-child {
    padding-bottom: 25px;
}

.contact-content-box a {
    color: #E85A71 !important;
    font-weight: 600;
    text-decoration: none;
}

.contact-content-box a:hover {
    text-decoration: underline;
}

/* Contact Info Cards Grid */
.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

.contact-info-card {
    background: #fff;
    border-radius: 20px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-info-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
}

.contact-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.contact-icon svg {
    width: 40px;
    height: 40px;
    color: #fff;
}

.contact-icon.phone-icon {
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
}

.contact-icon.whatsapp-icon {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
}

.contact-icon.email-icon {
    background: linear-gradient(135deg, #4A90D9 0%, #6BB3F8 100%);
}

.contact-info-card h3 {
    color: #1a1a2e !important;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.contact-link {
    color: #666 !important;
    font-size: 1.1rem;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-link:hover {
    color: #E85A71 !important;
}

/* Contact Form Section */
.contact-form-section {
    background: #fff;
    border-radius: 20px;
    padding: 50px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

.form-header {
    text-align: center;
    margin-bottom: 40px;
}

.form-header h2 {
    color: #1a1a2e !important;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.form-header p {
    color: #666 !important;
    font-size: 1.1rem;
}

.contact-form {
    max-width: 800px;
    margin: 0 auto;
}

.contact-form .form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-bottom: 25px;
}

.contact-form .form-group {
    margin-bottom: 0;
}

.contact-form .form-group.full-width {
    margin-bottom: 25px;
}

.contact-form label {
    display: block;
    color: #1a1a2e !important;
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.contact-form .form-control {
    width: 100%;
    padding: 15px 20px;
    font-size: 1rem;
    color: #333;
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.contact-form .form-control:focus {
    outline: none;
    border-color: #E85A71;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(232, 90, 113, 0.1);
}

.contact-form .form-control::placeholder {
    color: #aaa;
}

.contact-form textarea.form-control {
    resize: vertical;
    min-height: 120px;
}

.submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 18px 40px;
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
    color: #fff !important;
    font-size: 1.1rem;
    font-weight: 700;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 5px 25px rgba(232, 90, 113, 0.3);
}

.submit-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(232, 90, 113, 0.4);
}

.submit-btn svg {
    width: 22px;
    height: 22px;
}

/* Contact CTA Banner */
.contact-cta-banner {
    background: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 100%);
    padding: 60px 20px;
    text-align: center;
}

.contact-cta-banner .cta-content {
    max-width: 600px;
    margin: 0 auto;
}

.contact-cta-banner h2 {
    color: #fff !important;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.contact-cta-banner p {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 1.1rem;
    margin-bottom: 25px;
    text-align: center !important;
}

.contact-cta-banner .cta-phone-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
    color: #fff !important;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 15px 35px;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 5px 25px rgba(232, 90, 113, 0.3);
}

.contact-cta-banner .cta-phone-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(232, 90, 113, 0.4);
}

.contact-cta-banner .cta-phone-btn svg {
    width: 24px;
    height: 24px;
}

/* Contact Page Responsive */
@media (max-width: 992px) {
    .contact-info-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-info-card:last-child {
        grid-column: span 2;
        max-width: 350px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .contact-page-hero {
        padding: 90px 15px 50px;
    }

    .contact-page-hero h1 {
        font-size: 1.8rem;
    }

    .contact-page-hero .hero-desc {
        font-size: 1rem;
    }

    .contact-page-hero .hero-features {
        gap: 15px;
    }

    .contact-page-hero .feature-item {
        padding: 8px 15px;
        font-size: 0.85rem;
    }

    .contact-content-section {
        padding: 40px 15px;
    }

    .contact-intro-text {
        padding: 30px 20px;
    }

    .contact-intro-text::before {
        font-size: 3rem;
        top: 10px;
        left: 15px;
    }

    .contact-intro-text p {
        font-size: 1rem;
    }

    .contact-boxes-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .contact-info-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .contact-info-card:last-child {
        grid-column: span 1;
        max-width: 100%;
    }

    .contact-info-card {
        padding: 30px 25px;
    }

    .contact-icon {
        width: 70px;
        height: 70px;
    }

    .contact-icon svg {
        width: 35px;
        height: 35px;
    }

    .contact-form-section {
        padding: 30px 20px;
    }

    .form-header h2 {
        font-size: 1.6rem;
    }

    .contact-form .form-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .submit-btn {
        padding: 15px 30px;
        font-size: 1rem;
    }

    .contact-cta-banner {
        padding: 40px 15px;
    }

    .contact-cta-banner h2 {
        font-size: 1.5rem;
    }

    .contact-cta-banner .cta-phone-btn {
        font-size: 1rem;
        padding: 12px 25px;
    }
}


/* =========================================
   DATING SERVICE PAGE STYLES
   ========================================= */

/* Dating Hero Section */
.dating-page-hero {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    padding: 100px 20px 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.dating-page-hero .hero-bg-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 80%, rgba(232, 90, 113, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(74, 144, 217, 0.15) 0%, transparent 50%);
    pointer-events: none;
}

.dating-page-hero .hero-inner {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin: 0 auto;
}

.dating-page-hero h1 {
    color: #fff !important;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 15px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.dating-page-hero .hero-desc {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.2rem;
}

/* Dating Cards Section */
.dating-cards-section {
    background: linear-gradient(180deg, #fff5f7 0%, #f0f8ff 100%);
    padding: 60px 20px;
}

.dating-cards-section .container {
    max-width: 1200px;
    margin: 0 auto;
}

.dating-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.dating-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dating-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(232, 90, 113, 0.15);
}

.dating-card a {
    text-decoration: none;
    display: block;
}

.dating-card-image {
    position: relative;
    overflow: hidden;
}

.dating-card-image img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.dating-card:hover .dating-card-image img {
    transform: scale(1.1);
}

.dating-card p {
    padding: 20px;
    color: #1a1a2e !important;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
    margin: 0;
    background: #fff;
}

/* Dating Content Section */
.dating-content-section {
    background: linear-gradient(180deg, #f0f8ff 0%, #fff5f7 100%);
    padding: 60px 20px;
}

.dating-content-section .container {
    max-width: 1200px;
    margin: 0 auto;
}

.dating-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 40px;
}

/* Main Content */
.dating-main-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.dating-content-box {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.dating-content-box:nth-child(1) h2 {
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
}

.dating-content-box:nth-child(2) h2 {
    background: linear-gradient(135deg, #4A90D9 0%, #6BB3F8 100%);
}

.dating-content-box:nth-child(3) h2 {
    background: linear-gradient(135deg, #28a745 0%, #5dd879 100%);
}

.dating-content-box h2 {
    color: #fff !important;
    font-size: 1.3rem;
    font-weight: 700;
    padding: 18px 25px;
    margin: 0;
}

.dating-content-box p {
    padding: 25px;
    color: #444 !important;
    font-size: 1rem;
    line-height: 1.8;
    margin: 0;
    text-align: justify;
}

.dating-content-box a {
    color: #E85A71 !important;
    font-weight: 600;
    text-decoration: none;
}

.dating-content-box a:hover {
    text-decoration: underline;
}

/* Sidebar */
.dating-sidebar {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.sidebar-box {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.sidebar-heading {
    background: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 100%);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    padding: 15px 20px;
}

.sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-list li {
    border-bottom: 1px solid #f0f0f0;
}

.sidebar-list li:last-child {
    border-bottom: none;
}

.sidebar-list li a {
    display: block;
    padding: 12px 20px;
    color: #444 !important;
    font-size: 0.95rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.sidebar-list li a:hover {
    background: #fff5f7;
    color: #E85A71 !important;
    padding-left: 25px;
}

/* Dating CTA Banner */
.dating-cta-banner {
    background: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 100%);
    padding: 50px 20px;
    text-align: center;
}

.dating-cta-banner .cta-content {
    max-width: 600px;
    margin: 0 auto;
}

.dating-cta-banner .cta-phone-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #E85A71 0%, #ff7b8a 100%);
    color: #fff !important;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 15px 35px;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 5px 25px rgba(232, 90, 113, 0.3);
}

.dating-cta-banner .cta-phone-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(232, 90, 113, 0.4);
}

.dating-cta-banner .cta-phone-btn svg {
    width: 24px;
    height: 24px;
}

/* Dating Page Responsive */
@media (max-width: 992px) {
    .dating-layout {
        grid-template-columns: 1fr;
    }

    .dating-sidebar {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .sidebar-box {
        flex: 1;
        min-width: 250px;
    }
}

@media (max-width: 768px) {
    .dating-page-hero {
        padding: 90px 15px 50px;
    }

    .dating-page-hero h1 {
        font-size: 1.8rem;
    }

    .dating-page-hero .hero-desc {
        font-size: 1rem;
    }

    .dating-cards-section {
        padding: 40px 15px;
    }

    .dating-cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .dating-card-image img {
        height: 200px;
    }

    .dating-content-section {
        padding: 40px 15px;
    }

    .dating-sidebar {
        flex-direction: column;
    }

    .sidebar-box {
        min-width: 100%;
    }

    .dating-cta-banner {
        padding: 40px 15px;
    }

    .dating-cta-banner .cta-phone-btn {
        font-size: 1rem;
        padding: 12px 25px;
    }
}

/* =========================================
   PROFILE DETAILS PAGE STYLES
   ========================================= */

/* Profile Hero Banner */
/* ===== Profile Details Hero — warm cream, serif name, premium feel ===== */
.profile-page-hero {
    background:
        radial-gradient(ellipse at 15% 20%, rgba(232, 90, 113, 0.10) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 80%, rgba(212, 165, 116, 0.12) 0%, transparent 55%),
        linear-gradient(180deg, #FDEFEC 0%, #F8E4E4 100%);
    padding: 70px 20px 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.profile-page-hero .hero-bg-pattern {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(184, 71, 93, 0.08) 1px, transparent 1.5px);
    background-size: 32px 32px;
    opacity: 0.5;
    pointer-events: none;
}

.profile-page-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, #B8475D, #D4A574, #B8475D, transparent);
}

.profile-page-hero .hero-inner {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
}

/* Decorative diamond ornament above name */
.profile-page-hero .hero-inner::before {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    margin: 0 auto 22px;
    background: linear-gradient(135deg, #B8475D 0%, #D4A574 100%);
    transform: rotate(45deg);
    border-radius: 2px;
    box-shadow:
        -28px 6px 0 -3px #D4A574,
        28px 6px 0 -3px #D4A574;
    opacity: 0.85;
}

.profile-page-hero h1 {
    font-family: 'Playfair Display', serif !important;
    color: #5B2A39 !important;
    font-size: 56px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    line-height: 1.1 !important;
    margin: 0 0 26px 0 !important;
    text-shadow: none;
    text-transform: uppercase;
    position: relative;
}

.profile-page-hero h1::after {
    content: '';
    display: block;
    width: 80px;
    height: 1px;
    margin: 18px auto 0;
    background: linear-gradient(90deg, transparent, #B8475D, #D4A574, transparent);
}

.profile-page-hero .hero-nav-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.profile-page-hero .book-now-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    color: #FBF7F0 !important;
    font-family: 'Open Sans', sans-serif;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    padding: 13px 28px;
    border-radius: 999px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 26px rgba(184, 71, 93, 0.32);
}

.profile-page-hero .book-now-btn::after {
    content: '→';
    font-size: 14px;
    transition: transform 0.3s ease;
}

.profile-page-hero .book-now-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(184, 71, 93, 0.42);
}

.profile-page-hero .book-now-btn:hover::after {
    transform: translateX(4px);
}

.profile-page-hero .profile-nav-btns {
    display: flex;
    align-items: center;
    gap: 10px;
}

.profile-page-hero .nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: #FBF7F0;
    border: 1px solid rgba(184, 71, 93, 0.25);
    border-radius: 50%;
    color: #B8475D;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(139, 58, 76, 0.08);
}

.profile-page-hero .nav-btn:hover {
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    color: #FBF7F0;
    border-color: #8B3A4C;
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 8px 18px rgba(184, 71, 93, 0.30);
}

.profile-page-hero .nav-btn svg {
    width: 20px;
    height: 20px;
}

/* ===== Profile Content Section — ivory cream paper feel ===== */
.profile-content-section {
    background:
        radial-gradient(ellipse at 0% 0%, rgba(212, 165, 116, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 100% 100%, rgba(184, 71, 93, 0.06) 0%, transparent 50%),
        #FBF7F0;
    padding: 70px 20px 80px;
    min-height: 600px;
    position: relative;
}

.profile-content-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(0deg, transparent 0 40px, rgba(139, 58, 76, 0.02) 40px 41px);
    pointer-events: none;
}

.profile-content-section .container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.profile-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: start;
}

/* Profile Gallery Column — sticky polaroid feel */
.profile-gallery-col {
    position: sticky;
    top: 100px;
}

.profile-image-card {
    background: #FBF7F0;
    border: 1px solid rgba(184, 71, 93, 0.12);
    border-radius: 4px 24px 4px 24px;
    overflow: hidden;
    box-shadow:
        0 26px 50px rgba(139, 58, 76, 0.18),
        0 8px 16px rgba(0, 0, 0, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    position: relative;
}

/* Decorative gold corner brackets */
.profile-image-card::before,
.profile-image-card::after {
    content: '';
    position: absolute;
    width: 22px;
    height: 22px;
    border: 2px solid rgba(212, 165, 116, 0.7);
    z-index: 3;
    pointer-events: none;
}

.profile-image-card::before {
    top: 8px;
    left: 8px;
    border-right: none;
    border-bottom: none;
}

.profile-image-card::after {
    bottom: 8px;
    right: 8px;
    border-left: none;
    border-top: none;
}

.profile-card-header {
    background: #FBF7F0;
    padding: 18px 20px 14px;
    text-align: center;
    border-bottom: 1px solid rgba(184, 71, 93, 0.12);
    position: relative;
}

.profile-card-header::before {
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #D4A574, transparent);
    margin: 0 auto 10px;
}

.profile-card-header h4 {
    font-family: 'Playfair Display', serif !important;
    color: #5B2A39 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase;
    margin: 0 !important;
    text-align: center;
}

/* Pure-CSS image carousel — no Slick dependency needed.
   All images are layered on top of each other; CSS keyframes fade
   between them on a loop. Works even if jQuery/Slick fails to load. */
.profile-slider {
    position: relative;
    height: 520px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    background: #f5efe9;
}

.profile-slider .one-time {
    position: relative;
    height: 100%;
    width: 100%;
}

.profile-slider .one-time img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    animation: profile-slider-fade 30s infinite;
    will-change: opacity;
}

/* For N images, each gets a delay of (totalDuration / N) seconds */
.profile-slider .one-time img:nth-child(1) { animation-delay: 0s;   z-index: 1; opacity: 1; }
.profile-slider .one-time img:nth-child(2) { animation-delay: 3.33s;  }
.profile-slider .one-time img:nth-child(3) { animation-delay: 6.67s;  }
.profile-slider .one-time img:nth-child(4) { animation-delay: 10s;    }
.profile-slider .one-time img:nth-child(5) { animation-delay: 13.33s; }
.profile-slider .one-time img:nth-child(6) { animation-delay: 16.67s; }
.profile-slider .one-time img:nth-child(7) { animation-delay: 20s;    }
.profile-slider .one-time img:nth-child(8) { animation-delay: 23.33s; }
.profile-slider .one-time img:nth-child(9) { animation-delay: 26.67s; }

@keyframes profile-slider-fade {
    0%, 9% { opacity: 1; }
    12%, 100% { opacity: 0; }
}

/* If Slick happens to be active, let it manage layout (override the animation) */
.profile-slider .one-time.slick-initialized img {
    position: static;
    opacity: 1;
    animation: none;
}

.profile-card-footer {
    background:
        radial-gradient(ellipse at 50% 0%, rgba(184, 71, 93, 0.08) 0%, transparent 60%),
        #FDEFEC;
    padding: 14px 20px;
    text-align: center;
    border-top: 1px solid rgba(184, 71, 93, 0.12);
}

.profile-card-footer span {
    display: inline-block;
    color: #8B3A4C;
    font-family: 'Open Sans', sans-serif;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 4px 14px;
    border: 1px solid rgba(184, 71, 93, 0.30);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.6);
}

/* Profile Details Column */
.profile-details-col {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

/* Profile Info Cards — cream paper with rose-gold accent */
.profile-info-card {
    background: #FFFFFF;
    border: 1px solid rgba(184, 71, 93, 0.12);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(139, 58, 76, 0.06);
    position: relative;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.profile-info-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(139, 58, 76, 0.10);
}

.profile-info-card .card-header {
    background:
        radial-gradient(ellipse at 0% 50%, rgba(212, 165, 116, 0.18) 0%, transparent 60%),
        #FBF7F0;
    padding: 18px 22px 16px;
    border-bottom: 1px solid rgba(184, 71, 93, 0.10);
    position: relative;
}

/* Vertical rose-gold accent bar on the left of every card header */
.profile-info-card .card-header::before {
    content: '';
    position: absolute;
    top: 14px;
    bottom: 14px;
    left: 0;
    width: 3px;
    background: linear-gradient(180deg, #B8475D, #D4A574);
    border-radius: 0 3px 3px 0;
}

.profile-info-card .card-header h2,
.profile-info-card .card-header h4 {
    font-family: 'Playfair Display', serif !important;
    color: #5B2A39 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    margin: 0 !important;
    padding-left: 6px;
}

.profile-info-card .card-body {
    padding: 22px 24px;
}

/* Details Table — alternating cream rows */
.details-table {
    width: 100%;
    border-collapse: collapse;
}

.details-table tr {
    border-bottom: 1px solid rgba(184, 71, 93, 0.08);
    transition: background 0.25s ease;
}

.details-table tr:hover {
    background: rgba(184, 71, 93, 0.03);
}

.details-table tr:last-child {
    border-bottom: none;
}

.details-table td {
    padding: 12px 4px;
    font-size: 14px;
    line-height: 1.5;
}

.details-table td:first-child {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    color: #8a7a6b;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 11.5px;
    width: 42%;
}

.details-table td:last-child {
    font-family: 'Playfair Display', serif;
    color: #5B2A39;
    font-weight: 600;
    font-size: 15px;
}

/* Rates Table — editorial styling with rose header */
.rates-table {
    width: 100%;
    border-collapse: collapse;
}

.rates-table thead tr {
    background: linear-gradient(180deg, #FDEFEC 0%, #F4D7CF 100%);
}

.rates-table th {
    padding: 13px 10px;
    text-align: left;
    font-family: 'Open Sans', sans-serif;
    font-weight: 800;
    color: #8B3A4C;
    font-size: 11px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(184, 71, 93, 0.35);
}

.rates-table tbody tr {
    border-bottom: 1px solid rgba(184, 71, 93, 0.08);
    transition: background 0.25s ease;
}

.rates-table tbody tr:hover {
    background: rgba(212, 165, 116, 0.08);
}

.rates-table tbody tr:last-child {
    border-bottom: none;
}

.rates-table td {
    padding: 13px 10px;
    font-size: 14px;
}

.rates-table td:first-child {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    color: #5B2A39;
    font-size: 15px;
}

.rates-table td:not(:first-child) {
    font-family: 'Playfair Display', serif;
    color: #B8475D;
    font-weight: 700;
    font-size: 15px;
}

.rates-note {
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px dashed rgba(184, 71, 93, 0.30);
    border-radius: 8px;
    background: rgba(251, 247, 240, 0.6);
    color: #8a7a6b;
    font-size: 13px;
    font-style: italic;
    text-align: center;
    font-family: 'Playfair Display', serif;
}

/* Bio Card — italic serif pull-quote with decorative quote mark */
.bio-card .card-body {
    position: relative;
    padding-top: 28px;
}

.bio-card .card-body::before {
    content: '"';
    position: absolute;
    top: -18px;
    left: 14px;
    font-family: 'Playfair Display', serif;
    font-size: 80px;
    font-weight: 800;
    color: rgba(184, 71, 93, 0.30);
    line-height: 1;
}

.bio-card .card-body p {
    color: #5a4a4a;
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 16px;
    line-height: 1.85;
    margin: 0;
    padding-left: 4px;
}

/* ===== Profile CTA Banner — warm rose gradient ===== */
.profile-cta-banner {
    background:
        radial-gradient(ellipse at 0% 50%, rgba(212, 165, 116, 0.25) 0%, transparent 60%),
        radial-gradient(ellipse at 100% 50%, rgba(184, 71, 93, 0.15) 0%, transparent 60%),
        linear-gradient(135deg, #8B3A4C 0%, #5B2A39 100%);
    padding: 60px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.profile-cta-banner::before,
.profile-cta-banner::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212, 165, 116, 0.5), transparent);
}
.profile-cta-banner::before { top: 0; }
.profile-cta-banner::after { bottom: 0; }

.profile-cta-banner .cta-content {
    max-width: 600px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.profile-cta-banner .cta-phone-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #FBF7F0;
    color: #B8475D !important;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 16px 38px;
    border-radius: 999px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.20),
        0 0 0 4px rgba(212, 165, 116, 0.25);
}

.profile-cta-banner .cta-phone-btn:hover {
    transform: translateY(-3px);
    color: #8B3A4C !important;
    box-shadow:
        0 18px 38px rgba(0, 0, 0, 0.28),
        0 0 0 4px rgba(212, 165, 116, 0.45);
}

.profile-cta-banner .cta-phone-btn svg {
    width: 22px;
    height: 22px;
    color: #B8475D;
}

/* Slick Slider Customization for Profile */
.profile-slider .slick-prev,
.profile-slider .slick-next {
    width: 40px;
    height: 40px;
    background: rgba(232, 90, 113, 0.9) !important;
    border-radius: 50%;
    z-index: 10;
}

.profile-slider .slick-prev {
    left: 15px;
}

.profile-slider .slick-next {
    right: 15px;
}

.profile-slider .slick-prev:before,
.profile-slider .slick-next:before {
    font-size: 20px;
    color: #fff;
}

.profile-slider .slick-dots {
    bottom: 15px;
}

.profile-slider .slick-dots li button:before {
    font-size: 10px;
    color: #fff;
    opacity: 0.5;
}

.profile-slider .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #E85A71;
}

/* Profile Page Responsive */
@media (max-width: 992px) {
    .profile-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .profile-gallery-col {
        position: relative;
        top: 0;
    }

    .profile-page-hero {
        padding: 100px 15px 50px;
    }

    .profile-page-hero h1 {
        font-size: 2rem !important;
    }
}

/* ==========================================================================
   PROFILE DETAILS v2 — Social-media-inspired layout
   Instagram-meets-Quora premium profile page
   ========================================================================== */

/* Common container */
.pdv2-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ----- Cover banner ----- */
.pdv2-cover {
    background:
        radial-gradient(ellipse at 20% 100%, rgba(212, 165, 116, 0.30) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 0%, rgba(184, 71, 93, 0.25) 0%, transparent 60%),
        linear-gradient(135deg, #FDEFEC 0%, #F8E4E4 50%, #FBF0E5 100%);
    height: 180px;
    position: relative;
    overflow: hidden;
}

.pdv2-cover::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(184, 71, 93, 0.08) 1px, transparent 1.5px);
    background-size: 28px 28px;
    opacity: 0.6;
}

.pdv2-cover::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #B8475D, #D4A574, #B8475D, transparent);
}

.pdv2-cover-inner {
    position: relative;
    z-index: 1;
    height: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}

.pdv2-cover-actions {
    display: flex;
    gap: 8px;
    margin-top: 18px;
}

.pdv2-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    color: #B8475D;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
    border: 1px solid rgba(184, 71, 93, 0.18);
    box-shadow: 0 4px 12px rgba(139, 58, 76, 0.10);
}

.pdv2-nav-btn:hover {
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    color: #FBF7F0;
    transform: translateY(-2px) scale(1.05);
}

/* Disabled — first/last profile has no neighbour */
.pdv2-nav-btn.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.55);
    border-color: rgba(184, 71, 93, 0.10);
    color: rgba(184, 71, 93, 0.45);
    box-shadow: none;
    transform: none;
}

/* Loading — after click, while the next page is loading */
.pdv2-nav-btn.is-loading {
    pointer-events: none;
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    color: #FBF7F0;
    position: relative;
}

.pdv2-nav-btn.is-loading svg {
    opacity: 0;
}

.pdv2-nav-btn.is-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #FBF7F0;
    border-radius: 50%;
    animation: pdv2-spin 0.7s linear infinite;
}

@keyframes pdv2-spin {
    to { transform: rotate(360deg); }
}

/* ----- Profile header ----- */
.pdv2-header {
    background: #FBF7F0;
    padding: 0 0 28px;
    border-bottom: 1px solid rgba(184, 71, 93, 0.08);
}

.pdv2-header-inner {
    display: flex;
    align-items: flex-end;
    gap: 32px;
    margin-top: -90px; /* avatar overlaps the cover */
    position: relative;
}

.pdv2-avatar {
    flex-shrink: 0;
    width: 220px;
    height: 290px;
    border-radius: 18px;
    overflow: hidden;
    background: #F4D7CF;
    border: 5px solid #FBF7F0;
    box-shadow:
        0 18px 40px rgba(139, 58, 76, 0.22),
        0 6px 14px rgba(0, 0, 0, 0.08);
    position: relative;
    z-index: 2;
}

.pdv2-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pdv2-avatar-ring {
    position: absolute;
    inset: -10px;
    border: 1.5px dashed rgba(212, 165, 116, 0.55);
    border-radius: 22px;
    pointer-events: none;
}

.pdv2-identity {
    flex: 1;
    padding-bottom: 6px;
    min-width: 0;
}

.pdv2-name-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.pdv2-name {
    font-family: 'Playfair Display', serif !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    color: #5B2A39 !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    letter-spacing: 0.5px;
}

.pdv2-verified {
    display: inline-flex;
    align-items: center;
    color: #B8475D;
    line-height: 0;
}

.pdv2-meta-row {
    display: flex;
    align-items: center;
    gap: 10px 14px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.pdv2-cat-chip {
    display: inline-block;
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    color: #FBF7F0;
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    padding: 5px 12px;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(184, 71, 93, 0.22);
}

.pdv2-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #5a4a4a;
    font-weight: 600;
}

.pdv2-meta-item svg {
    color: #B8475D;
}

.pdv2-meta-available {
    color: #2e7d4a;
}

.pdv2-status-dot {
    width: 8px;
    height: 8px;
    background: #2e7d4a;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(46, 125, 74, 0.55);
    animation: pdv2-pulse 1.8s infinite;
}

@keyframes pdv2-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(46, 125, 74, 0.55); }
    50%      { box-shadow: 0 0 0 6px rgba(46, 125, 74, 0); }
}

.pdv2-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.pdv2-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    border-radius: 999px;
    font-family: 'Open Sans', sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    cursor: pointer;
    border: 1px solid transparent;
    line-height: 1;
}

.pdv2-btn-primary {
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    color: #FBF7F0;
    box-shadow: 0 8px 20px rgba(184, 71, 93, 0.32);
}

.pdv2-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(184, 71, 93, 0.42);
    color: #FBF7F0;
}

.pdv2-btn-whatsapp {
    background: #25D366;
    color: #fff;
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.30);
}

.pdv2-btn-whatsapp:hover {
    background: #1faa54;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(37, 211, 102, 0.40);
    color: #fff;
}

.pdv2-btn-ghost {
    background: #FBF7F0;
    color: #5B2A39;
    border-color: rgba(184, 71, 93, 0.30);
}

.pdv2-btn-ghost:hover {
    background: #FDEFEC;
    border-color: #B8475D;
    color: #8B3A4C;
    transform: translateY(-2px);
}

/* ----- Stats strip ----- */
.pdv2-stats-strip {
    background: #FBF7F0;
    padding: 10px 0 24px;
}

.pdv2-stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;
    background: rgba(184, 71, 93, 0.12);
    border: 1px solid rgba(184, 71, 93, 0.12);
    border-radius: 14px;
    overflow: hidden;
}

.pdv2-stat {
    background: #FFFFFF;
    padding: 18px 12px;
    text-align: center;
    transition: background 0.25s ease;
}

.pdv2-stat:hover {
    background: rgba(212, 165, 116, 0.08);
}

.pdv2-stat-value {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 800;
    color: #5B2A39;
    line-height: 1.1;
    margin-bottom: 4px;
    word-break: break-word;
}

.pdv2-stat-label {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #8a7a6b;
}

/* ----- Tabs ----- */
.pdv2-tabs-wrap {
    background: #FBF7F0;
    border-bottom: 1px solid rgba(184, 71, 93, 0.12);
    position: relative;
    z-index: 50;
}

.pdv2-tabs {
    display: flex;
    gap: 0;
}

.pdv2-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 22px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    color: #8a7a6b;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease;
    position: relative;
    /* Mobile tap optimizations */
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(184, 71, 93, 0.18);
    user-select: none;
    -webkit-user-select: none;
}

.pdv2-tab:hover {
    color: #B8475D;
}

.pdv2-tab.is-active {
    color: #5B2A39;
    border-bottom-color: #B8475D;
}

.pdv2-tab svg {
    color: currentColor;
    stroke: currentColor;
}

.pdv2-tab-count {
    display: inline-block;
    background: rgba(184, 71, 93, 0.12);
    color: #B8475D;
    font-size: 10.5px;
    font-weight: 800;
    padding: 1px 7px;
    border-radius: 999px;
    margin-left: 2px;
}

.pdv2-tab.is-active .pdv2-tab-count {
    background: #B8475D;
    color: #FBF7F0;
}

/* ----- Content panes ----- */
.pdv2-content {
    background: #FBF7F0;
    padding: 36px 0 80px;
    min-height: 420px;
}

.pdv2-pane {
    display: none;
    animation: pdv2-fade-in 0.25s ease;
}

.pdv2-pane.is-active {
    display: block;
}

@keyframes pdv2-fade-in {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* About pane */
.pdv2-bio {
    background: #FFFFFF;
    border: 1px solid rgba(184, 71, 93, 0.12);
    border-radius: 16px;
    padding: 30px 36px 30px 60px;
    position: relative;
    margin-bottom: 24px;
    box-shadow: 0 6px 18px rgba(139, 58, 76, 0.05);
}

.pdv2-bio::before {
    content: '"';
    position: absolute;
    top: -10px;
    left: 18px;
    font-family: 'Playfair Display', serif;
    font-size: 90px;
    font-weight: 800;
    color: rgba(184, 71, 93, 0.30);
    line-height: 1;
}

.pdv2-bio p {
    font-family: 'Mulish', 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.7;
    color: #2d2d2d;
    margin: 0;
}

.pdv2-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.pdv2-detail {
    background: #FFFFFF;
    border: 1px solid rgba(184, 71, 93, 0.12);
    border-radius: 14px;
    padding: 16px 18px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pdv2-detail:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(139, 58, 76, 0.10);
}

.pdv2-detail-label {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #8a7a6b;
    margin-bottom: 6px;
}

.pdv2-detail-value {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    font-weight: 700;
    color: #5B2A39;
}

/* Rates pane */
.pdv2-rate-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.pdv2-rate-card {
    background: #FFFFFF;
    border: 1px solid rgba(184, 71, 93, 0.14);
    border-radius: 18px;
    padding: 24px 22px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
}

.pdv2-rate-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(139, 58, 76, 0.14);
}

.pdv2-rate-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #B8475D, #D4A574);
}

.pdv2-rate-featured {
    background: linear-gradient(160deg, #FDEFEC 0%, #FFFFFF 100%);
    border-color: #B8475D;
    box-shadow: 0 10px 24px rgba(184, 71, 93, 0.14);
}

.pdv2-rate-featured::before {
    height: 5px;
    background: linear-gradient(90deg, #8B3A4C, #B8475D, #D4A574);
}

.pdv2-rate-duration {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 800;
    color: #5B2A39;
    margin-bottom: 14px;
}

.pdv2-rate-prices {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pdv2-rate-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px dashed rgba(184, 71, 93, 0.18);
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #8a7a6b;
}

.pdv2-rate-row:last-child {
    border-bottom: none;
}

.pdv2-rate-amt {
    font-family: 'Playfair Display', serif;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    color: #B8475D;
}

.pdv2-rate-note {
    margin-top: 18px;
    padding: 12px 18px;
    background: rgba(251, 247, 240, 0.6);
    border: 1px dashed rgba(184, 71, 93, 0.30);
    border-radius: 10px;
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 13.5px;
    color: #8a7a6b;
    text-align: center;
}

/* Gallery pane */
.pdv2-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.pdv2-gallery-item {
    display: block;
    aspect-ratio: 3 / 4;
    border-radius: 12px;
    overflow: hidden;
    background: #f5efe9;
    box-shadow: 0 6px 16px rgba(139, 58, 76, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}

.pdv2-gallery-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(139, 58, 76, 0.18);
}

.pdv2-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.pdv2-gallery-item:hover img {
    transform: scale(1.05);
}

/* Zoom badge that appears on hover */
.pdv2-gallery-zoom {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.7);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(184, 71, 93, 0.92);
    color: #FBF7F0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
}

.pdv2-gallery-item:hover .pdv2-gallery-zoom {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* ----- Lightbox modal ----- */
.pdv2-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    animation: pdv2-lb-fade-in 0.25s ease;
}

.pdv2-lightbox.is-open {
    display: block;
}

@keyframes pdv2-lb-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Backdrop sits behind everything else inside the lightbox.
   Click on backdrop closes the lightbox. */
.pdv2-lb-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(20, 12, 18, 0.95);
    cursor: zoom-out;
    z-index: 1;
    display: block;
    text-decoration: none;
}

/* The image — positioned centrally, doesn't intercept button clicks at the edges */
.pdv2-lb-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: calc(100vw - 160px);
    max-height: calc(100vh - 140px);
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
    z-index: 2;
    pointer-events: none; /* clicks pass through to backdrop = close */
    animation: pdv2-lb-zoom-in 0.3s ease;
}

@keyframes pdv2-lb-zoom-in {
    0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.92); }
    100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

/* Lightbox buttons — anchor tags styled as buttons.
   At highest z-index inside the lightbox so they always catch the click. */
.pdv2-lb-close,
.pdv2-lb-prev,
.pdv2-lb-next {
    position: absolute;
    background: rgba(0, 0, 0, 0.55);
    border: 1.5px solid rgba(255, 255, 255, 0.35);
    color: #FBF7F0 !important;
    cursor: pointer;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
    -webkit-tap-highlight-color: rgba(184, 71, 93, 0.45);
    touch-action: manipulation;
    user-select: none;
    -webkit-user-select: none;
    padding: 0;
    margin: 0;
    z-index: 100;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-weight: 400;
    line-height: 1;
    text-decoration: none !important;
    pointer-events: auto !important;
}

.pdv2-lb-close:hover,
.pdv2-lb-prev:hover,
.pdv2-lb-next:hover {
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    border-color: #FBF7F0;
}

.pdv2-lb-close {
    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    font-size: 24px;
}

.pdv2-lb-close:hover {
    transform: scale(1.08) rotate(90deg);
}

.pdv2-lb-prev,
.pdv2-lb-next {
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    font-size: 22px;
}

.pdv2-lb-prev { left: 22px; }
.pdv2-lb-next { right: 22px; }

.pdv2-lb-prev:hover { transform: translateY(-50%) scale(1.08); }
.pdv2-lb-next:hover { transform: translateY(-50%) scale(1.08); }

.pdv2-lb-counter {
    position: absolute;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.65);
    color: #FBF7F0;
    padding: 8px 18px;
    border-radius: 999px;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    z-index: 5;
    pointer-events: none;
}

/* Mobile lightbox tweaks */
@media (max-width: 768px) {
    .pdv2-lb-img {
        max-width: calc(100vw - 24px);
        max-height: calc(100vh - 140px);
    }
    .pdv2-lb-close { top: 14px; right: 14px; width: 42px; height: 42px; font-size: 22px; }
    .pdv2-lb-prev,
    .pdv2-lb-next { width: 46px; height: 46px; font-size: 20px; }
    .pdv2-lb-prev { left: 10px; }
    .pdv2-lb-next { right: 10px; }
    .pdv2-lb-counter { bottom: 14px; font-size: 11px; padding: 6px 14px; }
}

/* ----- Sticky mobile CTA ----- */
.pdv2-sticky-cta {
    display: none;
}

.pdv2-sticky-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    color: #FBF7F0 !important;
    padding: 14px 26px;
    border-radius: 999px;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(184, 71, 93, 0.45);
}

.pdv2-sticky-btn-whatsapp {
    background: #25D366;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(37, 211, 102, 0.40);
}

.pdv2-sticky-btn-whatsapp:hover {
    background: #1faa54;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(37, 211, 102, 0.50);
}

/* ----- Responsive ----- */
@media (max-width: 992px) {
    .pdv2-stats {
        grid-template-columns: repeat(3, 1fr);
    }
    .pdv2-stat:nth-child(4),
    .pdv2-stat:nth-child(5) {
        grid-column: span 1;
    }
    .pdv2-detail-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .pdv2-rate-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .pdv2-cover { height: 130px; }
    .pdv2-cover-actions { margin-top: 8px; }
    .pdv2-nav-btn { width: 34px; height: 34px; }
    .pdv2-nav-btn svg { width: 18px; height: 18px; }
    .pdv2-header-inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin-top: -80px;
        gap: 16px;
    }
    .pdv2-avatar {
        width: 170px;
        height: 225px;
    }
    .pdv2-name { font-size: 32px !important; }
    .pdv2-meta-row { justify-content: center; }
    .pdv2-actions { justify-content: center; }
    .pdv2-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .pdv2-stats .pdv2-stat:last-child {
        grid-column: 1 / -1;
    }
    .pdv2-tab {
        padding: 14px 14px;
        flex: 1;
        justify-content: center;
        font-size: 12px;
    }
    .pdv2-tab span:not(.pdv2-tab-count) {
        display: none;
    }
    .pdv2-bio {
        padding: 26px 22px 26px 50px;
    }
    .pdv2-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .pdv2-sticky-cta {
        display: flex;
        justify-content: center;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
        background: rgba(251, 247, 240, 0.95);
        border-top: 1px solid rgba(184, 71, 93, 0.18);
        z-index: 100;
    }
    .pdv2-sticky-btn { width: 100%; max-width: 360px; justify-content: center; }
    .pdv2-content { padding-bottom: 100px; }
}

@media (max-width: 480px) {
    .pdv2-rate-grid {
        grid-template-columns: 1fr;
    }
    .pdv2-detail-grid {
        grid-template-columns: 1fr;
    }
    .pdv2-name { font-size: 26px !important; }
    .pdv2-actions .pdv2-btn { font-size: 11.5px; padding: 10px 16px; }
}

@media (max-width: 768px) {
    .profile-page-hero {
        padding: 90px 15px 40px;
    }

    .profile-page-hero h1 {
        font-size: 1.8rem !important;
    }

    .profile-page-hero .hero-nav-actions {
        flex-direction: column;
        gap: 15px;
    }

    .profile-content-section {
        padding: 40px 15px;
    }

    .profile-info-card .card-body {
        padding: 20px;
    }

    .details-table td,
    .rates-table td,
    .rates-table th {
        padding: 10px 5px;
        font-size: 0.9rem;
    }

    .profile-cta-banner {
        padding: 40px 15px;
    }

    .profile-cta-banner .cta-phone-btn {
        font-size: 1rem;
        padding: 12px 25px;
    }
}

@media (max-width: 480px) {
    .profile-page-hero h1 {
        font-size: 1.5rem !important;
    }

    .profile-page-hero .book-now-btn {
        padding: 10px 25px;
        font-size: 0.95rem;
    }

    .profile-page-hero .nav-btn {
        width: 40px;
        height: 40px;
    }

    .profile-card-header h4 {
        font-size: 1.1rem !important;
    }

    .profile-info-card .card-header h2,
    .profile-info-card .card-header h4 {
        font-size: 1rem !important;
    }

    .details-table td:first-child {
        width: 50%;
    }

    .rates-table th,
    .rates-table td {
        padding: 8px 3px;
        font-size: 0.85rem;
    }
}

/* ==========================================================================
   LOCATION DETAILS v2 — Premium location page (lvd2 namespace)
   ========================================================================== */

.lvd2-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ----- Hero ----- */
.lvd2-hero {
    background:
        radial-gradient(ellipse at 20% 100%, rgba(212, 165, 116, 0.20) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 0%, rgba(184, 71, 93, 0.18) 0%, transparent 55%),
        linear-gradient(180deg, #FDEFEC 0%, #F8E4E4 100%);
    padding: 36px 20px 50px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.lvd2-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(184, 71, 93, 0.06) 1px, transparent 1.5px);
    background-size: 28px 28px;
    opacity: 0.55;
    pointer-events: none;
}

.lvd2-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #B8475D, #D4A574, #B8475D, transparent);
}

.lvd2-hero-inner {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.lvd2-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #8a7a6b;
    margin-bottom: 22px;
    flex-wrap: wrap;
}

.lvd2-breadcrumb a {
    color: #B8475D;
    text-decoration: none;
    transition: color 0.2s ease;
}

.lvd2-breadcrumb a:hover {
    color: #8B3A4C;
    text-decoration: underline;
}

.lvd2-bc-sep {
    color: rgba(184, 71, 93, 0.4);
    font-weight: 400;
}

.lvd2-bc-current {
    color: #5B2A39;
}

.lvd2-ornament {
    width: 14px;
    height: 14px;
    margin: 0 auto 18px;
    background: linear-gradient(135deg, #B8475D 0%, #D4A574 100%);
    transform: rotate(45deg);
    border-radius: 2px;
    box-shadow:
        -28px 6px 0 -3px #D4A574,
        28px 6px 0 -3px #D4A574;
    opacity: 0.85;
}

.lvd2-name {
    font-family: 'Playfair Display', serif !important;
    font-size: 48px !important;
    font-weight: 800 !important;
    color: #5B2A39 !important;
    margin: 0 0 18px 0 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.5px;
    text-transform: capitalize;
    text-shadow: none;
}

.lvd2-hero-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px 20px;
    margin-bottom: 26px;
    flex-wrap: wrap;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #5a4a4a;
    font-weight: 600;
}

.lvd2-meta-pin,
.lvd2-meta-count,
.lvd2-meta-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.lvd2-meta-pin {
    color: #8B3A4C;
}

.lvd2-meta-count strong {
    color: #B8475D;
    font-weight: 800;
    font-size: 15px;
}

.lvd2-meta-status {
    color: #2e7d4a;
}

.lvd2-status-dot {
    width: 8px;
    height: 8px;
    background: #2e7d4a;
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(46, 125, 74, 0.55);
    animation: lvd2-pulse 1.8s infinite;
}

@keyframes lvd2-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(46, 125, 74, 0.55); }
    50%      { box-shadow: 0 0 0 6px rgba(46, 125, 74, 0); }
}

.lvd2-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.lvd2-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 999px;
    font-family: 'Open Sans', sans-serif;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    line-height: 1;
    border: 1px solid transparent;
}

.lvd2-btn-primary {
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    color: #FBF7F0;
    box-shadow: 0 10px 24px rgba(184, 71, 93, 0.32);
}

.lvd2-btn-primary:hover {
    transform: translateY(-2px);
    color: #FBF7F0;
    box-shadow: 0 14px 30px rgba(184, 71, 93, 0.42);
}

.lvd2-btn-whatsapp {
    background: #25D366;
    color: #fff;
    box-shadow: 0 10px 24px rgba(37, 211, 102, 0.30);
}

.lvd2-btn-whatsapp:hover {
    background: #1faa54;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(37, 211, 102, 0.40);
}

/* ----- About section ----- */
.lvd2-about-section {
    background: #FBF7F0;
    padding: 55px 0 35px;
}

.lvd2-section-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #5B2A39 !important;
    margin: 0 0 18px 0 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.3px;
}

.lvd2-about-card {
    background: #FFFFFF;
    border: 1px solid rgba(184, 71, 93, 0.12);
    border-radius: 18px;
    padding: 30px 36px 30px 60px;
    position: relative;
    box-shadow: 0 8px 24px rgba(139, 58, 76, 0.06);
}

.lvd2-about-card::before {
    content: '"';
    position: absolute;
    top: -8px;
    left: 18px;
    font-family: 'Playfair Display', serif;
    font-size: 88px;
    font-weight: 800;
    color: rgba(184, 71, 93, 0.30);
    line-height: 1;
}

.lvd2-about-card p {
    font-family: 'Mulish', 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.7;
    color: #2d2d2d;
    margin: 0;
    text-align: justify;
}

/* Links inside the description — wine color with dashed underline */
.lvd2-about-card a,
.lvd2-about-card a:link,
.lvd2-about-card a:visited,
.pdv2-bio a,
.pdv2-bio a:link,
.pdv2-bio a:visited {
    color: #8B3A4C !important;
    font-style: normal;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed rgba(139, 58, 76, 0.45);
    padding-bottom: 1px;
    transition: color 0.25s ease, border-color 0.25s ease;
}

.lvd2-about-card a:hover,
.pdv2-bio a:hover {
    color: #5B2A39 !important;
    border-bottom-color: #5B2A39;
}

/* Section headings inside the loc_des HTML (e.g. <h3>) should be readable too */
.lvd2-about-card h1,
.lvd2-about-card h2,
.lvd2-about-card h3,
.lvd2-about-card h4 {
    font-family: 'Playfair Display', serif !important;
    color: #8B3A4C !important;
    font-style: normal !important;
    font-weight: 700 !important;
    font-size: 19px !important;
    margin: 22px 0 12px 0 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    text-shadow: none !important;
    letter-spacing: 0.2px !important;
}

.lvd2-about-card h1:first-child,
.lvd2-about-card h2:first-child,
.lvd2-about-card h3:first-child,
.lvd2-about-card h4:first-child {
    margin-top: 0 !important;
}

.lvd2-about-card strong {
    color: #5B2A39;
    font-style: normal;
    font-weight: 700;
}

/* ----- Profiles section ----- */
.lvd2-profiles-section {
    background: #FBF7F0;
    padding: 30px 0 70px;
}

.lvd2-section-header {
    margin-bottom: 26px;
}

.lvd2-section-header-center {
    text-align: center;
}

.lvd2-section-subtitle {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 15px;
    color: #8a7a6b;
    margin: 0;
}

.lvd2-section-note {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    color: #8a7a6b;
    font-size: 14px;
    margin: 6px 0 0 0;
}

.lvd2-profiles-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

@media (max-width: 1100px) {
    .lvd2-profiles-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
    .lvd2-profiles-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}

.lvd2-view-all-wrap {
    text-align: center;
    margin-top: 36px;
}

.lvd2-view-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 28px;
    border-radius: 999px;
    background: transparent;
    border: 1.5px solid #B8475D;
    color: #B8475D;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
}

.lvd2-view-all:hover {
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    color: #FBF7F0;
    border-color: #8B3A4C;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(184, 71, 93, 0.28);
}

/* Empty state */
.lvd2-empty {
    text-align: center;
    padding: 60px 20px;
    color: #8a7a6b;
}

.lvd2-empty svg {
    color: rgba(184, 71, 93, 0.4);
    margin-bottom: 14px;
}

.lvd2-empty p {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 16px;
    margin: 0 0 22px 0;
}

/* ----- Other locations (pill cloud) ----- */
.lvd2-other-locations {
    background:
        radial-gradient(ellipse at 15% 20%, rgba(212, 165, 116, 0.14) 0%, transparent 50%),
        radial-gradient(ellipse at 85% 80%, rgba(184, 71, 93, 0.10) 0%, transparent 50%),
        #F6EFE6;
    padding: 60px 0;
    position: relative;
}

.lvd2-other-locations::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(45deg, transparent 0 18px, rgba(139, 58, 76, 0.025) 18px 19px);
    pointer-events: none;
}

.lvd2-other-locations .lvd2-section-header {
    margin-bottom: 32px;
    position: relative;
    z-index: 1;
}

.lvd2-loc-cloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 12px;
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.lvd2-loc-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px 10px 14px;
    background: #FFFFFF;
    border: 1px solid rgba(184, 71, 93, 0.18);
    border-radius: 999px;
    color: #5B2A39;
    text-decoration: none;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.3px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(139, 58, 76, 0.06);
    position: relative;
    overflow: hidden;
}

.lvd2-loc-chip::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: inherit;
}

.lvd2-loc-chip > * {
    position: relative;
    z-index: 1;
}

.lvd2-loc-chip-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: linear-gradient(135deg, #FBF7F0, #F4D7CF);
    border-radius: 50%;
    color: #B8475D;
    border: 1px solid rgba(184, 71, 93, 0.18);
    transition: all 0.3s ease;
}

.lvd2-loc-chip:hover {
    transform: translateY(-3px);
    border-color: #B8475D;
    color: #FBF7F0;
    box-shadow: 0 12px 26px rgba(184, 71, 93, 0.22);
}

.lvd2-loc-chip:hover::before {
    opacity: 1;
}

.lvd2-loc-chip:hover .lvd2-loc-chip-icon {
    background: rgba(255, 255, 255, 0.95);
    border-color: transparent;
}

/* ----- Bottom CTA ----- */
.lvd2-cta {
    background:
        radial-gradient(ellipse at 0% 50%, rgba(212, 165, 116, 0.25) 0%, transparent 60%),
        radial-gradient(ellipse at 100% 50%, rgba(184, 71, 93, 0.18) 0%, transparent 60%),
        linear-gradient(135deg, #8B3A4C 0%, #5B2A39 100%);
    padding: 50px 20px;
    text-align: center;
    position: relative;
}

.lvd2-cta::before,
.lvd2-cta::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212, 165, 116, 0.5), transparent);
}
.lvd2-cta::before { top: 0; }
.lvd2-cta::after { bottom: 0; }

.lvd2-cta-inner {
    position: relative;
    z-index: 1;
}

.lvd2-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #FBF7F0;
    color: #B8475D;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 16px 38px;
    border-radius: 999px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.20), 0 0 0 4px rgba(212, 165, 116, 0.25);
}

.lvd2-cta-btn:hover {
    transform: translateY(-3px);
    color: #8B3A4C;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28), 0 0 0 4px rgba(212, 165, 116, 0.45);
}

/* ----- Responsive ----- */
@media (max-width: 768px) {
    .lvd2-hero { padding: 26px 16px 40px; }
    .lvd2-name { font-size: 34px !important; }
    .lvd2-section-title { font-size: 22px !important; }
    .lvd2-about-card { padding: 26px 22px 26px 50px; }
    .lvd2-about-card::before { font-size: 60px; left: 14px; top: -4px; }
    .lvd2-about-card p { font-size: 14.5px; text-align: left; }
    .lvd2-cta-btn { font-size: 18px; padding: 14px 28px; }
    .lvd2-breadcrumb { font-size: 11px; }
}

@media (max-width: 480px) {
    .lvd2-name { font-size: 28px !important; }
    .lvd2-hero-meta { font-size: 12px; gap: 8px 14px; }
    .lvd2-actions { gap: 8px; }
    .lvd2-btn { padding: 11px 18px; font-size: 11.5px; }
    .lvd2-profiles-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .lvd2-loc-chip { padding: 8px 14px 8px 10px; font-size: 12px; }
    .lvd2-loc-chip-icon { width: 22px; height: 22px; }
    .lvd2-cta-btn { font-size: 16px; padding: 12px 22px; }
}

/* ==========================================================================
   LOCATIONS LIST v2 — Premium location browse page (llv2 namespace)
   Reuses lvd2-hero / lvd2-about-card / lvd2-cta from the location-detail
   page. Adds only the info-boxes grid and the image-card location grid.
   ========================================================================== */

/* ----- Info boxes (2x2 numbered editorial cards) ----- */
.llv2-info-section {
    background: #FBF7F0;
    padding: 30px 0 60px;
}

.llv2-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.llv2-info-card {
    background: #FFFFFF;
    border: 1px solid rgba(184, 71, 93, 0.12);
    border-radius: 18px;
    padding: 32px 32px 28px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(139, 58, 76, 0.05);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.llv2-info-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(139, 58, 76, 0.10);
}

.llv2-info-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 50px;
    background: linear-gradient(180deg, #B8475D, #D4A574);
    border-radius: 0 4px 4px 0;
}

.llv2-info-num {
    display: inline-block;
    font-family: 'Playfair Display', serif;
    font-size: 36px;
    font-weight: 800;
    color: rgba(184, 71, 93, 0.35);
    line-height: 1;
    letter-spacing: -1px;
    margin-bottom: 8px;
    font-style: italic;
}

.llv2-info-card h3 {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #5B2A39 !important;
    margin: 0 0 14px 0 !important;
    line-height: 1.3 !important;
}

.llv2-info-card p {
    font-size: 14.5px;
    line-height: 1.8;
    color: #5a4a4a;
    margin: 0;
    text-align: left;
}

.llv2-info-card p a {
    color: #B8475D;
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dashed rgba(184, 71, 93, 0.40);
    transition: color 0.25s ease, border-color 0.25s ease;
}

.llv2-info-card p a:hover {
    color: #8B3A4C;
    border-bottom-color: #8B3A4C;
}

/* ----- Locations grid (image cards) ----- */
.llv2-locations-section {
    background:
        radial-gradient(ellipse at 15% 20%, rgba(212, 165, 116, 0.14) 0%, transparent 50%),
        radial-gradient(ellipse at 85% 80%, rgba(184, 71, 93, 0.10) 0%, transparent 50%),
        #F6EFE6;
    padding: 60px 0;
    position: relative;
}

.llv2-locations-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(45deg, transparent 0 18px, rgba(139, 58, 76, 0.025) 18px 19px);
    pointer-events: none;
}

.llv2-locations-section .lvd2-section-header {
    position: relative;
    z-index: 1;
}

.llv2-loc-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    position: relative;
    z-index: 1;
}

.llv2-loc-card {
    display: block;
    background: #FBF7F0;
    border: 1px solid rgba(184, 71, 93, 0.10);
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 8px 22px rgba(139, 58, 76, 0.08);
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.llv2-loc-card:hover {
    transform: translateY(-6px);
    border-color: rgba(184, 71, 93, 0.40);
    box-shadow: 0 20px 40px rgba(139, 58, 76, 0.18);
}

.llv2-loc-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f4d7cf;
}

.llv2-loc-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s ease;
}

.llv2-loc-card:hover .llv2-loc-img {
    transform: scale(1.08);
}

.llv2-loc-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(91, 42, 57, 0.55) 100%);
    transition: background 0.35s ease;
    pointer-events: none;
}

.llv2-loc-card:hover .llv2-loc-overlay {
    background: linear-gradient(180deg, transparent 30%, rgba(91, 42, 57, 0.70) 100%);
}

.llv2-loc-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #B8475D 0%, #8B3A4C 100%);
    color: #FBF7F0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(184, 71, 93, 0.35);
    z-index: 2;
}

.llv2-loc-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    background: #FBF7F0;
    border-top: 1px solid rgba(184, 71, 93, 0.08);
}

.llv2-loc-name {
    font-family: 'Playfair Display', serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #5B2A39 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.3px;
    text-transform: capitalize;
}

.llv2-loc-cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #B8475D;
    font-family: 'Open Sans', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    flex-shrink: 0;
    transition: transform 0.3s ease, color 0.3s ease;
}

.llv2-loc-card:hover .llv2-loc-cta {
    color: #8B3A4C;
    transform: translateX(4px);
}

/* ----- Responsive ----- */
@media (max-width: 992px) {
    .llv2-loc-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .llv2-info-grid { gap: 16px; }
    .llv2-info-card { padding: 26px 24px 22px; }
}

@media (max-width: 768px) {
    .llv2-info-grid { grid-template-columns: 1fr; }
    .llv2-loc-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .llv2-info-card h3 { font-size: 18px !important; }
    .llv2-info-num { font-size: 30px; }
    .llv2-loc-name { font-size: 15px !important; }
    .llv2-loc-info { padding: 12px 14px; }
    .llv2-loc-cta { font-size: 10.5px; letter-spacing: 1.2px; }
}

@media (max-width: 480px) {
    .llv2-loc-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .llv2-loc-info { padding: 10px 12px; }
    .llv2-loc-name { font-size: 13.5px !important; }
    .llv2-loc-cta { display: none; }
}

/* ============================================================
   CELEBRITY ESCORTS — Modern Reveal Cards
   ============================================================ */
.celeb-section {
  padding: 30px 0 50px;
}
.celeb-section-title {
  font-family: 'Playfair Display', serif !important;
  color: #5B2A39 !important;
  font-size: 26px !important;
  text-align: center;
  margin: 0 0 8px 0 !important;
  font-weight: 700 !important;
  line-height: 1.3;
}
.celeb-section-subtitle {
  text-align: center;
  color: #6b5e5e;
  font-size: 14px;
  margin: 0 0 32px 0;
  font-style: italic;
}
.celeb-grid {
  display: grid;
  gap: 22px;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 18px;
}
.celeb-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 6px 24px rgba(184, 71, 93, 0.10);
  border: 1px solid rgba(184, 71, 93, 0.10);
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 28px;
  padding: 22px;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.celeb-card:hover {
  box-shadow: 0 12px 36px rgba(184, 71, 93, 0.18);
  transform: translateY(-2px);
}
@media (max-width: 700px) {
  .celeb-card {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px;
  }
}

.celeb-reveal {
  position: relative;
  aspect-ratio: 3 / 4;
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  user-select: none;
  background: #f0e6e6;
  isolation: isolate;
}
@media (max-width: 700px) {
  .celeb-reveal { aspect-ratio: 4 / 5; max-width: 320px; margin: 0 auto; }
}

.celeb-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(22px) saturate(0.85);
  transform: scale(1.12);
  transition: filter 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.celeb-reveal[data-revealed="true"] .celeb-photo {
  filter: blur(0) saturate(1);
  transform: scale(1);
}

/* The "veil" — glassmorphism overlay shown until revealed */
.celeb-veil {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: linear-gradient(135deg, rgba(91, 42, 57, 0.55) 0%, rgba(184, 71, 93, 0.55) 100%);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #fff;
  transition: opacity 0.5s ease, backdrop-filter 0.5s ease;
  z-index: 2;
}
.celeb-reveal[data-revealed="true"] .celeb-veil {
  opacity: 0;
  pointer-events: none;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
}

.celeb-veil-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  border: 2px solid rgba(255, 255, 255, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.35s ease, background 0.35s ease, border-color 0.35s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}
.celeb-reveal:hover .celeb-veil-icon {
  transform: scale(1.12) rotate(-6deg);
  background: rgba(255, 255, 255, 0.32);
  border-color: #fff;
}
.celeb-veil-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

/* "Revealed" success badge */
.celeb-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, #25D366, #1faa54);
  color: #fff;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(-10px) scale(0.85);
  transition: opacity 0.45s ease 0.15s, transform 0.45s ease 0.15s;
  box-shadow: 0 6px 14px rgba(37, 211, 102, 0.35);
  z-index: 3;
  pointer-events: none;
}
.celeb-reveal[data-revealed="true"] .celeb-badge {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Text side */
.celeb-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.celeb-name {
  font-family: 'Playfair Display', serif !important;
  color: #5B2A39 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin: 0 0 14px 0 !important;
  display: flex;
  align-items: center;
  gap: 10px;
  line-height: 1.3;
}
.celeb-num {
  font-family: 'Mulish', sans-serif;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #B8475D, #5B2A39);
  padding: 4px 10px;
  border-radius: 999px;
  letter-spacing: 1px;
}
.celeb-info p {
  margin: 0 0 10px 0;
  line-height: 1.7;
  color: #2d2d2d;
  font-size: 14.5px;
}
.celeb-info p:last-child {
  margin-bottom: 0;
}

.celeb-source {
  text-align: center;
  margin: 26px 0 0;
  color: #8a7e7e;
  font-size: 12px;
  font-style: italic;
}
.celeb-source a {
  color: #B8475D !important;
  text-decoration: underline;
}

/* ============================================================
   CONTACT DETAILS V2 — Premium Editorial Redesign
   ============================================================ */
.cdv2-section {
  padding: 80px 0 70px;
  background:
    radial-gradient(900px 380px at 90% 0%, rgba(232, 90, 113, 0.08), transparent 65%),
    radial-gradient(900px 380px at 0% 100%, rgba(212, 165, 116, 0.10), transparent 70%),
    linear-gradient(180deg, #FDFAF6 0%, #FBF1EC 100%);
  position: relative;
  overflow: hidden;
}
.cdv2-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, rgba(184, 71, 93, 0.35), transparent);
}
.cdv2-container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 1;
}

/* Header */
.cdv2-header { text-align: center; margin-bottom: 42px; }
.cdv2-eyebrow {
  display: inline-block;
  font-family: 'Mulish', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #B8475D;
  background: rgba(184, 71, 93, 0.10);
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.cdv2-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  margin: 0 !important;
  line-height: 1.2;
}

/* Hero Card — split image + content */
.cdv2-hero {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  background: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(184, 71, 93, 0.14);
  border: 1px solid rgba(184, 71, 93, 0.08);
  margin-bottom: 50px;
}
@media (max-width: 880px) {
  .cdv2-hero { grid-template-columns: 1fr; }
}

.cdv2-hero-image {
  position: relative;
  background: #f5e5df;
  min-height: 380px;
}
.cdv2-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cdv2-hero-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(91, 42, 57, 0.20) 0%, rgba(184, 71, 93, 0.18) 100%);
  pointer-events: none;
}
.cdv2-hero-tag {
  position: absolute;
  top: 18px;
  left: 18px;
  background: rgba(255, 255, 255, 0.95);
  color: #5B2A39;
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  z-index: 2;
  box-shadow: 0 6px 18px rgba(184, 71, 93, 0.2);
}
@media (max-width: 880px) {
  .cdv2-hero-image { min-height: 280px; aspect-ratio: 16 / 10; }
}

.cdv2-hero-content {
  padding: 44px 44px 40px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  justify-content: center;
}
@media (max-width: 600px) {
  .cdv2-hero-content { padding: 28px 22px; gap: 14px; }
}

.cdv2-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(37, 211, 102, 0.12);
  color: #1faa54;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  align-self: flex-start;
  text-transform: uppercase;
}
.cdv2-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #25D366;
  box-shadow: 0 0 0 4px rgba(37, 211, 102, 0.25);
  animation: cdv2-pulse 2s infinite;
}
@keyframes cdv2-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(37, 211, 102, 0.25); }
  50% { box-shadow: 0 0 0 8px rgba(37, 211, 102, 0.12); }
}

.cdv2-hero-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 24px !important;
  color: #2d2d2d !important;
  margin: 0 !important;
  font-weight: 700 !important;
}

/* Big phone number display */
.cdv2-phone-block {
  background: linear-gradient(135deg, #FBF1EC 0%, #FDEFEC 100%);
  border: 1px solid rgba(184, 71, 93, 0.16);
  border-radius: 16px;
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cdv2-phone-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #B8475D;
}
.cdv2-phone-number {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  font-weight: 700;
  color: #5B2A39 !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  letter-spacing: 1.5px;
  transition: color 0.25s ease, transform 0.25s ease;
}
.cdv2-phone-number svg { color: #B8475D; }
.cdv2-phone-number:hover {
  color: #B8475D !important;
  transform: translateX(2px);
}
@media (max-width: 600px) {
  .cdv2-phone-number { font-size: 26px; }
}

/* CTA Buttons */
.cdv2-cta-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 460px) {
  .cdv2-cta-row { grid-template-columns: 1fr; }
}
.cdv2-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 14px;
  text-decoration: none;
  color: #fff !important;
  font-family: 'Mulish', sans-serif;
  font-weight: 700;
  font-size: 15px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}
.cdv2-btn span { display: flex; flex-direction: column; line-height: 1.2; }
.cdv2-btn small {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 2px;
}
.cdv2-btn-whatsapp {
  background: linear-gradient(135deg, #25D366 0%, #1faa54 100%);
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35);
}
.cdv2-btn-whatsapp:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(37, 211, 102, 0.50);
  filter: brightness(1.05);
}
.cdv2-btn-call {
  background: linear-gradient(135deg, #B8475D 0%, #5B2A39 100%);
  box-shadow: 0 8px 24px rgba(184, 71, 93, 0.35);
}
.cdv2-btn-call:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(184, 71, 93, 0.50);
  filter: brightness(1.08);
}

/* Email row */
.cdv2-email-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 14px;
  color: #5a4a4a;
  padding-top: 4px;
}
.cdv2-email-row svg { color: #B8475D; flex-shrink: 0; }
.cdv2-email-label { font-weight: 700; color: #2d2d2d; }
.cdv2-email-link {
  color: #B8475D !important;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px dashed rgba(184, 71, 93, 0.4);
  word-break: break-all;
  transition: color 0.25s ease, border-color 0.25s ease;
}
.cdv2-email-link:hover {
  color: #5B2A39 !important;
  border-bottom-color: #5B2A39;
}

.cdv2-pics-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  color: #B8475D !important;
  text-decoration: none;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 0;
  border-bottom: 2px solid transparent;
  transition: color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.cdv2-pics-link:hover {
  color: #5B2A39 !important;
  border-bottom-color: #5B2A39;
  transform: translateX(4px);
}

/* Feature Trio */
.cdv2-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
@media (max-width: 900px) {
  .cdv2-features { grid-template-columns: 1fr; gap: 18px; }
}
.cdv2-feature {
  background: #ffffff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(184, 71, 93, 0.08);
  border: 1px solid rgba(184, 71, 93, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}
.cdv2-feature:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(184, 71, 93, 0.16);
}
.cdv2-feature-image {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f5e5df;
}
.cdv2-feature-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}
.cdv2-feature:hover .cdv2-feature-image img { transform: scale(1.05); }

.cdv2-feature-body {
  padding: 22px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.cdv2-feature-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  margin: 0 !important;
  line-height: 1.3;
}
.cdv2-feature p {
  margin: 0 !important;
  line-height: 1.7;
  color: #2d2d2d;
  font-size: 14px;
}

/* Quote-style middle card (no image) */
.cdv2-feature-note {
  background: linear-gradient(135deg, #5B2A39 0%, #B8475D 100%);
  color: #fff;
  position: relative;
}
.cdv2-feature-note .cdv2-feature-title { color: #fff !important; }
.cdv2-feature-note p { color: rgba(255, 255, 255, 0.92); }
.cdv2-feature-note p strong { color: #FFD9C7; }
.cdv2-feature-quote-mark {
  position: absolute;
  top: 8px;
  right: 18px;
  font-family: 'Playfair Display', serif;
  font-size: 110px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.12);
  font-weight: 700;
  pointer-events: none;
}
.cdv2-feature-note .cdv2-feature-body { padding-top: 36px; }

@media (max-width: 600px) {
  .cdv2-section { padding: 50px 0 40px; }
  .cdv2-title { font-size: 26px !important; }
  .cdv2-header { margin-bottom: 28px; }
  .cdv2-hero { margin-bottom: 32px; }
}

/* ============================================================
   PREMIUM SERVICES V2 — Magazine Spread Layout
   ============================================================ */
.psv2-section {
  padding: 70px 0 60px;
  background: linear-gradient(180deg, #FBF7F0 0%, #FDF1EC 100%);
  position: relative;
}
.psv2-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(184, 71, 93, 0.4), transparent);
}
.psv2-container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Header */
.psv2-header { text-align: center; margin-bottom: 42px; }
.psv2-eyebrow {
  display: inline-block;
  font-family: 'Mulish', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #B8475D;
  background: rgba(184, 71, 93, 0.10);
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.psv2-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.2;
}
.psv2-title em {
  font-style: italic;
  color: #B8475D !important;
  font-weight: 700;
}
.psv2-subtitle {
  font-size: 14px;
  color: #6b5e5e;
  margin: 0;
  font-style: italic;
  letter-spacing: 1px;
}

/* === FEATURED "COVER STORY" (full-width hero) === */
.psv2-feature {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  background: #ffffff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(184, 71, 93, 0.14);
  border: 1px solid rgba(184, 71, 93, 0.08);
  margin-bottom: 36px;
}
@media (max-width: 880px) {
  .psv2-feature { grid-template-columns: 1fr; }
}

.psv2-feature-image {
  position: relative;
  background: #f4e6df;
  min-height: 420px;
  overflow: hidden;
}
.psv2-feature-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 880px) {
  .psv2-feature-image { min-height: 280px; aspect-ratio: 16 / 10; }
}

.psv2-feature-no {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 800;
  font-size: 96px;
  line-height: 0.8;
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 0 4px 14px rgba(91, 42, 57, 0.5);
  letter-spacing: -3px;
  pointer-events: none;
}

.psv2-feature-stamp {
  position: absolute;
  bottom: 18px;
  right: 18px;
  z-index: 2;
  background: linear-gradient(135deg, #B8475D, #5B2A39);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: 4px;
  transform: rotate(-3deg);
  box-shadow: 0 6px 18px rgba(184, 71, 93, 0.4);
}

.psv2-feature-content {
  padding: 40px 40px 40px 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 4px solid #B8475D;
  background:
    linear-gradient(135deg, transparent 0%, rgba(212, 165, 116, 0.04) 100%),
    #ffffff;
}
@media (max-width: 880px) {
  .psv2-feature-content { padding: 28px 22px; border-left: none; border-top: 4px solid #B8475D; }
}

.psv2-feature-kicker {
  font-family: 'Mulish', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #D4A574;
  margin-bottom: 8px;
}
.psv2-feature-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  line-height: 1.25 !important;
  margin: 0 0 18px 0 !important;
}
.psv2-feature-text p {
  font-size: 15px;
  line-height: 1.85;
  color: #2d2d2d;
  margin: 0 0 12px 0;
}
.psv2-feature-text p:last-child { margin-bottom: 0; }
.psv2-feature-text strong { color: #5B2A39; }
.psv2-feature-text p::first-letter {
  font-family: 'Playfair Display', serif;
  font-size: 48px;
  font-weight: 800;
  float: left;
  line-height: 1;
  padding: 6px 12px 0 0;
  color: #B8475D;
}
.psv2-feature-text p:not(:first-child)::first-letter {
  font-size: inherit;
  float: none;
  padding: 0;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

/* === SIDE STORIES (smaller 2-col) === */
.psv2-side-stories {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 36px;
}
@media (max-width: 880px) {
  .psv2-side-stories { grid-template-columns: 1fr; gap: 22px; }
}

.psv2-story {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(184, 71, 93, 0.08);
  border: 1px solid rgba(184, 71, 93, 0.06);
  position: relative;
  display: flex;
  flex-direction: column;
}

.psv2-story-image {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f4e6df;
}
.psv2-story-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.psv2-story-no {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 800;
  font-size: 56px;
  line-height: 0.9;
  color: rgba(255, 255, 255, 0.92);
  text-shadow: 0 3px 10px rgba(91, 42, 57, 0.55);
  letter-spacing: -2px;
  pointer-events: none;
}

.psv2-story-content {
  padding: 22px 24px 26px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.psv2-story-kicker {
  font-family: 'Mulish', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #D4A574;
}
.psv2-story-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #5B2A39 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
.psv2-story-text p {
  font-size: 14px;
  line-height: 1.75;
  color: #2d2d2d;
  margin: 0 0 10px 0;
}
.psv2-story-text p:last-child { margin-bottom: 0; }
.psv2-story-text strong { color: #5B2A39; }

/* === Bottom CTA Bar === */
.psv2-cta {
  text-align: center;
  background:
    radial-gradient(800px 280px at 50% 0%, rgba(232, 90, 113, 0.10), transparent 60%),
    linear-gradient(135deg, #FBF1EC 0%, #F8E4E4 100%);
  padding: 36px 24px;
  border-radius: 18px;
  border: 1px solid rgba(184, 71, 93, 0.12);
}
.psv2-cta-text {
  font-family: 'Playfair Display', serif;
  font-size: 19px;
  font-style: italic;
  color: #5B2A39;
  margin: 0 0 20px 0;
}
.psv2-cta-buttons {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}
.psv2-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  border-radius: 999px;
  text-decoration: none;
  color: #fff !important;
  font-family: 'Mulish', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.psv2-btn-whatsapp {
  background: linear-gradient(135deg, #25D366 0%, #1faa54 100%);
  box-shadow: 0 6px 18px rgba(37, 211, 102, 0.35);
}
.psv2-btn-primary {
  background: linear-gradient(135deg, #B8475D 0%, #5B2A39 100%);
  box-shadow: 0 6px 18px rgba(184, 71, 93, 0.35);
}

@media (max-width: 600px) {
  .psv2-section { padding: 50px 0 40px; }
  .psv2-title { font-size: 26px !important; }
  .psv2-feature-title { font-size: 24px !important; }
  .psv2-feature-no { font-size: 64px; }
  .psv2-story-no { font-size: 42px; }
  .psv2-cta-text { font-size: 16px; }
  .psv2-btn { padding: 12px 22px; font-size: 13px; }
}