/* --------------------------------------------------
   Vertical Tech Section – Modern UI v2
   --------------------------------------------------*/

:root {
  --vts-primary: #021048;   /* accent colour */
  --vts-bg-light: #fafafa;
  --vts-sidebar-bg: #ffffff;
  --vts-card-bg: #ffffff;
  --vts-border: #e5e7eb;    /* tailwind slate-200 */
  --vts-text: #1f2937;      /* tailwind slate-800 */
}

/* Layout -------------------------------------------------- */
.vts-wrapper {
  display: flex;
  gap: 0;
  background: var(--vts-bg-light);
  min-height: 100%;
}

/* Sidebar ------------------------------------------------- */
.vts-sidebar {
  width: 240px;
  background: var(--vts-sidebar-bg);
  border-right: 1px solid var(--vts-border);
  position: sticky;
  top: 90px;                 /* adjust if header height differs */
  max-height: calc(100vh - 90px);
  overflow-y: auto;
  box-shadow: 0 0 10px rgba(0,0,0,0.03);
  z-index: 99;
}

.vts-sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vts-sidebar li + li {
  border-top: 1px solid var(--vts-border);
}

.vts-sidebar a {
  display: block;
  padding: 14px 18px 14px 22px;
  font-size: 15px;
  color: var(--vts-text);
  text-decoration: none;
  position: relative;
  transition: background 0.25s, color 0.25s;
}

.vts-sidebar a:hover {
  background: var(--vts-bg-light);
}

/* Active + Scrollspy state */
.vts-sidebar a.is-current,
.vts-sidebar a.active {
  font-weight: 600;
  color: var(--vts-primary);
}

.vts-sidebar a.is-current::before,
.vts-sidebar a.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background: var(--vts-primary);
}

/* Content ------------------------------------------------- */
.vts-content {
  flex: 1;
  padding: 40px 50px;
}

.vts-section {
  margin-bottom: 80px;
}

.vts-section h2 {
  font-size: 34px !important;
  font-weight: 700;
  margin-bottom: 35px;
  color: var(--vts-text);
}

/* Tech Grid ---------------------------------------------- */
.vts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 32px;
}

.vts-card {
/*  background: var(--vts-card-bg);
  border: 1px solid var(--vts-border);*/
  border-radius: 12px;
  padding: 32px 20px 26px;
  text-align: center;
  transition: transform .3s ease, box-shadow .3s ease;
  text-decoration: none;
  color: var(--vts-text);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.vts-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

.vts-card img {
  width: 155px;
  height: 155px;
  object-fit: contain;
  margin-bottom: 18px;
}

.vts-card span {
  font-size: 16px;
  font-weight: 500;
}

/* Responsive tweaks -------------------------------------- */
@media(max-width: 1024px) {
  .vts-sidebar {
    width: 200px;
  }
  .vts-content {
    padding: 30px 30px;
  }
}

@media(max-width: 767px) {
  /* Collapse sidebar into accordion style */
  .vts-wrapper {
    flex-direction: column;
  }
  .vts-sidebar {
    position: relative;
    top: 0;
    width: 100%;
    max-height: none;
    border-right: none;
    border-bottom: 1px solid var(--vts-border);
  }
  .vts-sidebar a::before { display:none; }
  .vts-content {
    padding: 25px 20px;
  }
}
