/********** Custom CSS ************/

/* ==================== Base Styles ==================== */
body {
  font-family: 'Inter', 'Poppins', sans-serif !important;
  font-weight: 400;
  color: #222; /* modern dark gray */
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600;
}
h1, h2, h3 { font-weight: 700 !important; }
h4, h5, h6 { font-weight: 500 !important; }

/* ==================== Buttons ==================== */
.btn {
  font-weight: 600;
  padding: 10px 25px;
}
.btn-square { width: 36px; height: 36px; }
.btn-sm-square { width: 28px; height: 28px; }
.btn-lg-square { width: 46px; height: 46px; }
.btn-square, .btn-sm-square, .btn-lg-square {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ==================== Navbar ==================== */
.navbar-light .navbar-nav .nav-link {
  padding: 30px 15px;
  color: #37373F;
  font-size: 17px;
  font-weight: 500;
  font-family: 'Roboto', sans-serif;
  outline: none;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
  color: #B49C73;
}
@media (max-width: 991.98px) {
  .navbar-light .navbar-nav .nav-link { padding: 5px 0; }
}
/* Hover se dropdown khulega desktop par */
.nav-item.dropdown:hover .dropdown-menu {
  display: block;
}

/* ==================== Utility ==================== */
.icon-box {
  width: 90px; height: 90px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 90px;
}
.back-to-top {
  position: fixed; display: none;
  right: 15px; bottom: 15px; z-index: 11;
}

/* ==================== Carousel / Hero ==================== */
.carousel-caption {
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(55, 55, 63, 0.7);
  z-index: 1;
}
@media (min-width: 992px) {
  .feature-text { margin-left: -100px; }
}
.bg-page-header {
  background: linear-gradient(rgba(55,55,63,0.7), rgba(55,55,63,0.7)), 
              url(../img/carousel-2.jpg) no-repeat center center / cover;
}
.bg-appointment {
  background: linear-gradient(rgba(55,55,63,0.7), rgba(55,55,63,0.7)), 
              url(../img/carousel-1.jpg) no-repeat center center / cover;
}
.bg-action {
  background: linear-gradient(rgba(55,55,63,0.7), rgba(55,55,63,0.7)), 
              url(../img/carousel-2.jpg) no-repeat center center / cover;
}

/* ==================== Owl Carousel ==================== */
.owl-carousel .owl-nav {
  position: absolute;
  width: 100px; height: 40px;
  top: -70px; left: calc(50% - 50px);
  display: flex; align-items: center; justify-content: space-between;
}
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  color: #B49C73; background: #37373F;
  border-radius: 5px; font-size: 22px;
}

/* ==================== Team ==================== */
.team-img .team-social {
  position: absolute; width: 100%; height: 100%;
  top: 0; left: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(55, 55, 63, 0.7);
  transition: .5s; z-index: 1; opacity: 0;
}
.team-item:hover .team-social { opacity: 1; }

/* ==================== Testimonials ==================== */
.testimonial-text::after {
  position: absolute; content: "";
  width: 0; height: 0; bottom: -24px; left: 28px;
  border: 12px solid; border-color: #37373F transparent transparent transparent;
  z-index: 1;
}
.testimonial-carousel .owl-dots {
  position: absolute; width: 100%;
  top: -50px; text-align: center;
}
.testimonial-carousel .owl-dot {
  position: relative; display: inline-block;
  margin: 0 8px; width: 15px; height: 15px;
  border-radius: 15px; background: #B49C73;
}
.testimonial-carousel .owl-dot::after {
  position: absolute; content: "";
  top: -5px; right: -5px; bottom: -5px; left: -5px;
  border: 2px solid #B49C73; border-radius: 20px;
}
.testimonial-carousel .owl-dot.active { background: #343a40; }

/* ==================== Contact ==================== */
.contact-form .help-block ul {
  margin: 0; padding: 0; list-style-type: none;
}

/* ==================== Bank Slider ==================== */
.bank-slider .slider-track {
  animation: scroll 20s linear infinite;
  width: max-content;
}
@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.bank-slider img { transition: transform 0.3s; }
.bank-slider img:hover { transform: scale(1.05); }

/* ==================== Advocate Section ==================== */
.advocate-section {
  padding: 80px 0;
  background: url('/img/bg/white-simple-textured-design-background.jpg') 
              center center / cover no-repeat fixed;
}
.advocate-wrapper {
  display: flex; flex-wrap: wrap;
  align-items: center; justify-content: space-between;
  gap: 30px;
}
.advocate-text {
  flex: 1 1 50%; color: #161414;
  padding: 30px; border-radius: 10px;
}
.advocate-text h1 { margin-bottom: 20px; }
.advocate-text a {
  color: #c18f59; font-weight: bold; text-decoration: none;
}
.advocate-text a:hover { text-decoration: underline; }
.advocate-image { flex: 1 1 45%; text-align: center; }
.advocate-image .image-box {
  border: 6px solid #fff; box-shadow: 0 0 15px rgba(0,0,0,0.2);
  display: inline-block;
}
.advocate-image img { max-width: 100%; height: auto; display: block; }

/* ==================== Smart Slider ==================== */
.mySmartSlider { width: 100%; height: 100vh; position: relative; }
.mySmartSlider .swiper-slide {
  position: relative; display: flex;
  align-items: center; justify-content: center;
}
.slide-bg {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background-size: cover; background-position: center; z-index: 1;
}
.slide-overlay {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(to right, rgba(0,0,0,0.6), rgba(255,255,255,0));
  z-index: 2;
}
.slide-content {
  position: relative; z-index: 3;
  max-width: 900px; padding: 20px;
}
.swiper-button-next, .swiper-button-prev {
  color: #fff; width: 40px; height: 40px;
}
.swiper-button-next:after, .swiper-button-prev:after { font-size: 18px; }
.slide-content h4 { color: #B49C73; font-weight: 600; }
.slide-content h2 {
  color: #fff; text-shadow: 2px 2px 8px rgba(0,0,0,0.6);
}
.swiper-pagination-bullet { background: #fff; opacity: 0.8; }
.swiper-pagination-bullet-active { background: #B49C73; }

/* ==================== About / Features ==================== */
.feature-card {
  border: none; border-radius: 15px;
  background: rgba(255,255,255,0.05);
  color: #fff; transition: 0.3s;
}
.feature-card:hover {
  background: rgba(255,255,255,0.12);
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}
.icon-circle {
  width: 60px; height: 60px; border-radius: 50%;
  background: #d49a3a;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; color: #fff; flex-shrink: 0; transition: 0.3s;
}
.feature-card:hover .icon-circle { background: #fff; color: #d49a3a; }
.service-img {
  height: 450px; object-fit: cover; /* fix height for uniformity */
}
.legal-text { color: #2C2C2C; font-size: 16px; line-height: 1.6; }
.card-body .card-title { color: #ffffff; font-weight: 600; }
.card-body .card-text { color: #ffffff; }

.form-control {
  border: 1px solid #ccc;
  box-shadow: none;
  transition: all 0.3s ease-in-out;
}
.form-control:focus {
  border-color: #c18f59;
  box-shadow: 0 0 8px rgba(193, 143, 89, 0.6);
}
.btn:hover {
  background: #2f1212 !important;
}


.lawyer-img {
  display: block;
  margin: 30px auto;
  width: 100%;
  max-width: 700px;
  height: 400px;      
  object-fit: cover;   
  /* border: 5px solid #eee; */
  /* border-radius: 10px; */
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}


.enquiry-section {
  background: #f9f9f9;
  padding: 60px 0;
}

.enquiry-form {
  background: #fff;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.enquiry-form h3 {
  font-weight: 700;
  margin-bottom: 25px;
  color: #4b1e1e;
}

.btn-custom {
  background-color: #c18f59;
  border: none;
  padding: 12px 30px;
  color: #fff;
  border-radius: 50px;
  transition: all 0.3s;
}

.btn-custom:hover {
  background-color: #a97443;
}
/* ==================== About Section Fix ==================== */
.about-section-custom {
  background-color: #6d6a6a; /* warm grey-brown, gold ke saath match */
}

/* ==================== Call Section Spacing Fix ==================== */
.call-section-custom {
  margin-top: 70px;   /* About aur Call ke beech gap */
  background-color: #c18f59;
}
/* About section heading color fix */
.about-section-custom h2 {
  color: #ffffff;
}
/* Advocate About Section Background */
.about-advocate-bg {
  background: linear-gradient(
      rgba(0, 0, 0, 0.35),
      rgba(0, 0, 0, 0.35)
    ),
    url('img/bg/modern-abstract-white-minimal-background.jpg') center center / cover no-repeat;
}

/* Ensure text visibility */
.about-advocate-bg h1,
.about-advocate-bg p {
  color: #ffffff;
}
/* Footer Designer Link */
.designer-link {
  color: #c18f59;
  font-weight: 600;
  padding: 4px 10px;
  border: 1px solid rgba(193, 143, 89, 0.6);
  border-radius: 20px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.designer-link:hover {
  background-color: #c18f59;
  color: #fff;
  text-decoration: none;
}
/* Desktop hover dropdown */
@media (min-width: 992px) {
  .navbar .dropdown:hover .dropdown-menu {
    display: block;
  }
}
