
/* =========================================================
   Ghaziabad Escort - Modern Responsive UI Layer
   Safe override layer: keeps existing HTML/Bootstrap intact.
   ========================================================= */

:root{
  --ui-bg:#f6f7fb;
  --ui-surface:#ffffff;
  --ui-text:#171923;
  --ui-muted:#6b7280;
  --ui-border:#e7e9ef;
  --ui-accent:#7c3aed;
  --ui-accent-2:#ec4899;
  --ui-radius:16px;
  --ui-shadow:0 8px 30px rgba(20,20,40,.08);
  --ui-shadow-hover:0 16px 40px rgba(20,20,40,.14);
}

html{scroll-behavior:smooth}
body{
  background:var(--ui-bg);
  color:var(--ui-text);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{
  max-width:100%;
  height:auto;
}
a{
  transition:color .2s ease,background-color .2s ease,border-color .2s ease,
             box-shadow .2s ease,transform .2s ease;
}

/* Containers */
.container{
  width:min(1180px, calc(100% - 30px));
}
section{
  position:relative;
}

/* Header / navigation */
header, .header, .top-header, .main-header, nav{
  position:relative;
  z-index:50;
}
.navbar{
  border:0 !important;
  box-shadow:0 4px 22px rgba(0,0,0,.06);
}
.navbar-brand{
  font-weight:800;
  letter-spacing:-.02em;
}
.navbar-nav .nav-link{
  font-weight:600;
  padding:.65rem .85rem !important;
  border-radius:10px;
}
.navbar-nav .nav-link:hover{
  background:rgba(124,58,237,.08);
  color:var(--ui-accent) !important;
}

/* Headings */
h1,h2,h3,h4,h5,h6{
  color:var(--ui-text);
  font-weight:750;
  letter-spacing:-.025em;
}
h1{
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.08;
}
h2{
  font-size:clamp(1.55rem,2.8vw,2.25rem);
}
h3{
  font-size:1.2rem;
}

/* Cards - broad selectors for existing profile layouts */
.card,
.profile-card,
[class*="profile"],
[class*="escort-card"],
[class*="service-card"]{
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  background:var(--ui-surface);
  box-shadow:var(--ui-shadow);
  overflow:hidden;
}

.card{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.card:hover{
  transform:translateY(-5px);
  box-shadow:var(--ui-shadow-hover);
  border-color:rgba(124,58,237,.20);
}

/* Images inside cards */
.card img,
.profile-card img,
[class*="escort-card"] img,
[class*="service-card"] img{
  display:block;
  width:100%;
  object-fit:cover;
}

/* Buttons */
.btn{
  border-radius:11px;
  font-weight:700;
  padding:.65rem 1rem;
  border-width:1px;
  box-shadow:none;
}
.btn:hover{
  transform:translateY(-1px);
}
.btn-primary{
  background:linear-gradient(135deg,var(--ui-accent),var(--ui-accent-2));
  border-color:transparent;
}
.btn-primary:hover{
  filter:brightness(.96);
  box-shadow:0 8px 20px rgba(124,58,237,.22);
}
.btn-success{
  border-color:transparent;
  box-shadow:0 6px 16px rgba(25,135,84,.16);
}

/* Search / form controls */
.form-control,
.form-select,
input,
select,
textarea{
  border:1px solid var(--ui-border);
  border-radius:11px;
  min-height:44px;
  background:#fff;
}
.form-control:focus,
.form-select:focus,
input:focus,
select:focus,
textarea:focus{
  border-color:rgba(124,58,237,.55);
  box-shadow:0 0 0 3px rgba(124,58,237,.10);
  outline:0;
}

/* Content sections */
.content,
.main-content,
.page-content,
.blog-content{
  color:#343844;
}
.content p,
.main-content p,
.page-content p{
  max-width:78ch;
}
.content ul,
.main-content ul,
.page-content ul{
  padding-left:1.25rem;
}
.content li,
.main-content li,
.page-content li{
  margin:.35rem 0;
}

/* Badges / labels */
.badge{
  border-radius:999px;
  padding:.42em .7em;
  font-weight:700;
}

/* Tables */
.table{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
}
.table th{
  font-weight:750;
  background:#f8f8fc;
}
.table td,.table th{
  border-color:var(--ui-border);
}

/* Footer */
footer,
.footer{
  margin-top:2.5rem;
  background:#15151c;
  color:#cfd1da;
}
footer a,
.footer a{
  color:#f3f4f6;
}
footer a:hover,
.footer a:hover{
  color:#fff;
}

/* WhatsApp / floating CTA */
a[href*="wa.me"],
.whatsapp,
.whatsapp-btn,
.whatsapp-button{
  border-radius:999px;
}
.whatsapp,
.whatsapp-btn,
.whatsapp-button{
  box-shadow:0 10px 28px rgba(0,0,0,.16);
  transition:transform .2s ease,box-shadow .2s ease;
}
.whatsapp:hover,
.whatsapp-btn:hover,
.whatsapp-button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}

/* Reduce excessive visual noise */
hr{
  border:0;
  border-top:1px solid var(--ui-border);
  opacity:1;
}
.shadow{
  box-shadow:var(--ui-shadow) !important;
}

/* Accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(124,58,237,.35);
  outline-offset:2px;
}

/* Mobile-first adjustments */
@media (max-width:767.98px){
  .container{
    width:calc(100% - 20px);
  }
  body{
    font-size:15px;
  }
  h1{
    font-size:clamp(1.75rem,8vw,2.35rem);
  }
  h2{
    font-size:1.55rem;
  }
  .card,
  .profile-card,
  [class*="profile"],
  [class*="escort-card"],
  [class*="service-card"]{
    border-radius:13px;
  }
  .btn{
    min-height:44px;
  }
  .row{
    margin-left:-6px;
    margin-right:-6px;
  }
  .row > [class*="col-"]{
    padding-left:6px;
    padding-right:6px;
  }
}

/* Tablet */
@media (min-width:768px) and (max-width:991.98px){
  .container{
    width:min(94%,900px);
  }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    transition:none !important;
    animation:none !important;
  }
}
