/*
  Socjoi page (socjoi.php) — scoped redesign.
  Every rule is prefixed with .socjoi-page so nothing here leaks onto the
  20+ other pages that share .list-area, .solution-box, .capabilities-menu, etc.
  NOTE: unlike semsto.php, the .socjoi-page wrapper sits OUTSIDE the hero
  (.main-video-section is a descendant of .socjoi-page, not compounded with
  it), so hero rules below use plain descendant selectors — never
  `.socjoi-page.main-video-section`.
*/

/* ---------------------------------------------------------------------- */
/* 1) Bullet list fix — the shared .list-area / .explore-list rules float */
/*    the check icon and rely on the text simply wrapping under it. Once  */
/*    a line wraps, the second line starts flush left under the icon      */
/*    instead of lining up with the first line's text, which reads as     */
/*    the icon "overlapping" the paragraph.                               */
/*    NOTE: flexbox on the <li> was deliberately NOT used here. The main  */
/*    problem-list bullets wrap their text in a nested <div><strong>      */
/*    Label:</strong> ...</div>, and .explore-list items are plain text   */
/*    runs — flexbox would treat a nested block child (or split inline    */
/*    runs) as separate anonymous flex items, breaking the layout.        */
/*    Using a padding-left + absolutely-positioned ::before bullet keeps  */
/*    the <li> a normal block, so nested markup and wrapped text behave   */
/*    exactly like plain text regardless of what's inside.                */
/* ---------------------------------------------------------------------- */
.socjoi-page .list-area .list-area-block ul li{
  display: block;
  position: relative;
  padding-left: 32px;
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.65;
}
.socjoi-page .list-area .list-area-block ul li:first-child{margin-top: 0;}
.socjoi-page .list-area .list-area-block ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #E8EFFB;
  background-image: url('../img/product/socjoi-check.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}

.socjoi-page .capabilities-menu .explore-list{
  display: block;
  position: relative;
  padding-left: 28px;
  gap: 0;
  font-size: 14px;
  line-height: 1.6;
}
.socjoi-page .capabilities-menu .explore-list::before{
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #E8EFFB;
  background-image: url('../img/product/socjoi-check.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 11px;
}
.socjoi-page .capabilities-menu .exp-cap-title{font-size: 19px;}

/* ---------------------------------------------------------------------- */
/* 2) Section heading accent — a short brand-blue bar above every h2 so   */
/*    each section reads as a distinct, intentional block.                */
/* ---------------------------------------------------------------------- */
.socjoi-page .heading11 h2{position: relative;padding-top: 18px;}
.socjoi-page .heading11 h2::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 46px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--vtc-bg-main-bg-1), var(--vtc-text-pera-text-4));
}
.socjoi-page .heading11.text-center h2::before{left: 50%;transform: translateX(-50%);}

/* ---------------------------------------------------------------------- */
/* 3) Hero — richer overlay + eyebrow badge for contrast and polish.      */
/*    Descendant selectors only — see note at top of file.                */
/* ---------------------------------------------------------------------- */
.socjoi-page .main-video-section .video-overlay-main{
  background: linear-gradient(120deg, rgba(6,14,34,.82) 0%, rgba(24,88,202,.55) 55%, rgba(6,14,34,.78) 100%);
}
.socjoi-page .hero-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.35);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 18px;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.socjoi-page .hero-badge .dot{width: 7px;height: 7px;border-radius: 50%;background: #4A8AFE;box-shadow: 0 0 0 4px rgba(74,138,254,.3);}
.socjoi-page .main-video-section .section-content .title{text-shadow: 0 2px 18px rgba(0,0,0,.25);}

/* ---------------------------------------------------------------------- */
/* 4) Problem Statement / Solution grids — swap the dashed spreadsheet    */
/*    look for a soft card grid with icon badges and a hover lift.        */
/*    Border fix: the shared rule only ever set border-right/border-      */
/*    bottom (dashed), so border-top/border-left were already implicitly */
/*    "none" — but a mobile-only rule in responsive.css sets              */
/*    `border: 1px dashed #C7C7C7 !important` on all four sides, so       */
/*    border-top/border-left must be forced back to none with !important */
/*    to beat it. border-right/border-bottom are left WITHOUT !important  */
/*    so the more-specific .border-right-0 / .border-bottom-0 utility     */
/*    classes used on the grid's edge cells still win.                    */
/* ---------------------------------------------------------------------- */
.socjoi-page .solution-section-main{
  background: var(--vtc-bg-bg-white);
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(24,88,202,.08);
  overflow: hidden;
}
.socjoi-page .solution-box{
  border-top: none !important;
  border-left: none !important;
  border-right: 1px solid #ececec;
  border-bottom: 1px solid #ececec;
  padding: 34px 26px;
  transition: background-color .3s ease, transform .3s ease;
}
.socjoi-page .solution-box:hover{transform: translateY(-4px);}
.socjoi-page .solution-box .icon{
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: var(--vtc-bg-main-blue-1);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color .3s ease;
}
.socjoi-page .solution-box:hover .icon{background: var(--vtc-bg-main-bg-1);}
.socjoi-page .solution-box .icon img{max-width: 30px;max-height: 30px;transition: filter .3s ease;}
.socjoi-page .solution-box:hover .icon img{filter: brightness(0) invert(1);}
.socjoi-page .solution-box .heading2 h3{font-size: 19px;}
.socjoi-page .solution-box .heading1 p{font-size: 14.5px;line-height: 1.65;}

/* ---------------------------------------------------------------------- */
/* 5) Image columns — lift the plain SVG illustrations off the flat       */
/*    section background with a soft radial glow.                        */
/* ---------------------------------------------------------------------- */
.socjoi-page .about-img{
  position: relative;
  padding: 30px;
}
.socjoi-page .about-img::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(closest-side, rgba(24,88,202,.10), rgba(24,88,202,0) 72%);
  border-radius: 24px;
  z-index: 0;
}
.socjoi-page .about-img img{position: relative;z-index: 1;}

/* ---------------------------------------------------------------------- */
/* 6) Bottom CTA band — give the closing "Book a Discovery Call / Download */
/*    Brochure / Explore Impacts" buttons a proper stage instead of       */
/*    sitting bare on the page background.                                */
/* ---------------------------------------------------------------------- */
.socjoi-page .container.d-lg-flex.d-md-flex.d-block.justify-content-center.my-lg-5{
  background: linear-gradient(135deg, var(--vtc-bg-main-blue-1), #fff);
  border: 1px solid var(--vtc-border-border-1);
  border-radius: 20px;
  padding: 40px 24px !important;
  margin-top: 0;
  margin-bottom: 60px;
  flex-wrap: wrap;
  gap: 16px;
}

/* ---------------------------------------------------------------------- */
/* 7) Capability tab cards — slightly tighter title so the icon grid      */
/*    feels less top-heavy next to the smaller bullet text.               */
/* ---------------------------------------------------------------------- */
.socjoi-page .capabilities-menu .icon-grid .explore-tab{font-size: 14px;}

@media (max-width: 767px){
  .socjoi-page .list-area .list-area-block ul li{font-size: 14px;}
  .socjoi-page .capabilities-menu .explore-list{font-size: 13.5px;}
  .socjoi-page .heading11 h2{padding-top: 16px;}
}

/* ---------------------------------------------------------------------- */
/* 8) Problem Statement / Impact grids — 3 columns like semsto.php,        */
/*    instead of the original 2-column (col-lg-6) layout. HTML column     */
/*    classes were changed to col-lg-4 directly, but the individual       */
/*    border-right-0 / border-bottom-0 utility classes on each card were  */
/*    hand-placed for the OLD 2-column grid and are now wrong for 3       */
/*    columns. Rather than re-editing every card by hand (error-prone —   */
/*    the same mistake pattern that caused the earlier stray-border bug), */
/*    this forces the correct border on every card via !important +      */
/*    higher specificity, then strips it only on true right-edge /        */
/*    last-row cards using :nth-child position math.                      */
/*    - "Problem Statement" has 15 cards (exact multiple of 3) → last row */
/*      is simply the final 3 cards (.grid-3col).                         */
/*    - "Impact on Operations if Problems are Not Solved" has 8 cards     */
/*      (15 % 3 != 0) → the final row only has 2 cards (.grid-3col-r2).   */
/*    Scoped to >=992px (Bootstrap's lg breakpoint) so tablet/mobile keep */
/*    rendering at their original col-md-6 2-column layout, where the     */
/*    original hand-placed utility classes are still correct as-is.       */
/* ---------------------------------------------------------------------- */
@media (min-width: 992px){
  .socjoi-page .grid-3col .solution-box,
  .socjoi-page .grid-3col-r2 .solution-box{
    border-right: 1px solid #ececec !important;
    border-bottom: 1px solid #ececec !important;
  }
  .socjoi-page .grid-3col > div:nth-child(3n) .solution-box,
  .socjoi-page .grid-3col > div:last-child .solution-box,
  .socjoi-page .grid-3col-r2 > div:nth-child(3n) .solution-box,
  .socjoi-page .grid-3col-r2 > div:last-child .solution-box{
    border-right: none !important;
  }
  .socjoi-page .grid-3col > div:nth-last-child(-n+3) .solution-box{
    border-bottom: none !important;
  }
  .socjoi-page .grid-3col-r2 > div:nth-last-child(-n+2) .solution-box{
    border-bottom: none !important;
  }
}
