/* ==================================================
   ROOT + GLOBAL (THEME DRIVEN)
================================================== */
:root{
  --radius: 999px;
}

body{
  background:var(--body-bg);
  color:var(--body-text);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  line-height:1.6;
}

h1,h2,h3,h4,h5,h6{
  color:var(--heading-text);
  font-weight:700;
}

/* ==================================================
   TOP BAR
================================================== */
.topbar{
  background:var(--topbar-bg);
  color:var(--topbar-text);
  font-size:13px;
  padding:6px 0;
}

.topbar i{
  margin-right:6px;
}

/* ==================================================
   NAVBAR (BASE – DESKTOP SAFE)
================================================== */
.navbar{
  background:var(--navbar-bg);
  padding:14px 0;
  transition:all .35s ease;
  z-index:1000;
}

.navbar.scrolled{
  background:var(--navbar-scrool-bg);
  box-shadow:0 8px 26px rgba(0,0,0,.15);
}

.logo{
  height:var(--logo_size);
  max-height:140px;
  width:auto;
}

/* ==================================================
   NAV LINKS (DESKTOP)
================================================== */
.navbar .nav-link{
  color:var(--navbar-text);
  font-weight:500;
  padding:8px 18px;
  margin:0 4px;
  border-radius:var(--radius);
  transition:all .3s ease;
}

.navbar .nav-link:hover{
  background:var(--navbar-hover-bg);
  color:var(--navbar-hover-text, var(--navbar-text));
}

.navbar .nav-link.active{
  background:linear-gradient(135deg,var(--navbar-active-bg));
  color:var(--navbar-active-text, #fff) !important;
  font-weight:600;
  box-shadow:0 6px 16px rgba(0,0,0,.25);
}

/* ==================================================
   CTA BUTTON
================================================== */
.btn-enquire{
  padding:9px 24px;
  border-radius:var(--radius);
  font-weight:600;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff !important;
  border:none;
  box-shadow:0 8px 22px rgba(0,0,0,.25);
  transition:.3s;
}

.btn-enquire:hover{
  transform:translateY(-2px);
}

/* ==================================================
   NAVBAR TOGGLER
================================================== */
.navbar-toggler{
  border:none;
}

.navbar-toggler:focus{
  box-shadow:none;
}

.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(28,140,84,0.9)' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* ==================================================
   MOBILE MENU (THEME SAFE – FIXED)
================================================== */
@media (max-width:991px){

  .navbar{
    background:var(--navbar-bg);
    padding:10px 0;
  }

  .navbar-collapse{
    margin-top:14px;
    background:var(--card-bg);
    padding:18px;
    border-radius:20px;
    border:1px solid var(--border-color);
    box-shadow:0 20px 40px rgba(0,0,0,.15);
    animation:slideDown .3s ease;
  }

  .navbar-nav{
    gap:10px;
  }

  .navbar .nav-link{
    width:100%;
    padding:14px 18px;
    margin:0;
    border-radius:14px;
    background:transparent;
    color:var(--body-text);
    font-weight:600;
  }

  .navbar .nav-link:hover{
    background:var(--navbar-hover-bg);
    color:var(--body-text);
  }

  .navbar .nav-link.active{
    background:linear-gradient(135deg,var(--navbar-active-bg));
    color:var(--navbar-active-text, #fff);
  }

  .btn-enquire{
    width:100%;
    text-align:center;
    margin-top:12px;
  }
}


  /* ==================================================
   FLOATING ACTION BUTTONS (THEME BASED)
================================================== */
.floating-actions{
  position:fixed;
  right:18px;
  bottom:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:9999;
}

.fab{
  width:52px;
  height:52px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  border:none;
  cursor:pointer;
  text-decoration:none;
  color:#fff;
  box-shadow:0 12px 26px rgba(0,0,0,.25);
  transition:.3s ease;
}

/* WhatsApp */
.fab-whatsapp{
  background:#25D366;
}

/* Chat */
.fab-chat{
  background:linear-gradient(135deg,var(--primary),var(--accent));
}

/* Scroll To Top */
.fab-top{
  background:var(--navbar-bg);
  color:var(--navbar-text);
  display:none;
}

/* Hover */
.fab:hover{
  transform:translateY(-4px);
}

/* Mobile size */
@media(max-width:768px){
  .fab{
    width:48px;
    height:48px;
    font-size:20px;
  }
}
/* ==================================================
   HERO SLIDER
================================================== */
.hero-slider,
.hero-slider .carousel-item{
  height:80vh;
  position:relative;
}

.hero-slider img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Overlay */
.hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:1;
}

/* Caption */
.hero-caption{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  color:#fff;
  padding:20px;
}

/* CTA */
.btn-hero{
  margin-top:22px;
  padding:12px 34px;
  border-radius:var(--radius);
  font-weight:600;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.35);
  transition:.3s;
}

.btn-hero:hover{
  transform:translateY(-3px);
}

/* ==================================================
   SLIDER TEXT ANIMATION
================================================== */
.animate-text{
  opacity:0;
  transform:scale(.95) translateY(20px);
  animation:fadeZoom 1s ease forwards;
}

.delay-1{animation-delay:.4s}
.delay-2{animation-delay:.8s}

.carousel-item:not(.active) .animate-text{
  animation:none;
  opacity:0;
}

@keyframes fadeZoom{
  to{
    opacity:1;
    transform:none;
  }
}

/* ==================================================
   PAGE HEADER + SECTIONS
================================================== */
.page-header{
  padding:70px 0;
  background:var(--body-bg);
  border-bottom:1px solid var(--border-color);
}

.section{
  padding:80px 0;
}

/* ==================================================
   CARDS
================================================== */
.card-modern{
  background:var(--card-bg);
  border-radius:20px;
  border:1px solid var(--border-color);
  transition:.4s;
}

.card-modern:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 48px rgba(0,0,0,.18);
}

/* ==================================================
   FOOTER
================================================== */
.footer{
  background:var(--footer-bg);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--footer-text);
  padding:70px 0 40px;
}

.footer h5{
  color:var(--footer-text);
}

.footer a{
  color:rgba(255,255,255,.85);
  text-decoration:none;
}

.footer-bottom{
  text-align:center;
  font-size:14px;
  opacity:.85;
  padding-top:20px;
}

/* ==================================================
   ANIMATIONS
================================================== */
@keyframes slideDown{
  from{
    opacity:0;
    transform:translateY(-10px);
  }
  to{
    opacity:1;
    transform:none;
  }
}
