/* ===== BRAND COLOURS (change here to retheme whole site) ===== */
:root {
  --brand-deep: #6bbdd2;      /* shade 1: light teal */
  --brand-deeper: #2a7a96;    /* shade 2: deeper teal */
  --brand-mid: #2a7a96;       /* heading / accent teal */
  --brand-navy: #1f2a5a;      /* navy text */
  --brand-border: #d3e7ee;    /* light border */
}

/* Global Font */
.body, h1, h2, h3, h4, h5, h6, p, a, li, nav {
    font-family: 'Geologica', sans-serif !important;
}

.body{
  background-color: #f8f9fa;
}

/* Navbar */
.navbar {
  padding: 15px 0;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}

.nav-link {
  font-weight: 600;
  padding: 10px 18px !important;
}

/* Dropdown Basic Style */
.dropdown-menu {
  border-radius: 12px;
  padding: 12px 0;
  box-shadow: 0 8px 25px rgba(0,0,0,0.12);
  border: none;
  min-width: 240px;
  transition: all 0.2s ease;
}
/* Main menu link */
.navbar .nav-link {
  padding: 8px 16px;
  border-radius: 8px;
  transition: background-color 0.3s ease;
}

/* Hover highlight */
.navbar .nav-link:hover,
.navbar .nav-link.active,
.navbar .dropdown:hover > .nav-link {
  background: var(--brand-deep);
  color: #fff;
}

.dropdown-item {
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 500;
}

.dropdown-item:hover {
  background-color: #f2f4f7;
}

/* Remove default arrow */
.dropdown-toggle::after {
    display: none !important;
}

/* -------- MULTI LEVEL DROPDOWN FIX -------- */

.dropdown-submenu {
  position: relative;
}

/* nested submenu (ERPNext → Implementation etc.) */
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-left: 2px;
  display: none;
}

/* Desktop hover behaviour (992px+) */
@media (min-width: 992px) {

  /* Main dropdown open on hover */
  .dropdown:hover > .dropdown-menu {
    display: block;
  }

  /* Show nested submenu on hover */
  .dropdown-submenu:hover > .dropdown-menu {
    display: block;
  }
}

/* For mobile (click toggle) */
.dropdown-submenu > .dropdown-menu.show {
  display: block !important;
}

/* ------------------------------------------- */


/* HERO SECTION */
.left-text {
  font-family: 'Geologica', sans-serif !important;
  padding: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70vh;
  margin-top: 120px; 
}
.hero-home .left-text h1 .brand-text {
  color: var(--brand-mid);
}
.two-col-list {
  column-count: 2;
  column-gap: 40px;
  padding-left: 20px;
}

.two-col-list li {
  break-inside: avoid;   /* ek item don columns madhe tutu naye */
}

/* Request for Demo button */
.btn-custom {
  background: linear-gradient(90deg, var(--brand-deep), var(--brand-deeper));
  color: white;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  padding: 15px 40px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.3px;
  box-shadow: 0 6px 16px rgba(42, 122, 150, 0.22);
  transition: all 0.3s ease;
  display: inline-block;
}

.btn-custom:hover {
  background: linear-gradient(90deg, var(--brand-deeper), var(--brand-deep));
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(42, 122, 150, 0.32);
  color: #fff;
}
.btn-wrap {
  text-align: center;   /* button center */
  margin-top: 30px;
}

.right-image img {
  width: 80%;
  height: 70vh;
  margin-top: 120px;
  border-radius: 30px;
  object-fit: cover;
}

/* FOOTER */
.footer {
  background: #0d2048;
  color: #ccc;
  padding: 20px;
  text-align: center;
  margin-top: 40px;
}

/* Base styles */
body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    line-height: 1.6;
}

header, nav, section, footer {
    padding: 1rem;
}

img {
    max-width: 100%;
    height: auto;
}

.container {
    width: 90%;
    margin: 0 auto;
    max-width: 1200px;
}

/* Responsive styles */
@media (max-width: 1200px) {
    .container {
        max-width: 1000px;
    }
}

@media (max-width: 992px) {
    nav ul {
        display: flex;
        flex-direction: column;
        padding: 0;
    }

    nav ul li {
        margin: 0.5rem 0;
    }
}

@media (max-width: 768px) {
    header, nav, section, footer {
        padding: 0.5rem;
    }

    .container {
        width: 95%;
    }
}

@media (max-width: 576px) {
    body {
        font-size: 14px;
    }

    nav ul {
        flex-direction: column;
        align-items: center;
    }

    nav ul li {
        margin: 0.25rem 0;
    }
}


/* home page css*/

/* Service Cards */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1400px;
  margin: 40px auto 0;
  padding: 0 20px;
}

.service-card {
  background: white;
  padding: 35px;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  text-align: left;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 40px rgba(42, 122, 150, 0.22);
}

.service-card h2 {
  font-size: 1.5em;
  color: #2d3748;
  margin-bottom: 20px;
  font-weight: 600;
}

.service-card ul {
  list-style: none;
  padding: 0;
}

.service-card li {
  padding: 8px 0 8px 30px;
  position: relative;
  color: #4a5568;
  line-height: 1.6;
}

.service-card li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--brand-mid);
  font-weight: bold;
  font-size: 1.2em;
}
/* Why Choose Section */
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 25px;
  max-width: 1400px;
  margin: 40px auto 0;
  padding: 0 20px;
}

.benefit-item {
  background: white;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.benefit-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(42, 122, 150, 0.18);
}

.benefit-item strong {
  color: var(--brand-deep);
  font-size: 1.1em;
  display: block;
  margin-bottom: 8px;
}


/* Industries Grid */
.industries-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  max-width: 1000px;
  margin: 40px auto 0;
  padding: 0 20px;
}

/* Industry cards: teal gradient, reversed on hover */
.industry-item {
  display: block;
  text-decoration: none;
  background: linear-gradient(90deg, var(--brand-deep), var(--brand-deeper));
  color: #ffffff;
  border: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  box-shadow: 0 4px 12px rgba(42, 122, 150, 0.20);
  padding: 20px;
  border-radius: 12px;
  text-align: center;
  font-weight: 600;
  transition: all 0.3s ease;
}

.industry-item:hover {
  background: linear-gradient(90deg, var(--brand-deeper), var(--brand-deep));
  color: #ffffff;
  transform: scale(1.05);
  box-shadow: 0 10px 24px rgba(42, 122, 150, 0.32);
}

/* Industry cards used as links: no underline, keep white text */
a.industry-item,
a.industry-item:visited,
a.industry-item:hover,
a.industry-item:focus {
  text-decoration: none !important;
  color: #ffffff;
}


/* Footer */
footer {
  background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
  color: white;
  text-align: center;
  padding: 60px 20px 30px;
}

footer h1 {
  font-size: 2.2em;
  margin-bottom: 25px;
  color: white;
}

footer p {
  font-size: 1.1em;
  line-height: 1.8;
  max-width: 800px;
  margin: 0 auto 30px;
}

.cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin: 30px 0;
  flex-wrap: wrap;
}

.cta-btn {
  background: linear-gradient(90deg, var(--brand-deep), var(--brand-deeper));
  color: white;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  padding: 15px 40px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.3px;
  box-shadow: 0 6px 16px rgba(42, 122, 150, 0.22);
  transition: all 0.3s ease;
  display: inline-block;
}

.cta-btn:hover {
  background: linear-gradient(90deg, var(--brand-deeper), var(--brand-deep));
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(42, 122, 150, 0.32);
  color: white;
}

.footer-tagline {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 1.1em;
  font-style: italic;
}

@media (max-width: 768px) {
  .left-text h1 {
    font-size: 2em;
  }
  
  .content-section h1 {
    font-size: 1.8em;
  }
  
  .services-grid {
    grid-template-columns: 1fr;
  }
  
}


/* ===== HERO UPDATE (index page only: header.hero-home) ===== */
.hero-home {
  padding: 95px 0 10px;
}

.hero-home .container-fluid {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 2rem;
}

.hero-home .row {
  align-items: center;
}

.hero-home .left-text {
  padding: 20px 2rem 20px 3rem;
  height: auto;
  margin-top: 0;
  justify-content: flex-end;
}

.hero-home .left-text h1 {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 0.5rem;
}

.hero-home .left-text p {
  font-size: 1.3rem;
  margin-bottom: 1rem;
}

.hero-home .two-col-list li {
  font-size: 1.15rem;
  margin-bottom: 8px;
}

.hero-home .btn-wrap {
  margin-top: 20px;
}

.hero-home .right-image {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 1rem !important;
}

.hero-home .right-image img {
  width: 100%;
  height: auto;
  max-height: 520px;
  margin-top: 0;
  box-shadow: 0 15px 40px rgba(42, 122, 150, 0.25);
}

@media (max-width: 768px) {
  .hero-home { padding-top: 85px; }
  .hero-home .left-text { padding: 20px 1.5rem; justify-content: center; }
  .hero-home .right-image { padding-left: 0 !important; justify-content: center; }
}


/* ===== HOME PAGE POLISH (only body.home) ===== */
@keyframes rise {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: none; }
}
.hero-home .left-text > div { animation: rise .7s ease both; }
.hero-home .right-image img { animation: rise .8s .15s ease both; }

.home .content-section { padding: 45px 20px; }
.home .content-section.alt { background: #f6f7fb; }
.home .content-section.alt + .content-section.alt { background: #ffffff; }

.home .section-title {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
}
.home .section-title::after {
  content: "";
  display: block;
  width: 70px;
  height: 4px;
  margin: 12px auto 0;
  background: linear-gradient(135deg, var(--brand-deep), var(--brand-deeper));
  border-radius: 2px;
}

.home .services-grid,
.home .benefits-grid { margin-top: 22px; }

.home .services-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); max-width: 1600px; }
.home .service-card h2 { font-size: 1.3em; min-height: 2.6em; }

.home .benefits-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); max-width: 1600px; }
.home .benefit-item { text-align: center; border-top: 4px solid var(--brand-deep); }

/* second footer button: outlined style */
.home .cta-btn + .cta-btn {
  background: transparent;
  border: 2px solid #fff;
  padding: 13px 38px;
  box-shadow: none;
}
.home .cta-btn + .cta-btn:hover {
  background: rgba(255, 255, 255, 0.12);
}

/* scroll reveal (only when JS is on) */
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.js .reveal.visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .hero-home .left-text > div, .hero-home .right-image img { animation: none; }
  .js .reveal { opacity: 1; transform: none; transition: none; }
}

/* Saglya pages var scrollbar sarkha rahava mhanun navbar shift honar nahi */
html { overflow-y: scroll; }

/* Navbar width: home + inner pages sarkhich */
.navbar .container { max-width: 1600px; width: 94%; }

@media (max-width: 992px) {
  .hero-home .container-fluid { padding: 0 1rem; }
}


/* ===== HERO LIST: check-badge bullets ===== */
.hero-home .two-col-list {
  list-style: none;
  padding-left: 0;
  column-gap: 30px;
}

.hero-home .two-col-list li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 14px;
  line-height: 1.5;
}

.hero-home .two-col-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(42, 122, 150, 0.14);
  color: var(--brand-deep);
  font-size: 0.85rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* ===== HERO LIGHT BLUE BACKGROUND (home only) ===== */
.hero-home {
  padding: 105px 0 60px;
  background:
   #e3f4f9;
  background-size: 24px 24px, auto;
}

.hero-home .left-text h1 { color: #2d2250; }
.hero-home .left-text p { color: #4a4170; }
.hero-home .two-col-list li { color: #3b3560; }

.hero-home .right-image img {
  box-shadow: 0 22px 55px rgba(42, 122, 150, 0.30);
}

/* ===== INNER PAGES THEME (all pages except home) =====*/
body.inner {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background:
    #e3f4f9;
  background-size: 24px 24px, auto;
}

body.inner .hero { background: transparent; }

body.inner .hero .left-text h1,
body.inner .hero .left-text h2 {
  color: #2d2250;
  font-weight: 700;
  line-height: 1.15;
}
body.inner .hero .left-text p { color: #4a4170; }

/* check-badge bullets (same as home hero list) */
body.inner .hero .left-text ul {
  list-style: none;
  padding-left: 0 !important;
}
body.inner .hero .left-text li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 14px;
  line-height: 1.5;
  color: #3b3560;
}
body.inner .hero .left-text li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(42, 122, 150, 0.14);
  color: var(--brand-deeper);
  font-size: 0.85rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.inner .hero .right-image img {
  box-shadow: 0 22px 55px rgba(42, 122, 150, 0.30);
}

/* any teal-brand button / link on inner pages */
body.inner .btn-custom,
body.inner .cta-btn { color: #fff; }


/* ===== INNER PAGES: text block centred against the image, heading slightly higher ===== */
body.inner .hero:has(.right-image) {
  padding: 120px 30px 50px;       /* clears the fixed navbar */
}
body.inner .hero .row {
  align-items: center;            /* text block vertically centred with the image */
}
body.inner .hero .left-text h1,
body.inner .hero .left-text h2 {
  text-align: center;
}
body.inner .hero .left-text {
  height: auto;
  margin-top: 0;
  align-items: center;
}
body.inner .hero .left-text > div {
  transform: translateY(-25px);   /* nudge heading + text up; change this value to move more/less */
}
body.inner .hero .left-text h1 {
  padding-top: 0 !important;      /* About page had 130px inline padding */
}
body.inner .hero .right-image img {
  margin-top: 0;
}

@media (max-width: 768px) {
  body.inner .hero .left-text > div { transform: none; }
  body.inner .hero:has(.right-image) { padding: 100px 15px 30px; }
}
/* Copyright bar (all pages except home) */
.copyright-bar {
  background: #fafafa;
  color: #333333;
  text-align: center;
  font-size: 0.9rem;
  font-weight: 500;
  padding: 22px 20px;
  margin-top: auto;
  margin-bottom: 0;
  width: 100%;
  box-sizing: border-box;
  border-top: 1px solid #e1e1e1;
}
