/* Critical above-the-fold CSS — must match final layout to prevent CLS */
*,::after,::before{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  padding-bottom:80px; /* reserve space for fixed Call/WhatsApp */
  background:linear-gradient(0deg,#000,navy,#000);
  font-family:tahoma,Arial,Helvetica,sans-serif;
  color:#fff;
}
a{text-decoration:none;color:#fff}
img{max-width:100%;height:auto;vertical-align:middle}
.img-responsive{display:block;max-width:100%;height:auto}

.container,.container-fluid{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}
.container{width:100%;max-width:1170px}
.row{margin-right:-15px;margin-left:-15px}
.row:after,.row:before{display:table;content:" ";clear:both}
.col-md-3,.col-sm-4,.col-xs-6{position:relative;min-height:1px;padding-right:15px;padding-left:15px;float:left}
.col-xs-6{width:50%}
@media(min-width:768px){.col-sm-4{width:33.33333333%}}
@media(min-width:992px){.col-md-3{width:25%}.container{width:970px}}
@media(min-width:1200px){.container{width:1170px}}

/* Empty banner — collapse so it cannot expand after CSS load (major CLS) */
.bnr-cont,
body > div > .bnr-cont{
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}
.banner{min-height:0;height:auto;aspect-ratio:16/9;max-height:450px}

/* Nav — desktop rules in critical CSS so deferred style.css does not flip layout */
.menu-sec{background:#000000e8;border-top:1px solid #fff;border-bottom:1px solid #fff;width:100%;z-index:3;min-height:56px}
.menu-sec .logo{display:block;float:left;padding:10px 30px;font-size:14px;border-radius:30px;margin-top:5px;margin-left:16px;background:linear-gradient(to bottom,#09014e9e 0,#2196f3bd 100%);color:#fff!important;min-height:20px}
.menu-sec ul{margin:0;padding:0;list-style:none;overflow:hidden}
.menu-sec li a,.menu-sec li span{font-size:16px;padding:15px 20px!important;display:block;color:#fff!important;border-right:1px solid #fff}
.menu-sec .menu-btn{display:none}
.menu-sec .menu-icon{cursor:pointer;display:inline-block;float:right;padding:20px 15px;margin:12px 15px 8px;border:1px solid #bc4e9c;border-radius:3px}
.menu-sec .menu-icon .navicon,.menu-sec .menu-icon .navicon:before,.menu-sec .menu-icon .navicon:after{background:#fff;display:block;width:22px;height:2px;position:relative}
.menu-sec .menu-icon .navicon:before{content:"";top:7px;position:absolute;width:100%}
.menu-sec .menu-icon .navicon:after{content:"";top:-7px;position:absolute;width:100%}
.menu-sec .menu{clear:both;max-height:0;overflow:hidden}
.menu-sec .menu-btn:checked~.menu{max-height:700px;padding-bottom:20px}
@media(min-width:48em){
  .menu-sec li{float:left}
  .menu-sec .menu{clear:none;float:right;max-height:none!important;overflow:visible}
  .menu-sec .menu-icon{display:none}
}

.escorts-categories{padding:20px 0 0;min-height:520px}
.profile-card,.escort-card{
  text-align:center;
  margin:0 0 18px;
  border:5px solid #000;
  min-height:480px; /* reserve card space before images paint */
  background:#0a0a1a;
}
.area-cont-inner{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(to bottom,#009688 0,#01024e 100%);
  padding:10px!important;
  min-height:150px;
}
.area-cont-image,.escort-card .card-image{
  aspect-ratio:3/4;
  width:100%;
  overflow:hidden;
  background:#1a1a2e; /* skeleton while image loads */
  min-height:0;
}
.area-cont-image img,.escort-card img,.profile-img{
  width:100%;
  height:auto;
  aspect-ratio:3/4;
  object-fit:cover;
  display:block;
  background:#e2e8f0;
}
.area-cont-inner span{
  display:block;clear:both;text-align:center;color:#fff;
  padding:5px 0;font-size:17px;min-height:28px;
  border-bottom:1px solid rgba(255,255,255,.08)
}
.area-cont-name{min-height:48px}
.area-cont-name a{
  display:inline-block;margin-top:10px;padding:10px 20px;
  border:1px solid #fff;border-radius:4px;color:#fff;
  background:linear-gradient(to bottom,#09014e9e 0,#2196f3bd 100%)
}

.avl-nw{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;min-height:40px;height:40px;margin:0 0 8px;padding:8px 12px;
  background:#0a1a0a;border:1px solid #1f7a1f;color:#7fff00;
  font-size:14px;font-weight:700;text-transform:uppercase
}
.available-badge{display:inline-block;width:10px;height:10px;background:#22c55e;border-radius:50%;flex-shrink:0;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.available-badge{animation:none}}

.w100{padding-right:5px;padding-left:5px}
@media(max-width:479px){.w100{width:100%!important}.profile-card,.escort-card{min-height:420px}}

/* Fixed floats — never in document flow */
.float-call,.float-whatsapp,.float1,.float2{
  position:fixed!important;
  width:48px;height:48px;z-index:999;
  display:flex;align-items:center;justify-content:center;
  float:none!important;
}
.float-call,.float2{left:20px;right:auto;bottom:20px}
.float-whatsapp,.float1{right:20px;left:auto;bottom:20px}
.float-call img,.float-whatsapp img,.float1 img,.float2 img{width:48px;height:48px;display:block}
@media(max-width:768px){
  .float-whatsapp,.float1{bottom:80px;right:20px;left:auto}
  .float-call,.float2{left:auto;right:20px;bottom:20px}
}

.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px;z-index:10000}
.skip-link:focus,.skip-link:focus-visible{top:0;outline:2px solid #3b82f6;outline-offset:2px}
:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}
*:focus:not(:focus-visible){outline:none}

.text-area{min-height:200px}
.text-bg{background:#000;padding:20px;border-radius:15px;min-height:120px}
.section-title,.section-title--gold{min-height:1.2em}
.section-title--gold{color:#FFD700}
footer{min-height:180px}
.embed-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}
.embed-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.ad-slot{min-height:250px;background:#0f172a}
