/* =========================================================
   assets/css/signal-detection.css
   Page: Signal Detection
   - ONLY dv-sd-* unique classes
   - Does NOT affect other pages
   - FIXED: centered hero + breadcrumbs, no empty right space,
            no overlap issues, no duplicate blocks
========================================================= */

/* ✅ Some templates hide WOW content */
.wow { visibility: visible !important; opacity: 1 !important; }

.dv-sd-page{
  --dv-sd-bg: #f6fbfa;
  --dv-sd-white: #ffffff;
  --dv-sd-ink: #122423;
  --dv-sd-muted: #5b6f6f;

  --dv-sd-brand: #29b88b;
  --dv-sd-brand-2: #16a57a;

  --dv-sd-line: rgba(16, 80, 68, .14);
  --dv-sd-shadow: 0 18px 50px rgba(16, 80, 68, .14);
  --dv-sd-shadow-soft: 0 10px 30px rgba(16, 80, 68, .10);

  --dv-sd-radius-lg: 22px;
  --dv-sd-radius-md: 16px;
}

.dv-sd-page *{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =========================================================
   HERO (FIXED CENTER ALIGN + CLEAN REFERENCE STYLE)
========================================================= */

.dv-sd-page .page-title-area.dv-sd-hero{
  position: relative !important;
  min-height: 560px !important;
  padding: 170px 0 135px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #061b17 !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  isolation: isolate !important;
}

/* Background image */
.dv-sd-page .page-title-area.dv-sd-hero > img,
.dv-sd-page .page-title-area.dv-sd-hero .dv-sd-hero__img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  z-index: 0 !important;
  transform: scale(1.03) !important;
  filter: saturate(1.05) contrast(1.06) !important;
}

/* Overlay */
.dv-sd-page .page-title-area.dv-sd-hero::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    radial-gradient(900px 480px at 50% 38%,
      rgba(41,184,139,.12) 0%,
      rgba(6,27,23,.72) 50%,
      rgba(6,27,23,.92) 100%
    ),
    linear-gradient(180deg,
      rgba(6,27,23,.88) 0%,
      rgba(6,27,23,.66) 45%,
      rgba(6,27,23,.90) 100%
    ) !important;
}

/* Content above overlay */
.dv-sd-page .page-title-area.dv-sd-hero .container,
.dv-sd-page .page-title-area.dv-sd-hero .page-title-content,
.dv-sd-page .dv-sd-hero__container,
.dv-sd-page .dv-sd-hero__content{
  position: relative !important;
  z-index: 2 !important;
}

/* ✅ Perfect centered content (NO right padding push) */
.dv-sd-page .dv-sd-hero__content{
  width: 100% !important;
  text-align: center !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 22px !important;
}

/* ---------- TOP PILL ("Services") ---------- */
.dv-sd-page .dv-sd-hero__content::before{
  content: "Services" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  padding: 10px 18px !important;
  border-radius: 999px !important;
  margin-bottom: 18px !important;

  color: rgba(255,255,255,.95) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: .2px !important;

  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important;

  backdrop-filter: blur(14px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.05) !important;

  box-shadow:
    0 18px 45px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

/* ✅ Title */
.dv-sd-page .page-title-area.dv-sd-hero .page-title-content h2,
.dv-sd-page .dv-sd-hero__title{
  color: #ffffff !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.08 !important;
  font-size: clamp(34px, 3.3vw, 56px) !important;
  margin: 0 0 18px !important;
  text-shadow: 0 14px 42px rgba(0,0,0,.42) !important;
}

/* ✅ Breadcrumb bar (center, single rounded bar) */
.dv-sd-page .page-title-area.dv-sd-hero .page-title-content ul,
.dv-sd-page .dv-sd-hero__crumbs{
  margin: 0 auto !important;
  padding: 12px 18px !important;
  list-style: none !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;

  border-radius: 999px !important;
  background: rgba(0,0,0,.30) !important;
  border: 1px solid rgba(255,255,255,.14) !important;

  backdrop-filter: blur(16px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.1) !important;

  box-shadow:
    0 18px 45px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

/* Breadcrumb items */
.dv-sd-page .page-title-area.dv-sd-hero .page-title-content ul li,
.dv-sd-page .dv-sd-hero__crumbs li{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: rgba(255,255,255,.90) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .1px !important;
}

/* Separator dot */
.dv-sd-page .page-title-area.dv-sd-hero .page-title-content ul li:not(:last-child)::after,
.dv-sd-page .dv-sd-hero__crumbs li:not(:last-child)::after{
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: rgba(41,184,139,.95) !important;
  box-shadow: 0 0 0 6px rgba(41,184,139,.10) !important;
  margin-left: 8px !important;
  opacity: .95 !important;
}

/* Links */
.dv-sd-page .page-title-area.dv-sd-hero .page-title-content ul li a,
.dv-sd-page .dv-sd-hero__crumbs a{
  color: rgba(255,255,255,.92) !important;
  text-decoration: none !important;
  transition: opacity .2s ease !important;
}

.dv-sd-page .page-title-area.dv-sd-hero .page-title-content ul li a:hover,
.dv-sd-page .dv-sd-hero__crumbs a:hover{
  opacity: .82 !important;
}

/* Active item highlight */
.dv-sd-page .page-title-area.dv-sd-hero .page-title-content ul li.active,
.dv-sd-page .dv-sd-hero__crumbs li.active{
  color: #7ef4cf !important;
  background: rgba(41,184,139,.16) !important;
  border: 1px solid rgba(41,184,139,.28) !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
}

/* =========================================================
   MAIN SECTION
========================================================= */
.dv-sd-section{
  background: linear-gradient(180deg, var(--dv-sd-bg), #ffffff);
}

.dv-sd-section__container{
  position: relative;
}

.dv-sd-media{
  border-radius: var(--dv-sd-radius-lg);
  overflow: hidden;
  box-shadow: var(--dv-sd-shadow);
  border: 1px solid var(--dv-sd-line);
  background: #fff;
}

.dv-sd-media__img{
  width: 100%;
  height: auto;
  display: block;
}

.dv-sd-copy{
  background: #fff;
  border: 1px solid var(--dv-sd-line);
  border-radius: var(--dv-sd-radius-lg);
  box-shadow: var(--dv-sd-shadow-soft);
  padding: 34px 34px;
}

.dv-sd-copy__title{
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--dv-sd-ink);
  margin: 0 0 12px;
}

.dv-sd-copy__lead{
  color: var(--dv-sd-ink);
  margin-bottom: 14px;
}

.dv-sd-copy__text{
  color: var(--dv-sd-muted);
  line-height: 1.75;
  margin-bottom: 12px;
  font-size: 15.5px;
}

.dv-sd-copy__text strong{
  color: var(--dv-sd-ink);
}

/* =========================================================
   CTA (subscribe)
========================================================= */
.dv-sd-cta{
  background: transparent;
}

.dv-sd-cta__card{
  border-radius: var(--dv-sd-radius-lg);
  overflow: hidden;
  box-shadow: var(--dv-sd-shadow);
  border: 1px solid rgba(255,255,255,.22);
  position: relative;
}

.dv-sd-cta__content{
  padding-right: 12px;
}

.dv-sd-cta__title{
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
}

.dv-sd-cta__sub{
  opacity: .95;
  margin: 0;
}

.dv-sd-cta__btn{
  border-radius: 14px !important;
  padding: 14px 20px !important;
  font-weight: 800 !important;
  letter-spacing: .2px;
  box-shadow: 0 16px 30px rgba(0,0,0,.18);
}

.dv-sd-cta__shape{
  opacity: .45;
}


/* =========================================================
   Responsive HERO
========================================================= */
@media (max-width: 991px){
  .dv-sd-page .page-title-area.dv-sd-hero{
    min-height: 440px !important;
    padding: 145px 0 105px !important;
  }

  .dv-sd-copy{
    margin-top: 18px;
    padding: 26px 22px;
  }
}

@media (max-width: 576px){
  .dv-sd-page .page-title-area.dv-sd-hero{
    min-height: 390px !important;
    padding: 130px 0 92px !important;
  }

  .dv-sd-page .dv-sd-hero__content::before{
    padding: 9px 16px !important;
    font-size: 12px !important;
    margin-bottom: 14px !important;
  }

  .dv-sd-page .dv-sd-hero__crumbs,
  .dv-sd-page .page-title-area.dv-sd-hero .page-title-content ul{
    border-radius: 18px !important;
    padding: 10px 14px !important;
  }
}
/* =========================================================
   BREADCRUMB DOT FIX – REMOVE EXTRA GREEN DOTS
========================================================= */

/* 1️⃣ Remove dot for ACTIVE breadcrumb */
.dv-sd-page .dv-sd-hero__crumbs li.active::after{
  display: none !important;
}

/* 2️⃣ Remove dot BEFORE active item (Services → Signal Detection case) */
.dv-sd-page .dv-sd-hero__crumbs li:has(+ li.active)::after{
  display: none !important;
}

/* 3️⃣ Ensure normal dots only appear between non-active items */
.dv-sd-page .dv-sd-hero__crumbs li:not(:last-child):not(.active)::after{
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: rgba(41,184,139,.95) !important;
  box-shadow: 0 0 0 6px rgba(41,184,139,.10) !important;
  margin-left: 8px !important;
}
/* =========================================================
   HERO – REMOVE TOP & BOTTOM WHITE GAPS
========================================================= */

/* Remove body spacing bleed */
.dv-sd-page{
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

/* Hero must sit under fixed navbar */
.dv-sd-page .page-title-area.dv-sd-hero{
  margin-top: 0 !important;
  padding-top: calc(160px + 20px) !important; /* navbar-safe */
}
/* =========================================================
   assets/css/signal-detection.css
   Page: Signal Detection (Hero same as Literature Screening)
   - UNIQUE dv-sd-* classes only
   - Fixes: hero height, overlay, breadcrumb dots, no gaps,
            marketplace button overlap safe spacing
========================================================= */

/* Some templates hide wow elements */
.wow{
  visibility: visible !important;
  opacity: 1 !important;
}

/* =========================================================
   1) HERO
========================================================= */
.page-title-area.dv-sd-hero{
  background: none !important;
  position: relative;
  overflow: hidden;
  padding: 170px 0 95px !important; /* same style as literature */
  min-height: 420px;
  display: flex;
  align-items: center;
}

/* background image layer */
.page-title-area.dv-sd-hero .dv-sd-hero__bg{
  position: absolute;
  inset: 0;
  z-index: 0;

  background-image: url("../images/services/signal-detection-hero.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;

  transform: scale(1.02);
  filter: saturate(1.05) contrast(1.02) brightness(.95);
  will-change: transform;
}

/* overlay */
.page-title-area.dv-sd-hero .dv-sd-hero__bg::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    180deg,
    rgba(9,16,18,.70) 0%,
    rgba(9,16,18,.65) 45%,
    rgba(9,16,18,.75) 100%
  );
  pointer-events:none;
}

/* subtle brand glow */
.page-title-area.dv-sd-hero .dv-sd-hero__bg::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px 320px at 20% 25%, rgba(41,184,139,.22), transparent 62%),
    radial-gradient(700px 320px at 85% 35%, rgba(255,255,255,.08), transparent 62%);
  pointer-events:none;
}

/* content wrapper */
.page-title-area.dv-sd-hero .dv-sd-hero__content{
  position: relative;
  z-index: 2;
  max-width: 950px;
  margin: 0 auto;
  text-align: center;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

/* badge */
.dv-sd-hero__badge{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(0,0,0,.50);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .2px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.dv-sd-hero__badge i{
  color: #29b88b;
  font-size: 14px;
}

/* title */
.dv-sd-hero__title{
  margin: 0;
  font-size: clamp(34px, 3.2vw, 54px);
  line-height: 1.08;
  color: #fff !important;
  letter-spacing: -0.6px;
  text-shadow: 0 10px 25px rgba(0,0,0,.45);
  padding: 0 12px;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* breadcrumb pill */
.dv-sd-hero__breadcrumb{
  list-style: none;
  padding: 10px 14px !important;
  margin: 8px auto 0;
  display: inline-flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(0,0,0,.50);
  border: 1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  max-width: 90%;
}

/* breadcrumb items */
.dv-sd-hero__breadcrumb li{
  color: rgba(255,255,255,.95);
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

/* ✅ FIX: remove the "double dot issue" completely */
.dv-sd-hero__breadcrumb li::before{
  content: none !important;
}
.dv-sd-hero__breadcrumb li + li::before{
  content: "›" !important;
  font-size: 14px;
  line-height: 1;
  opacity: .75;
  color: rgba(255,255,255,.70);
}

.dv-sd-hero__breadcrumb a{
  color:#fff !important;
  text-decoration:none;
  font-weight: 800;
  transition: color .25s ease;
}
.dv-sd-hero__breadcrumb a:hover{
  color: #29b88b !important;
}
.dv-sd-hero__breadcrumb li.active{
  color: #29b88b !important;
  font-weight: 900;
}

/* =========================================================
   3
