/* ==============================================================
   CUSTOM.CSS
   Overrides & Adjustments for Logis (main.css)
   Purpose: Brand styling + layout fixes + section refinements
   ============================================================== */


/* ==============================================================
   1) VARIABLES / GLOBAL BASE (OVERRIDES TEMPLATE)
   ============================================================== */

/* NOTE: --heading-font exists in main.css; overriding it here affects all headings. */
:root {
  --bg: #0e1d34;
  --fg: #ffffff;
  --muted: #cbd5e1;
  --surface: #16325a;
  --accent: #6fd1ff;

  --heading-font: 'Poppins', system-ui;
  --body-font: 'Roboto', system-ui;
}

body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--body-font);
}

/* Global spacing (template defaults are smaller) */
.section {
  padding: 80px 0;   /* reduced from 120 */
}

.section + .section {
  margin-top: 0;     /* remove stacked spacing */
}

/* Template section-title styles are very different; keep these overrides */
.section-title {
  text-align: center;
  margin-bottom: 48px;
}

.section-title span {
  display: block;
  opacity: .8;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.section-title h2 {
  font-family: var(--heading-font);
  font-weight: 700;
}

/* Alternating section tint for rhythm */
.section.alt-bg {
  background: #142844;
}

/* Fix text colors for dark alt sections */
.section.alt-bg .section-title h2,
.section.alt-bg .section-title p,
.section.alt-bg .section-title span {
  color: #ffffff;
}

.section.alt-bg p {
  color: #dbe4f3;
}

/* Ensure light sections use the same readable colors as Features */
.light-background {
  --default-color: #0e1d34;  /* body text */
  --heading-color: #001973;  /* headings */
  --background-color: #ffffff;
  --surface-color: #ffffff;
  color: var(--default-color);
}

.light-background .section-title h2,
.light-background h2,
.light-background h3,
.light-background h4,
.light-background h5 {
  color: var(--heading-color);
}

.light-background p,
.light-background li,
.light-background span {
  color: var(--default-color);
}

/* ==============================================================
   2) HEADER / NAV (OVERRIDES TEMPLATE)
   ============================================================== */

/* Header: transparent on top, solid on scroll (upgrade-safe; main.css untouched) */
.header {
  padding: 18px 0;
  background: transparent;
}

/* Logo sizing (avoid inline styles in HTML) */
.header .logo img {
  height: 48px;
  width: auto;
}

/* When at top (not scrolled), invert dark SVG for contrast on hero */
/* disable
body:not(.scrolled) .header .logo img {
  filter: brightness(0) invert(1);
}
*/

/* On scroll, use solid header and restore logo colors */
body.scrolled .header {
  background: rgba(14, 29, 52, 0.92);
  box-shadow: 0 2px 18px rgba(0, 0, 0, 0.12);
}

body.scrolled .header .logo img {
  filter: none;
}

/* Fallback if template toggles .scrolled on .header instead of body */
.header.scrolled, .scrolled .header {
  background: rgba(14, 29, 52, 0.92);
  box-shadow: 0 2px 18px rgba(0, 0, 0, 0.12);
}

.header.scrolled .logo img, .scrolled .header .logo img {
  filter: none;
}

/* Desktop nav link color + spacing */
.navmenu a {
  color: rgba(255, 255, 255, .9);
  margin-left: 0;
}

/* Consistent spacing between nav items */
.navmenu ul li {
  margin-left: 16px;
}

/* Request a Demo button alignment fixes */
.navmenu li:last-child a.btn-getstarted {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  margin-left: 0 !important;
  padding: 10px 20px;
}

.header .btn-getstarted {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-align: center;
  font-weight: 600;
  padding: 10px 22px;
}


/* ==============================================================
   3) HERO (OVERRIDES TEMPLATE)
   ============================================================== */

.hero {
  position: relative;
  padding: 160px 0 120px;
}

.hero .hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .28;
  z-index: 1;
}

.hero .container {
  position: relative;
  z-index: 3;
}

.hero h2 {
  font-family: var(--heading-font);
  font-size: 44px;
  font-weight: 800;
  margin-bottom: 14px;
  color: #fff;
}

.hero p {
  opacity: .95;
  max-width: 680px;
  color: #e7ecf7;
}


/* ==============================================================
   4) CARDS / SURFACES (SITE LOOK)
   ============================================================== */

.card,
.feature-box,
.testimonial-item {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 12px;
}

.feature-box {
  padding: 22px;
}

.feature-box h3 {
  font-size: 22px;
  margin-top: 8px;
}


/* ==============================================================
   5) ABOUT
   ============================================================== */

/* Default (dark sections): use muted light text */
.about:not(.light-background) p {
  color: var(--muted);
}

/* If About section is set to light-background, ensure readable dark text */
.about.light-background,
.about.light-background .content {
  color: #0e1d34;
}

.about.light-background p {
  color: #334155;
}


/* ==============================================================
   6) SERVICES (OVERRIDES TEMPLATE)
   ============================================================== */

.services .card {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.services .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
}

.services .card-img img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.services .card h3 {
  font-size: 20px;
  margin: 14px 16px 8px;
  color: #ffffff;
}

.services .card p {
  margin: 0 16px 18px;
  color: #334155;
}



/* ==============================================================
   7) FEATURES (OVERRIDES TEMPLATE)
   ============================================================== */

/* Template uses 100px spacing; this reduces it. */
.features .features-item + .features-item {
  margin-top: 40px;
}

.features .features-item {
  margin-bottom: 28px;
}

.features .features-item img {
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .12);
}

.features h3 {
  font-size: 26px;
}

.features ul {
  list-style: none;
  padding-left: 0;
}

.features li {
  margin: 8px 0;
}

.feature-divider {
  border-bottom: 1px solid rgba(0, 25, 115, 0.35);
}

/* ==============================================================
   8) TESTIMONIALS (OVERRIDES TEMPLATE)
   ============================================================== */

.testimonials .testimonials-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .16; /* template has none */
}

.testimonial-item {
  padding: 22px;
}

.testimonial-img {
  border: 2px solid rgba(255, 255, 255, .25);
}

.testimonial-stars {
  color: #ffd76a;
}

/* ==============================================================
   9) FAQ (CUSTOM MARKUP: details/summary)
   ============================================================== */

#faq .faq-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding: 1rem 1rem 1rem 1.5rem; /* top right bottom left */
}

#faq summary {
  padding-left: 0.25rem;
  color: var(--accent); /* heading blue from template variables */
  font-weight: 600;
}

#faq details > p {
  margin: 0.5rem 0 0 1.5rem;
}

/* Prevent Bootstrap column padding pushing text */
#faq .col-lg-10 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* ==============================================================
   9.5) LIGHT SECTIONS (ABOUT / FEATURES / TEAM)
   ============================================================== */

/* main.css provides some defaults, but body text is white in this theme.
   Ensure light-background sections render dark text consistently. */
.light-background {
  color: #0e1d34;
}

.light-background h1,
.light-background h2,
.light-background h3,
.light-background h4,
.light-background h5,
.light-background h6 {
  color: #0e1d34;
}

.light-background p,
.light-background li,
.light-background .description {
  color: #334155;
}

/* Pillar images: fill the box without distortion */
.pillar-img-wrapper {
  height: 180px;        /* define visual image zone */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.pillar-img {
  width: 100%;
  height: 100%;
  object-fit: contain;  /* better for illustrations */
}

.team-photo {
  border-radius: 20px;
  object-fit: cover;
}

/* ==============================================================
   10) REQUEST A DEMO / GET A QUOTE (LIGHT SECTION)
   ============================================================== */

.get-a-quote {
  background: #f8f9fc;
  color: #222;
}

.get-a-quote h3,
.get-a-quote p,
.get-a-quote label {
  color: #111;
}

.get-a-quote .form-control {
  background: #fff;
  color: #111;
  border: 1px solid #d6d9e4;
}

.get-a-quote .form-control::placeholder {
  color: #6b7280;
}

.get-a-quote button {
  background: #16325a;
  color: #fff;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
}

.get-a-quote button:hover {
  background: #0f2746;
}

.quote-bg {
  background-image: url("https://cdn.finfluent.com/Assets/Bootstrap_Logis/Finfluent/img/contact-bg.jpg");
  min-height: 420px;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
}


/* ==============================================================
   11) FOOTER (OVERRIDES TEMPLATE)
   ============================================================== */

.footer {
  padding: 80px 0 40px;
  background: #0a1730;
  color: #a9b4d0;
}

.footer-logo {
  max-height: 32px;
}

/* main.css styles this as .footer .social-links a; keeping broader selector to override color */
.social-links a {
  color: #a9b4d0;
}

/* ==============================================================
   12) RESPONSIVE
   ============================================================== */


/* Mobile nav background override */
@media (max-width: 1199px) {

  .navmenu {
    background: #0e1d34; /* your dark bg */
  }

  .navmenu ul {
    background: #0e1d34;
  }

  .navmenu a {
    color: #ffffff;
  }

  .navmenu a:hover,
  .navmenu .active {
    color: #6fd1ff; /* your accent */
  }

  .mobile-nav-toggle {
    color: #ffffff;
  }
}

@media (max-width: 991px) {
  .hero {
    padding: 140px 0 100px;
  }

  .hero h2 {
    font-size: 36px;
  }
}

/* Add spacing between stacked team image + text on mobile */
@media (max-width: 767px) {
  #team .row {
    margin-bottom: 40px;
  }

  #team .col-md-5 {
    margin-bottom: 24px;
  }
}