/* ---------------------------------------------------------
   FLOVANTIS - Unified Stylesheet
   Version: October 2025
   ---------------------------------------------------------
   Brand Colors:
   Primary Blue: #0F5FFF
   Accent Teal:  #0ABAB5
   Dark Slate:   #202833
   Background:   #FFFFFF
   --------------------------------------------------------- */

/* GLOBAL SETTINGS */
body {
  font-family: 'Inter', sans-serif;
  color: #202833;
  background-color: #ffffff;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif;
  color: #0F5FFF;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

p {
  color: #5f6b7a;
  -webkit-font-smoothing: antialiased;
}

a {
  text-decoration: none;
}

.btn-primary {
  background-color: #0F5FFF;
  border: none;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background-color: #0ABAB5;
  color: #ffffff;
}

/* HERO SECTIONS */
.hero, .sub-hero {
  background: linear-gradient(135deg, #0F5FFF, #0ABAB5);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.hero {
  min-height: 85vh;
}

.sub-hero {
  min-height: 55vh;
}

.hero h1, .sub-hero h1 {
  color: #ffffff;
  text-shadow: none;
}

.hero p, .sub-hero p {
  color: #ffffff;
  max-width: 700px;
  margin: 0 auto;
  text-shadow: none;
}

/* SECTIONS */
section h2 {
  color: #0F5FFF;
  margin-bottom: 1rem;
  font-weight: 600;
}

section p {
  color: #5f6b7a;
}

/* ACCORDION (Quick Wins Page) */
.accordion-button {
  background-color: #f8f9fa;
  color: #0F5FFF;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
}

.accordion-button:focus {
  box-shadow: none;
}

.accordion-button:not(.collapsed) {
  background-color: #0F5FFF;
  color: #ffffff;
}

.accordion-body {
  background-color: #ffffff;
  font-size: 1rem;
  line-height: 1.6;
  text-align: left;
  color: #333;
}

.accordion-item {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 10px;
  border: 1px solid #dee2e6;
}

/* BUTTONS */
.btn-outline-primary {
  border: 2px solid #0F5FFF;
  color: #0F5FFF;
  font-weight: 600;
  transition: all 0.3s ease;
}

.btn-outline-primary:hover {
  background-color: #0F5FFF;
  color: #ffffff;
}

/* SERVICE CARDS (Technology Solutions) */
.service-card {
  border-radius: 15px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.service-card img {
  height: 220px;
  object-fit: cover;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}

.service-card .card-body {
  text-align: left;
  padding: 1.5rem;
}

.service-card p {
  font-size: 0.95rem;
  line-height: 1.5;
}

/* CTA SECTIONS (Hero Bottoms) */
.bg-primary {
  background-color: #0F5FFF !important;
}

.bg-primary h2,
.bg-primary p {
  color: #ffffff !important;
  text-shadow: none;
  opacity: 1;
  filter: none;
  -webkit-font-smoothing: antialiased;
}

.cta-section {
  padding-top: 5rem;
  padding-bottom: 6rem;
  text-align: center;
}

.cta-section h2 {
  font-weight: 700;
  color: #ffffff !important;
}

.cta-section p {
  color: #ffffff !important;
  font-size: 1.2rem;
}


/* RESPONSIVE DESIGN */
@media (max-width: 992px) {
  .hero h1, .sub-hero h1 {
    font-size: 2.3rem;
  }

  .hero p, .sub-hero p {
    font-size: 1rem;
    padding: 0 1rem;
  }

  .accordion-body {
    font-size: 0.95rem;
  }

  .service-card img {
    height: 180px;
  }
}

@media (max-width: 576px) {

  .hero {
    min-height: 80vh;
  }

  .sub-hero {
    min-height: 60vh;
  }

  .btn {
    padding: 0.7rem 1.5rem;
  }

  .card-body p {
    font-size: 0.95rem;
  }

}


/* ===== Technology Solutions Section ===== */

/* Increase visual prominence */
.tech-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tech-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

/* Make images more impactful */
.tech-card img {
  height: 220px;
  object-fit: cover;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

/* Card text adjustments */
.tech-card .card-body {
  padding: 1.5rem;
  text-align: left;
}

.tech-card h5 {
  font-weight: 600;
  color: #0f5fff;
}

.tech-card p {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.5;
}

/* Layout tweaks for larger cards */
@media (min-width: 992px) {
  /* On laptops/desktops, two cards per row */
  .tech-card {
    min-height: 100%;
  }
}

@media (max-width: 991px) and (min-width: 768px) {
  /* On tablets: two per row still fine */
  .tech-card img {
    height: 200px;
  }
}

@media (max-width: 767px) {
  /* On mobile: one card per row */
  .tech-card img {
    height: 180px;
  }
  .tech-card .card-body {
    text-align: center;
  }
}


/* -----------------------------
   Flovantis Schedule a Call Button (Orange Version)
   ----------------------------- */

.flovantis-btn {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  background-color: #ea8000; /* Primary orange */
  border: none;
  border-radius: 50px;
  text-decoration: none;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}

/* Hover / Focus */
.flovantis-btn:hover,
.flovantis-btn:focus {
  background-color: #ff9b26; /* lighter orange on hover */
  color: #ffffff;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
  transform: translateY(-2px);
}

/* Optional: make it pop on dark backgrounds */
.dark-bg .flovantis-btn {
  box-shadow: 0 4px 10px rgba(255, 255, 255, 0.15);
}

/* Optional: pressed / active state */
.flovantis-btn:active {
  transform: translateY(0);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}


/* -----------------------------
   Flovantis Full-Width CTA Button
   ----------------------------- */
.flovantis-btn-full {
  display: inline-block;
  width: 100%;
  background-color: #ea8000;
  color: #ffffff;
  border: none;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.75rem 1.75rem;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}

.flovantis-btn-full:hover,
.flovantis-btn-full:focus {
  background-color: #ff9b26;
  color: #ffffff;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
  transform: translateY(-2px);
}

.flovantis-btn-full:active {
  transform: translateY(0);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}


/* =========================================
   CXO-THEMED HOMEPAGE REDESIGN (2025)
   ========================================= */

/* Hero Section (Top) */
/*
.hero-cxot {
  background: url('../images/cxot1.png') center/cover no-repeat;
  min-height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;
  position: relative;
}
.hero-cxot::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.65) 100%);
  z-index: 1;
}
.hero-cxot .container {
  position: relative;
  z-index: 2;
}
.hero-cxot h1 {
  color: #ffffff;
  text-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
.hero-cxot p {
  color: #eaf2ff;
  font-size: 1.1rem;
  max-width: 700px;
  margin: 0 auto 1.5rem;
}

 */

.hero-cxot {
  background: linear-gradient(135deg, #0F5FFF, #0ABAB5); /* Replaces cxot1.png with brand gradient */
  min-height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;
  position: relative;
}
.hero-cxot::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.6) 100%);
  z-index: 1;
}
.hero-cxot .container {
  position: relative;
  z-index: 2;
}
.hero-cxot h1 {
  color: #ffffff;
  text-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
.hero-cxot p {
  color: #eaf2ff;
  font-size: 1.1rem;
  max-width: 700px;
  margin: 0 auto 1.5rem;
}


/* Services Preview Section (3 Cards, cxot2.png background) */
/*
.services-preview {
  background: url('../images/cxot2.png') center/cover no-repeat;
  background-attachment: fixed;
  color: #202833;
  position: relative;
}
.services-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.9);
}
.services-preview .container {
  position: relative;
  z-index: 2;
}

*/

.services-preview {
  background: linear-gradient(135deg, #f3f6ff 0%, #ffffff 100%); /* Replaces cxot2.png with a soft brand gradient */
  background-attachment: fixed;
  color: #202833;
  position: relative;
}

.services-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.9);
}

.services-preview .container {
  position: relative;
  z-index: 2;
}


/* ==========================================
   Enhanced Service Cards with Images
   ========================================== */
.service-card-cxot.enhanced {
  border: 1px solid #e0e5ec;
  transition: all 0.3s ease;
  background-color: #ffffff;
  border-radius: 1rem;
}

.service-card-cxot.enhanced:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
  border-color: #0f5fff;
}

.service-card-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  transition: transform 0.3s ease;
}

.service-card-cxot.enhanced:hover .service-card-img {
  transform: scale(1.05);
}

@media (min-width: 992px) {
  .service-card-cxot.enhanced {
    min-height: 520px; /* Bigger cards on desktop */
  }
}

@media (max-width: 991px) {
  .service-card-img {
    height: 200px;
  }
}

@media (max-width: 576px) {
  .service-card-img {
    height: 180px;
  }
}


.service-card-cxot {
  background-color: #ffffff;
  border: 1px solid #e3e7ed;
  transition: all 0.3s ease;
}
.service-card-cxot:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
  border-color: #0f5fff;
}
.service-card-cxot h5 {
  color: #0f5fff;
}
.service-card-cxot p {
  color: #5f6b7a;
  font-size: 0.97rem;
}
.service-card-link {
  color: inherit;
}

/* Adjust hero on small screens */
@media (max-width: 768px) {
  .hero-cxot {
    min-height: 65vh;
    background-position: top center;
  }
  .services-preview {
    background-attachment: scroll;
  }
}


/* ===================================================
   HERO SPLIT SECTION (CXO Tribune–style layout)
   =================================================== */
.hero-split {
  background-color: #f3f3ff; /* soft lavender tint */
  color: #202833;
  margin-top: 2rem; /* adds breathing room below the navbar section */
}

.hero-split h1 {
  font-family: 'Poppins', sans-serif;
  color: #0f5fff;
}

.hero-split p.lead {
  font-size: 1.1rem;
  color: #333;
  max-width: 600px;
}

.hero-split .numbered-list {
  counter-reset: flovantis-counter;
  list-style: none;
  padding-left: 0;
}

.hero-split .numbered-list li {
  counter-increment: flovantis-counter;
  margin-bottom: 0.8rem;
  position: relative;
  padding-left: 2rem;
  font-size: 1rem;
  color: #333;
}

.hero-split .numbered-list li::before {
  content: counter(flovantis-counter) ".";
  position: absolute;
  left: 0;
  color: #333; /* Flovantis orange accent */
  font-weight: 700;
}

.hero-img-wrapper {
  width: 85%;
  max-width: 420px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  /* border: 6px solid #6a2cf3;  purple border */
  border: 6px solid #0f5fff; /* purple border */
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
}

.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  /*
  .hero-split {
    text-align: center;
  }
  */

  .hero-img-wrapper {
    margin: 2rem auto 0;
  }
  .hero-split .numbered-list li {
    padding-left: 0;
  }
  .hero-split .numbered-list li::before {
    position: static;
    margin-right: 0.5rem;
  }
}



/* -----------------------------------
   Secondary Offerings (De-emphasized)
   ----------------------------------- */
.secondary-card {
  background-color: #ffffff;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.secondary-card:hover {
  transform: translateY(-3px);
  border-color: #0f5fff;
}
.secondary-card-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
@media (max-width: 768px) {
  .secondary-card-img {
    height: 150px;
  }
}


/* ---------------------------------
   What Makes Us Stand Out Section
-----------------------------------*/
.stand-out-list li {
  margin-bottom: 1.25rem;
  font-size: 1rem;
  line-height: 1.5;
}
.stand-out-list i {
  color: #0f5fff;
  font-size: 1.2rem;
  vertical-align: middle;
}
.stand-out-list strong {
  color: #0f5fff;
  font-weight: 600;
}
.stand-out-list span {
  display: block;
  margin-left: 1.6rem;
  color: #5f6b7a;
  font-size: 0.95rem;
}
.stand-out-img {
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* ---------------------------------
   ScaleThroughAutomation Section
-----------------------------------*/
.philosophy-section {
  /* Soft diagonal gradient from Flovantis blue to light gray */
  background: linear-gradient(135deg, #f3f6ff 0%, #e9efff 50%, #ffffff 100%);
  color: #202833;
}
.philosophy-section p {
  font-size: 1.1rem;
  line-height: 1.7;
}
.philosophy-section strong {
  color: #0f5fff;
}

/* ---------------------------------
   Responsive Adjustments
-----------------------------------*/
@media (max-width: 992px) {
  .stand-out-list {
    text-align: left;
    padding: 0 1rem;
  }
}
@media (max-width: 768px) {
  .stand-out-list li {
    margin-bottom: 1rem;
  }
  .stand-out-list i {
    font-size: 1rem;
  }
  .stand-out-img {
    max-width: 85%;
  }
  .philosophy-section p {
    font-size: 1rem;
  }
}
@media (max-width: 576px) {
  .stand-out-img {
    max-width: 90%;
  }
}


/* ---------------------------------
   What Makes Us Stand Out Section (Enhanced)
-----------------------------------*/
.stand-out-list li {
  margin-bottom: 1.4rem;
  font-size: 1rem;
  line-height: 1.6;
  position: relative;
  padding-left: 2.2rem;
}

.stand-out-list i {
  position: absolute;
  left: 0;
  top: 0.3rem;
  font-size: 1.3rem;
  color: #0f5fff;
}

.stand-out-list strong {
  color: #202833; /* dark gray for headings */
  font-weight: 600;
}

.stand-out-list span {
  display: block;
  margin-top: 0.2rem;
  color: #5f6b7a;
  font-size: 0.95rem;
}

/* Icon color variants (subtle) */
.icon-proven { color: #0f5fff; }      /* Blue for credibility */
.icon-ai { color: #0abab5; }          /* Teal for intelligence */
.icon-endtoend { color: #ea8000; }    /* Orange for completeness */
.icon-custom { color: #6a2cf3; }      /* Purple for scalability */
.icon-support { color: #198754; }     /* Green for reliability */

/* Responsive tweaks */
@media (max-width: 768px) {
  .stand-out-list li {
    padding-left: 1.8rem;
  }
  .stand-out-list i {
    font-size: 1.1rem;
  }
}
/*
    .tech-logo {
      background: #fff;
      border: 1px solid #e1e6f0;
      border-radius: 0.75rem;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100px;
      transition: transform 0.25s ease, box-shadow 0.25s ease;
      padding: 0.75rem;
    }
    .tech-logo:hover {
      transform: translateY(-4px);
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    }
    .tech-logo img {
      max-height: 38px;
      object-fit: contain;
    }
    .tech-fallback {
      color: #0f5fff;
      font-weight: 600;
      font-size: 1rem;
      text-align: center;
    }
*/

.tech-logo {
  background: #fff;
  border: 1px solid #e1e6f0;
  border-radius: 0.75rem;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.tech-logo:hover {
  border-color: #0f5fff;
  box-shadow: 0 4px 14px rgba(15,95,255,0.12);
  transform: none !important; /* prevents movement */
}

.tech-logo img {
  max-height: 38px;
  object-fit: contain;
}

.tech-fallback {
  color: #0f5fff;
  font-weight: 600;
  font-size: 0.95rem;
  text-align: center;
}

h4.fw-semibold.text-primary {
  margin-top: 3rem;
}

.text-muted.small {
  font-size: 0.9rem;
  max-width: 800px;
  margin: 0 auto;
}
