/* Whistleblowing WordPress Plugin landing page. */
.wbls-plugin-page {
  --wbls-navy: #082639;
  --wbls-blue: #0b6cb7;
  --wbls-light: #edf6ff;
  --wbls-orange: #ec8305;
  --wbls-line: #dce7f0;
  color: #31485a;
  font-family: Roboto, Arial, sans-serif;
}

.wbls-plugin-page * { box-sizing: border-box; }

.wbls-plugin-hero {
  overflow: hidden;
  background: linear-gradient(135deg, #f5fbff 0%, #edf6ff 60%, #fff 100%);
}

.wbls-plugin-hero .wpb_column { position: relative; z-index: 1; }

.wbls-plugin-eyebrow {
  display: inline-block;
  margin: 0 0 14px;
  color: var(--wbls-blue);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
}

.wbls-plugin-hero h1,
.wbls-plugin-page h2,
.wbls-plugin-page h3 { color: var(--wbls-navy); }

.wbls-plugin-hero h1 { letter-spacing: -.02em; }

.wbls-plugin-lead {
  max-width: 580px;
  margin: 0 0 28px;
  color: #40566a;
  font-size: 19px;
  line-height: 1.6;
}

.wbls-plugin-hero-visual img {
  filter: drop-shadow(0 18px 32px rgba(8, 38, 57, .12));
}

.wbls-plugin-section-intro {
  max-width: 740px;
  margin: 0 auto 38px;
  text-align: center;
}

.wbls-plugin-section-intro p { font-size: 17px; line-height: 1.65; }

.wbls-plugin-legal-note {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  max-width: 920px;
  margin: 0 auto;
  padding: 25px 30px;
  border: 1px solid #cfe8f8;
  border-radius: 14px;
  background: var(--wbls-light);
}

.wbls-plugin-legal-note__icon {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--wbls-blue);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.wbls-plugin-legal-note h3 { margin: 0 0 7px; font-size: 19px; }
.wbls-plugin-legal-note p { margin: 0; line-height: 1.6; }

.wbls-plugin-card-row .cesis_icon_box {
  height: 100%;
  transition: transform .2s ease, box-shadow .2s ease;
}

.wbls-plugin-card-row .cesis_icon_box:hover {
  box-shadow: 0 13px 28px rgba(8, 38, 57, .12) !important;
  transform: translateY(-4px);
}

/* The blue intro-card background is on the WPBakery column, not the icon box.
   Hover the complete card surface so its background, content, and shadow move together. */
.wbls-plugin-card-row .vc_custom_1762638601005,
.wbls-plugin-card-row .vc_custom_1762638601006,
.wbls-plugin-card-row .vc_custom_1762638601007 {
  height: 100%;
  transition: transform .22s ease, box-shadow .22s ease;
}

.wbls-plugin-card-row .vc_custom_1762638601005:hover,
.wbls-plugin-card-row .vc_custom_1762638601006:hover,
.wbls-plugin-card-row .vc_custom_1762638601007:hover {
  position: relative;
  z-index: 1;
  box-shadow: 0 15px 30px rgba(8, 38, 57, .13);
  transform: translateY(-4px);
}

.wbls-plugin-card-row .vc_custom_1762638601005 .cesis_icon_box,
.wbls-plugin-card-row .vc_custom_1762638601006 .cesis_icon_box,
.wbls-plugin-card-row .vc_custom_1762638601007 .cesis_icon_box {
  transition: none;
}

.wbls-plugin-card-row .vc_custom_1762638601005 .cesis_icon_box:hover,
.wbls-plugin-card-row .vc_custom_1762638601006 .cesis_icon_box:hover,
.wbls-plugin-card-row .vc_custom_1762638601007 .cesis_icon_box:hover {
  box-shadow: none !important;
  transform: none;
}

.wbls-plugin-featured-section { background: #f7fafc; }

.wbls-plugin-security .cesis_icon_box {
  border: 1px solid var(--wbls-line) !important;
  background: #fff !important;
}

.wbls-plugin-steps { counter-reset: wbls-step; }
.wbls-plugin-steps .wpb_column { position: relative; }

.wbls-plugin-step {
  position: relative;
  padding: 10px 14px 10px 76px;
}

.wbls-plugin-step::before {
  position: absolute;
  top: 3px;
  left: 10px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--wbls-blue);
  color: #fff;
  content: counter(wbls-step);
  counter-increment: wbls-step;
  font-size: 19px;
  font-weight: 700;
  line-height: 46px;
  text-align: center;
}

.wbls-plugin-step h3 { margin: 0 0 7px; font-size: 19px; }
.wbls-plugin-step p { margin: 0; line-height: 1.55; }

.wbls-plugin-cta {
  border-radius: 16px;
  background: var(--wbls-navy);
}

.wbls-plugin-cta h2,
.wbls-plugin-cta p { color: #fff !important; }

.wbls-plugin-cta p { font-size: 17px; line-height: 1.55; }

@media only screen and (max-width: 767px) {
  .wbls-plugin-legal-note { padding: 22px; }
  .wbls-plugin-lead { font-size: 17px; }
  .wbls-plugin-step { margin-bottom: 22px; }
}
