/* ============================================================
   Velvet — custom enhancements (loaded after theme styles)
   ============================================================ */

:root{
  --vel: #C437BE;          /* brand magenta */
  --vel-neon: #ff2bd6;     /* hot neon pink */
  --vel-neon2: #b026ff;    /* neon violet */
}

/* kill stray horizontal overflow (wide owl-carousel stages etc.) -> no empty strip on the right */
html, body{ overflow-x: hidden !important; max-width: 100%; }

/* footer "Massages" list -> outline button tiles, 2 per row */
.footer .worktime ul{
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0; margin: 0; list-style: none;
}
.footer .worktime ul br{ display: none; }
.footer .worktime ul a{
  display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 11px 10px; border: 1px solid rgba(255,255,255,.45); border-radius: 8px;
  color: #fff; text-decoration: none; font-size: 13.5px; line-height: 1.25;
  background: transparent; transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.footer .worktime ul a:hover{ border-color: var(--vel-neon); color: var(--vel-neon); background: rgba(255,43,214,.08); }
@media (max-width: 480px){ .footer .worktime ul a{ font-size: 12px; padding: 10px 6px; } }

/* ============================================================
   1) MOBILE BURGER MENU
   ============================================================ */
@media (max-width: 991px){

  /* burger -> long, narrow full-width "MENU" bar (sits on its own row below the logo cluster) */
  .navbar .navbar-toggler{
    border: 1.5px solid rgba(255,43,214,.55) !important;
    order: 4; flex: 0 0 100%; width: 100%;
    margin-top: 12px; height: 46px;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center; gap: 12px;
    background: linear-gradient(135deg, rgba(196,55,190,.16), rgba(176,38,255,.14));
    box-shadow: 0 6px 18px rgba(196,55,190,.25);
    transition: transform .15s ease, box-shadow .25s ease, background .2s ease;
    padding: 0;
  }
  .navbar .navbar-toggler:focus{ box-shadow: 0 6px 18px rgba(196,55,190,.4); outline: none; }
  .navbar .navbar-toggler:active{ transform: scale(.99); }
  .navbar .navbar-toggler[aria-expanded="true"]{ background: linear-gradient(135deg, rgba(196,55,190,.30), rgba(176,38,255,.24)); }
  .navbar .navbar-toggler .navbar-toggler-icon{
    background-image: none !important;
    width: auto; height: auto; flex: 0 0 auto;
    display: flex; align-items: center; justify-content: center;
  }
  /* the theme uses fa-regular fa-bars (Font Awesome PRO) which we don't ship -> draw bars from the free solid set */
  .navbar .navbar-toggler .navbar-toggler-icon i{ display: none !important; }
  .navbar .navbar-toggler .navbar-toggler-icon::before{
    content: "\f0c9"; /* fa-bars */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: var(--vel-neon);
    font-size: 17px;
    line-height: 1;
  }
  .navbar .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before{
    content: "\f00d"; /* fa-xmark when open */
  }
  .nav-menu-label{
    color: #fff; font-weight: 800; font-size: 14px;
    letter-spacing: 5px; text-transform: uppercase; padding-left: 2px;
  }

  /* the dropdown menu panel */
  .navbar .navbar-collapse{
    margin-top: 14px;
    background: rgba(15, 8, 18, .96);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(196,55,190,.35);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.04) inset;
    padding: 10px 0;
    overflow: hidden;
  }
  .navbar .navbar-collapse .navbar-nav{
    margin: 0 !important;
    padding: 0 6px;
  }
  .navbar .navbar-nav .nav-item{
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .navbar .navbar-nav .nav-item:last-child{ border-bottom: none; }
  .navbar .navbar-nav .nav-link{
    color: #fff !important;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: .5px;
    padding: 15px 22px !important;
    display: flex; align-items: center;
    position: relative;
    transition: color .2s ease, padding-left .2s ease, background .2s ease;
  }
  .navbar .navbar-nav .nav-link::before{
    content: "";
    width: 0; height: 18px; margin-right: 0;
    border-radius: 4px;
    background: linear-gradient(180deg, var(--vel-neon), var(--vel-neon2));
    transition: width .2s ease, margin-right .2s ease;
  }
  .navbar .navbar-nav .nav-link:hover,
  .navbar .navbar-nav .nav-link:focus{
    color: var(--vel-neon) !important;
    padding-left: 26px !important;
    background: rgba(196,55,190,.10);
  }
  .navbar .navbar-nav .nav-link:hover::before{
    width: 6px; margin-right: 12px;
  }

  /* phone block inside the opened menu */
  .navbar .navbar-right{
    margin: 6px 16px 8px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.08);
  }
}

/* ============================================================
   2) HEADER PHONE ON MOBILE (injected by custom.js)
   ============================================================ */
.nav-mobile-phone{ display: none; }
.nav-girls{ display: none; }   /* mobile-only — desktop already has Girls in the nav */

@media (max-width: 991px){
  /* GIRLS pill — first item of the right cluster, pushes the cluster to the right */
  .nav-girls{
    display: inline-flex; align-items: center; gap: 7px;
    padding: 10px 16px; border-radius: 50px;
    background: rgba(255,43,214,.08); border: 2px solid rgba(255,43,214,.85);
    color: var(--vel-neon) !important; text-decoration: none;
    font-weight: 800; font-size: 14px; letter-spacing: .4px; line-height: 1;
    white-space: nowrap; box-shadow: 0 0 10px rgba(255,43,214,.3);
    transition: background .2s ease;
  }
  .nav-girls i{ font-size: 13px; }
  .nav-girls:active{ background: rgba(255,43,214,.2); }
}

@media (max-width: 400px){
  .nav-girls{ padding: 9px 12px; font-size: 13px; }
  .nav-girls i{ display: none; }
}

@media (max-width: 991px){
  /* keep the header pinned & stable (theme slides it with a transform -> burger flew off-screen) */
  .navbar{
    position: fixed !important; top: 0 !important; left: 0; right: 0;
    transform: none !important; animation: none !important;
  }
  /* push EVERY page's first section below the fixed header (it was tucked under the menu) */
  .elementor > .elementor-section:first-child,
  .elementor > .vel-price-section:first-child{ padding-top: 108px !important; }
  .navbar .container{
    display: flex;
    align-items: center;
    flex-wrap: wrap;   /* let the dropdown menu wrap to a full-width row BELOW (was nowrap -> menu flew off to the right) */
  }
  /* the collapsible menu must be full-width and drop below the logo row */
  .navbar .navbar-collapse{ flex-basis: 100%; width: 100%; order: 99; }
  /* phone = bigger, prominent filled CALL button, rightmost in the row */
  .nav-mobile-phone{
    display: inline-flex; align-items: center; justify-content: center;
    width: 52px; height: 52px; flex: 0 0 auto;
    margin: 0 0 0 10px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--vel-neon), var(--vel-neon2));
    border: none;
    color: #fff !important;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(196,55,190,.5), 0 0 0 4px rgba(255,43,214,.12);
    transition: transform .15s ease, box-shadow .2s ease;
  }
  .nav-mobile-phone i{ font-size: 22px; }
  .nav-mobile-phone span{ display: none; }   /* hide the number, icon only */
  .nav-mobile-phone:active{ transform: scale(.94); }
}

/* ============================================================
   3) FLOATING SIDE CALL BUTTONS — brighter + effects
   (overrides the theme's inline <style>)
   ============================================================ */
.floating-contact{
  gap: 16px !important;
  /* promote to its own compositor layer so it doesn't flicker/disappear while scrolling on mobile */
  transform: translateZ(0);
  -webkit-backface-visibility: hidden; backface-visibility: hidden;
  will-change: transform;
}

.floating-contact .contact-btn{
  position: relative;
  animation: none !important;            /* drop the dull theme pulse */
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.18);
  overflow: visible;
}
.floating-contact .contact-btn i{ position: relative; z-index: 2; }

/* glossy sheen across all three */
.floating-contact .contact-btn::after{
  content:"";
  position:absolute; inset:0;
  border-radius: inherit;
  background: linear-gradient(160deg, rgba(255,255,255,.35), rgba(255,255,255,0) 45%);
  pointer-events:none;
}

/* PHONE = neon (not green) + vibrate */
.floating-contact .incall{
  background: linear-gradient(135deg, var(--vel-neon), var(--vel-neon2)) !important;
  box-shadow: 0 0 14px var(--vel-neon), 0 0 34px rgba(176,38,255,.65), 0 10px 28px rgba(0,0,0,.35) !important;
  animation: vel-glow 1.8s ease-in-out infinite !important;
}
.floating-contact .incall.vel-vibrate{
  animation: vel-vibrate .55s linear, vel-glow 1.8s ease-in-out infinite !important;
}

/* WhatsApp = green but richer + glow */
.floating-contact .whatsapp{
  background: linear-gradient(135deg, #2af598, #25D366 45%, #128C7E) !important;
  box-shadow: 0 0 14px rgba(37,211,102,.75), 0 10px 28px rgba(0,0,0,.35) !important;
}

/* Telegram = brighter blue + glow */
.floating-contact .telegram{
  background: linear-gradient(135deg, #4fc3ff, #0088cc 55%, #006699) !important;
  box-shadow: 0 0 14px rgba(0,136,204,.7), 0 10px 28px rgba(0,0,0,.35) !important;
}

.floating-contact .contact-btn:hover{
  transform: translateX(-6px) scale(1.07) !important;
  filter: brightness(1.08);
}

/* heart particles emitted by the phone button */
.vel-heart{
  position: fixed;
  z-index: 99998;
  font-size: 18px;
  line-height: 1;
  pointer-events: none;
  color: var(--vel-neon);
  text-shadow: 0 0 8px var(--vel-neon);
  animation: vel-heart-float 1.8s ease-out forwards;
  will-change: transform, opacity;
}

@keyframes vel-glow{
  0%,100%{ box-shadow: 0 0 12px var(--vel-neon), 0 0 26px rgba(176,38,255,.5), 0 10px 28px rgba(0,0,0,.35); }
  50%    { box-shadow: 0 0 22px var(--vel-neon), 0 0 48px rgba(176,38,255,.85), 0 10px 28px rgba(0,0,0,.35); }
}
@keyframes vel-vibrate{
  0%,100%{ transform: translate(0,0) rotate(0); }
  15%{ transform: translate(-2px,1px) rotate(-6deg); }
  30%{ transform: translate(2px,-1px) rotate(6deg); }
  45%{ transform: translate(-2px,1px) rotate(-5deg); }
  60%{ transform: translate(2px,-1px) rotate(5deg); }
  75%{ transform: translate(-1px,1px) rotate(-3deg); }
}
@keyframes vel-heart-float{
  0%  { transform: translate(0,0) scale(.6); opacity: 0; }
  15% { opacity: 1; }
  100%{ transform: translate(var(--dx,0), -90px) scale(1.15); opacity: 0; }
}

/* ============================================================
   4) BOOKING CTA — prominent gradient button (home testimonials)
   ============================================================ */
.testimonials .btn-link{ display: inline-block; }
.testimonials .btn-link a,
a.booking-cta{
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  padding: 16px 40px !important;
  border-radius: 50px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff !important;
  background: linear-gradient(135deg, var(--vel-neon), var(--vel-neon2)) !important;
  box-shadow: 0 0 18px rgba(255,43,214,.6), 0 12px 30px rgba(0,0,0,.4) !important;
  border: none !important;
  animation: vel-cta-pulse 2.2s ease-in-out infinite;
  transition: transform .2s ease, filter .2s ease;
}
.testimonials .btn-link a::before{
  content: "\f095"; /* phone */
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
  font-weight: 900;
  font-size: 17px;
}
.testimonials .btn-link a:hover,
a.booking-cta:hover{ transform: translateY(-2px) scale(1.04); filter: brightness(1.08); }
.testimonials .btn-link .btn-block{ display: none !important; }

@keyframes vel-cta-pulse{
  0%,100%{ box-shadow: 0 0 16px rgba(255,43,214,.5), 0 12px 30px rgba(0,0,0,.4); }
  50%    { box-shadow: 0 0 30px rgba(255,43,214,.9), 0 12px 30px rgba(0,0,0,.4); }
}

/* ============================================================
   5) TESTIMONIALS — readability for 5 reviews carousel
   ============================================================ */
.testimonials .owl-carousel .item p{ min-height: 0; }
.testimonials .info .cont h6{ color: var(--vel); }

/* ============================================================
   7) HOME HERO — centered light subtitle (h2) + kill dead space before Girls
   ============================================================ */
.home-default .home-default-cont-text{ text-align: center; }
.home-default-cont-text h2.vel-hero-sub{
  text-align: center;
  font-size: clamp(20px, 2.4vw, 32px);
  font-weight: 600;
  color: #fff;
  letter-spacing: 1px;
  line-height: 1.25;
  margin: 0 0 18px;
  text-shadow: 0 0 14px rgba(196,55,190,.55);
}
.home-default .btn-wrap{ text-align: center; }

/* the hero image is very tall (~957px) which leaves a big empty area beside
   the text before the Girls section — cap its height to tighten the layout */
.home-default .home-default-img{
  height: 600px !important;
  object-fit: cover;
  object-position: center top;
}
.home-default .col-md-12.mb-60{ margin-bottom: 20px !important; }
/* the Girls section has 120px padding (theme .section-padding) -> trim empty gaps top & bottom */
.elementor-element-38374d7 .team.section-padding{ padding-top: 24px !important; padding-bottom: 28px !important; }

/* intro "Massage practices..." text block -> left-aligned (was centered) */
.elementor-element-2c138ec,
.elementor-element-2c138ec .elementor-widget-container,
.elementor-element-2c138ec p{ text-align: left !important; }

@media (max-width: 991px){
  .home-default .home-default-img{ height: 460px !important; }
  .home-default-cont-text h2.vel-hero-sub{ font-size: 22px; }
}
@media (max-width: 767px){
  /* slightly smaller hero title on phones */
  .home-default .view-on-mobile h1{ font-size: 28px !important; line-height: 1.15 !important; }
  /* a bit more height so her torso below the bust is visible */
  .home-default .home-default-img{ height: 450px !important; }
}
@media (max-width: 400px){
  .home-default .view-on-mobile h1{ font-size: 25px !important; }
  .home-default .home-default-img{ height: 420px !important; }
}

/* ============================================================
   11) intro text accordion (collapsed on mobile, plain on desktop)
   ============================================================ */
.vel-acc-head{ display: none; }            /* desktop: no toggle, text shown plainly */
@media (max-width: 767px){
  .elementor-element-2c138ec{ margin-top: 24px !important; margin-bottom: 16px !important; }  /* push off the photo above; trim big bottom gap */
  .vel-acc-head{
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    width: 100%; cursor: pointer; text-align: left;
    background: rgba(196,55,190,.10);
    border: 1px solid rgba(196,55,190,.38);
    border-radius: 12px;
    color: #fff; font-family: inherit; font-weight: 700; font-size: 16px;
    letter-spacing: .3px; padding: 14px 16px; line-height: 1.3;
  }
  .vel-acc-ic{ position: relative; width: 16px; height: 16px; flex: 0 0 auto; }
  .vel-acc-ic::before, .vel-acc-ic::after{
    content: ""; position: absolute; background: var(--vel-neon); border-radius: 2px;
  }
  .vel-acc-ic::before{ top: 7px; left: 0; width: 16px; height: 2px; }
  .vel-acc-ic::after{ left: 7px; top: 0; width: 2px; height: 16px; transition: transform .3s ease, opacity .3s ease; }
  .vel-acc.is-open .vel-acc-ic::after{ transform: rotate(90deg); opacity: 0; }  /* + -> - */
  .vel-acc-body{
    max-height: 0; overflow: hidden; opacity: 0;
    transition: max-height .45s ease, opacity .3s ease, margin-top .3s ease;
  }
  .vel-acc.is-open .vel-acc-body{ max-height: 1400px; opacity: 1; margin-top: 12px; }
}

/* heading-style accordion trigger (the H1 itself toggles) */
.vel-acc-h{ font-size: 38px !important; line-height: 1.18 !important; }  /* slightly smaller on desktop */
.vel-acc-h .vel-acc-ic{ display: none; }   /* desktop: title plain, body shown */
@media (max-width: 767px){
  .vel-acc-h{
    cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px;
    font-size: 22px !important; line-height: 1.25 !important;   /* fit on a phone screen */
  }
  .vel-acc-h .vel-acc-ic{ display: inline-block; }
}

/* ============================================================
   14) floating VIDEO teaser (bottom-left) — click to call, timed show/hide
   ============================================================ */
.vel-video{
  position: fixed; left: 18px; bottom: 18px; z-index: 99998;
  width: 188px; height: 322px; border-radius: 18px; overflow: visible;
  display: block; text-decoration: none; cursor: pointer;
  box-shadow: 0 12px 32px rgba(0,0,0,.55), 0 0 0 2px var(--vel-neon), 0 0 22px rgba(255,43,214,.5);
  opacity: 0; transform: translateY(24px) scale(.92); pointer-events: none;
  transition: opacity .55s ease, transform .55s ease;
}
.vel-video.show{ opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.vel-video video{ width: 100%; height: 100%; object-fit: cover; display: block; background:#120c16; border-radius: 18px; }
/* enticing teaser above the frame */
.vel-video-tease{
  position: absolute; top: -44px; left: 50%; transform: translateX(-50%);
  white-space: nowrap; z-index: 3;
  background: linear-gradient(135deg, var(--vel-neon), var(--vel-neon2));
  color: #fff; font-weight: 800; font-size: 13px; letter-spacing: .3px;
  padding: 6px 14px; border-radius: 50px;
  box-shadow: 0 4px 14px rgba(255,43,214,.6);
  animation: vel-tease-bob 1.6s ease-in-out infinite;
}
.vel-video-tease::after{
  content: ""; position: absolute; bottom: -5px; left: 50%; transform: translateX(-50%) rotate(45deg);
  width: 9px; height: 9px; background: var(--vel-neon2);
}
@keyframes vel-tease-bob{ 0%,100%{ transform: translateX(-50%) translateY(0); } 50%{ transform: translateX(-50%) translateY(-3px); } }
.vel-video .vel-video-call{
  position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
  padding: 7px 16px; border-radius: 50px;
  font-size: 13px; font-weight: 800; letter-spacing: .3px; color: #fff;
  background: linear-gradient(135deg, var(--vel-neon), var(--vel-neon2));
  box-shadow: 0 0 14px rgba(255,43,214,.65);
  animation: vel-glow 1.8s ease-in-out infinite;
}
.vel-video-close{
  position: absolute; top: 6px; right: 6px; z-index: 2;
  width: 26px; height: 26px; border-radius: 50%; border: none;
  background: rgba(0,0,0,.55); color: #fff; font-size: 18px; line-height: 1;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.vel-video-close:hover{ background: rgba(0,0,0,.8); }
@media (max-width: 767px){
  .vel-video{ width: 152px; height: 262px; left: 12px; bottom: 12px; }
  .vel-video .vel-video-call{ font-size: 11px; padding: 6px 12px; }
  .vel-video-tease{ font-size: 12px; padding: 5px 12px; }
}

/* ============================================================
   15) GIRLS photos — neon frame with a faint running light ("LED")
   ============================================================ */
.team .item .img{
  position: relative; border-radius: 16px; overflow: hidden; padding: 3px;
  background: #0a050c; isolation: isolate;
}
.team .item .img::before{
  content: ""; position: absolute; left: 50%; top: 50%;
  width: 175%; height: 175%; transform: translate(-50%, -50%);
  background: conic-gradient(from 0deg,
    rgba(196,55,190,.20) 0deg, rgba(196,55,190,.20) 300deg,
    rgba(255,43,214,.9) 340deg, #ffe3fb 352deg, rgba(255,43,214,.9) 360deg);
  animation: vel-spin 5.5s linear infinite;
  z-index: 0;
}
.team .item .img img{
  position: relative; z-index: 1; display: block; width: 100%; border-radius: 13px;
}
@keyframes vel-spin{ to{ transform: translate(-50%, -50%) rotate(360deg); } }

/* Girls cards: name as a bottom-left caption over the photo (like Services);
   drop the stats numbers and the dark backing */
.team .item{ position: relative; }
.team .item .con{
  position: absolute !important; left: 3px; right: 3px; bottom: 3px; z-index: 2;
  padding: 26px 16px 14px !important; text-align: left !important; min-height: 0 !important;
  border-radius: 0 0 13px 13px;
  background: linear-gradient(to top, rgba(10,5,12,.94) 0%, rgba(10,5,12,.55) 55%, rgba(10,5,12,0) 100%) !important;
}
.team .item .con .team-member-details{ display: none !important; }  /* remove stat numbers */
.team .item .con .arrow{ display: none !important; }
.team .item .con h5{ margin: 0 !important; }
.team .item .con h5 a{
  color: #fff !important; text-decoration: none !important;
  font-size: clamp(18px, 1.6vw, 22px); line-height: 1.2;
  position: relative; display: inline-block; padding-bottom: 10px;
}
.team .item .con h5 a br{ display: none !important; }
.team .item .con h5 a::after{
  content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 34px; border-radius: 3px;
  background: linear-gradient(90deg, var(--vel-neon), var(--vel-neon2));
  transition: width .35s ease;
}
.team .item:hover .con h5 a::after{ width: 70px; }

/* ============================================================
   13) INTERIOR gallery — 2 per row & compact on mobile (minor photos)
   (overrides the isotope/masonry absolute positioning)
   ============================================================ */
@media (max-width: 767px){
  .gallery-items{ height: auto !important; display: flex !important; flex-wrap: wrap !important; }
  .gallery-items .gallery-masonry-wrapper{
    position: relative !important; left: auto !important; top: auto !important;
    width: 50% !important; max-width: 50% !important; flex: 0 0 50% !important;
    margin-bottom: 10px !important; padding: 0 5px !important;
  }
  .gallery-items .gallery-img img{
    width: 100% !important; height: 150px !important; object-fit: cover !important;
  }
}

/* ============================================================
   12) ABOUT — 4 services as a 2x2 linked tile grid (was a plain check-list)
   ============================================================ */
.vel-svc-grid{
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 26px 0;
}
.vel-svc{
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px; border-radius: 14px;
  text-decoration: none; color: #fff;
  background: linear-gradient(150deg, rgba(196,55,190,.16), rgba(20,12,22,.55));
  border: 1px solid rgba(196,55,190,.35);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.vel-svc i{
  flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; color: #fff;
  background: linear-gradient(135deg, var(--vel-neon), var(--vel-neon2));
  box-shadow: 0 0 12px rgba(255,43,214,.45);
}
.vel-svc span{ font-weight: 600; font-size: 15px; line-height: 1.2; }
.vel-svc::after{
  content: "\f061"; font-family: "Font Awesome 6 Free"; font-weight: 900;
  margin-left: auto; color: rgba(255,255,255,.35); font-size: 13px;
  transition: transform .25s ease, color .25s ease;
}
.vel-svc:hover{
  transform: translateY(-3px); border-color: var(--vel-neon);
  box-shadow: 0 12px 26px rgba(0,0,0,.42), 0 0 16px rgba(255,43,214,.35);
}
.vel-svc:hover::after{ color: var(--vel-neon); transform: translateX(4px); }
@media (max-width: 380px){ .vel-svc{ padding: 12px; gap: 9px; } .vel-svc span{ font-size: 13.5px; } }

/* ============================================================
   10) remove leftover decorative vertical divider lines (old design)
   + tighten the very stretched vertical rhythm (theme used 120px section padding)
   ============================================================ */
.line-vr-section{ display: none !important; }

.section-padding{ padding-top: 50px !important; padding-bottom: 50px !important; }
/* drop the empty divider sections entirely */
.elementor-element-2749d67,
.elementor-element-9c791ad,
.elementor-element-bfe40d7,
.elementor-element-cc12041,
.elementor-element-6f48138{ display: none !important; }
@media (max-width: 767px){
  .section-padding{ padding-top: 38px !important; padding-bottom: 38px !important; }
}

/* ============================================================
   9) OUR SERVICES — always-visible elegant captions (was hover-only)
   ============================================================ */
.services .item .wrap{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(0,0,0,.4);
}
.services .item .img{ position: relative; margin: 0; }
.services .item .img img{
  width: 100%; height: 360px; object-fit: cover; display: block;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.services .item:hover .img img{ transform: scale(1.07); }

/* corner arrow badge (rotates on hover) */
.services .item .wrap::after{
  content: "\f061"; /* fa-arrow-right */
  font-family: "Font Awesome 6 Free"; font-weight: 900;
  position: absolute; top: 14px; right: 14px; z-index: 3;
  width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 14px;
  background: linear-gradient(135deg, var(--vel-neon), var(--vel-neon2));
  box-shadow: 0 0 16px rgba(255,43,214,.55);
  transform: rotate(-45deg);
  transition: transform .4s ease;
  pointer-events: none;
}
.services .item:hover .wrap::after{ transform: rotate(0deg); }

/* caption — pinned to bottom, ALWAYS visible (no longer hover-only) */
.services .item .text{
  position: absolute !important;
  left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important;
  opacity: 1 !important; visibility: visible !important; transform: none !important;
  padding: 20px 18px 18px !important;
  text-align: left !important;
  background: linear-gradient(to top, rgba(10,5,12,.94) 0%, rgba(10,5,12,.6) 55%, rgba(10,5,12,0) 100%) !important;
}
.services .item .text a{ display: flex; flex-direction: column-reverse; text-decoration: none; }
.services .item .text h4{
  color: #fff !important; margin: 0 !important;
  font-size: clamp(18px, 1.7vw, 22px); line-height: 1.2;
  position: relative; padding-bottom: 10px;
}
.services .item .text h4::after{
  content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 34px;
  border-radius: 3px; background: linear-gradient(90deg, var(--vel-neon), var(--vel-neon2));
  transition: width .4s ease;
}
.services .item:hover .text h4::after{ width: 72px; }
.services .item .text p{
  margin: 0 0 7px !important;
  color: var(--vel-neon) !important;
  text-transform: uppercase; letter-spacing: 2.5px; font-size: 11px !important; font-weight: 700;
}

@media (max-width: 767px){
  .services .item .img img{ height: 300px; }
  .services .item .text{ padding: 16px 14px 14px !important; }
}

/* ============================================================
   8) PRICE — redesigned flip cards (replaces the garish flip-boxes)
   ============================================================ */
.vel-price-section{ padding: 24px 0 56px; position: relative; }
.vel-price-section .container{ max-width: 1140px; margin: 0 auto; padding: 0 16px; }
.vel-price-head{ text-align: center; margin-bottom: 42px; }
.vel-price-head h6{
  color: var(--vel-neon);
  text-transform: uppercase;
  letter-spacing: 4px;
  font-weight: 700;
  font-size: 14px;
  margin: 0 0 10px;
}
.vel-price-head h1{ color: #fff; margin: 0; line-height: 1.05; }

.vel-price-grid{
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 24px;
}
.vel-price-card{
  width: 320px; max-width: 100%;
  height: 320px;
  perspective: 1400px;
  cursor: pointer;
}
.vel-price-inner{
  position: relative; width: 100%; height: 100%;
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
  transform-style: preserve-3d;
}
.vel-price-card:hover .vel-price-inner,
.vel-price-card:focus .vel-price-inner,
.vel-price-card.is-flipped .vel-price-inner{ transform: rotateY(180deg); }

.vel-price-face{
  position: absolute; inset: 0;
  -webkit-backface-visibility: hidden; backface-visibility: hidden;
  border-radius: 20px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
  padding: 30px 24px;
  overflow: hidden;
  border: 1px solid rgba(196,55,190,.40);
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(196,55,190,.16), rgba(0,0,0,0) 60%),
    linear-gradient(160deg, #1c1320 0%, #120c16 100%);
  box-shadow: 0 18px 40px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.03) inset;
}
/* gradient top hairline */
.vel-price-face::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background: linear-gradient(90deg, var(--vel-neon), var(--vel-neon2));
}
.vel-price-front .vel-price-ic{
  width: 70px; height: 70px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; color: #fff; margin-bottom: 18px;
  background: linear-gradient(135deg, var(--vel-neon), var(--vel-neon2));
  box-shadow: 0 0 18px rgba(255,43,214,.55);
}
.vel-price-front h3{
  color: #fff; font-size: 22px; margin: 0 0 12px; line-height: 1.2;
}
.vel-price-from{ color: rgba(255,255,255,.72); font-size: 16px; letter-spacing: .5px; }
.vel-price-from b{ color: var(--vel-neon); font-size: 26px; font-weight: 800; margin-left: 4px; }
.vel-price-hint{
  position: absolute; bottom: 18px; left: 0; right: 0;
  font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase;
  color: rgba(255,255,255,.45);
}
.vel-price-hint i{ margin-right: 5px; }

.vel-price-back{
  transform: rotateY(180deg);
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(176,38,255,.20), rgba(0,0,0,0) 60%),
    linear-gradient(160deg, #221526 0%, #0e0a12 100%);
  justify-content: center;
}
.vel-price-back h3{ color: #fff; font-size: 19px; margin: 6px 0 14px; }
.vel-price-list{ list-style: none; margin: 0 0 14px; padding: 0; width: 100%; }
.vel-price-list li{
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 6px; border-bottom: 1px dashed rgba(255,255,255,.12);
  color: rgba(255,255,255,.85); font-size: 15px;
}
.vel-price-list li:last-child{ border-bottom: none; }
.vel-price-list li b{ color: var(--vel-neon); font-weight: 800; }
.vel-price-note{ color: rgba(255,255,255,.6); font-size: 12.5px; font-style: italic; margin: 0 0 14px; }
.vel-price-book{
  margin-top: 8px;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 26px; border-radius: 50px;
  font-weight: 800; letter-spacing: .5px; text-transform: uppercase; font-size: 14px;
  color: #fff !important; text-decoration: none;
  background: linear-gradient(135deg, var(--vel-neon), var(--vel-neon2));
  box-shadow: 0 0 16px rgba(255,43,214,.5);
}
.vel-price-book::before{ content:"\f095"; font-family:"Font Awesome 6 Free"; font-weight:900; }
.vel-price-book:hover{ filter: brightness(1.08); }

@media (max-width: 767px){
  .vel-price-section{ padding: 44px 0 50px; }
  .vel-price-card{ width: 100%; height: 300px; }
}

/* ============================================================
   6) GIRL PROFILE — shrink the big "egg" photo on mobile
   (was ~666px tall -> too much scrolling, low info density)
   ============================================================ */
@media (max-width: 991px){
  .team-single .profile-img .img,
  .team-single .profile-img .img img{
    height: 360px !important;
  }
  .team-single .profile-img .img{
    max-width: 280px !important;
    margin: 0 auto 6px !important;
  }
}
@media (max-width: 400px){
  .team-single .profile-img .img,
  .team-single .profile-img .img img{
    height: 320px !important;
  }
  .team-single .profile-img .img{ max-width: 250px !important; }
}

/* ============================================================
   GIRLS PAGE — static grid (no horizontal carousel on mobile)
   ============================================================ */
.vel-girls-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  width: 100%;
}
.vel-girls-grid .item{
  width: auto !important; max-width: none !important; margin: 0 !important; float: none !important;
}
.vel-girls-grid .item .img img{ width: 100%; height: auto; }
@media (max-width: 991px){
  .vel-girls-grid{ grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 380px){
  .vel-girls-grid{ gap: 9px; }
}
