/* ===================================== */
/*            RESUME SECTION             */
/* ===================================== */

.timeline-line {
  border-left: 3px solid rgba(214, 162, 74, 0.28);
  padding-left: 1.05rem;
}

.timeline-item {
  margin-bottom: 1.5rem;
  position: relative;
}

.timeline-item::before {
  background: var(--highlight-gold);
  border: 4px solid rgba(14, 24, 31, 0.95);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--panel-border);
  content: "";
  height: 15px;
  left: -1.62rem;
  position: absolute;
  top: 0.25rem;
  width: 15px;
}

#profile h2 {
  color: var(--highlight-gold);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 850;
  letter-spacing: 0;
}

#profile .text-white {
  color: var(--light-text) !important;
  font-weight: 800;
}

.card-section h4 {
  background: rgba(214, 162, 74, 0.1);
  border: 1px solid rgba(214, 162, 74, 0.18);
  border-radius: var(--radius-card);
  color: var(--highlight-gold);
  font-size: 0.9rem;
  font-weight: 850;
  margin-bottom: 1rem;
  padding: 0.55rem 0.65rem;
  text-transform: uppercase;
}

.card-section ul {
  padding-left: 1.2rem;
}

.card-section li + li {
  margin-top: 0.35rem;
}

.xp-bar {
  background: rgba(244, 247, 248, 0.08);
  border: 1px solid rgba(244, 247, 248, 0.1);
  border-radius: var(--radius-card);
  overflow: hidden;
  height: 34px;
  margin-bottom: 0.6rem;
  position: relative;
}

.xp-fill {
  width: 0;
  background: linear-gradient(90deg, rgba(45, 109, 143, 0.95), rgba(115, 167, 143, 0.92) 58%, rgba(214, 162, 74, 0.96));
  height: 100%;
  border-radius: var(--radius-card) 0 0 var(--radius-card);
  animation: fillBar 2.5s ease forwards;
}

@keyframes fillBar {
  to {
    width: var(--target-width);
  }
}

.xp-text {
  position: absolute;
  top: 50%;
  right: 10px;
  left: 10px;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.xp-label {
  font-size: 0.9rem;
  font-weight: 750;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.xp-score {
  font-size: 0.8rem;
  background-color: rgba(15, 23, 30, 0.78);
  color: var(--ink);
  padding: 4px 8px;
  border-radius: var(--radius-card);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.22);
}

.xp-text {
  color: var(--light-text);
}

.xp-score {
  color: var(--light-text);
}

#skills-sticky.card-section {
  background:
    linear-gradient(160deg, rgba(45, 109, 143, 0.22), transparent 42%),
    linear-gradient(340deg, rgba(214, 162, 74, 0.16), transparent 48%),
    rgba(12, 22, 29, 0.9);
  border-color: rgba(214, 162, 74, 0.22);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.34);
  padding: 0.82rem;
  position: relative;
}

#skills-sticky.card-section::before {
  background: linear-gradient(180deg, var(--highlight-gold), rgba(45, 109, 143, 0.15));
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 4px;
}

#skills-sticky h4 {
  background: rgba(214, 162, 74, 0.1);
  border: 1px solid rgba(214, 162, 74, 0.18);
  border-radius: var(--radius-card);
  color: var(--highlight-gold);
  font-size: 0.9rem;
  letter-spacing: 0;
  margin-bottom: 0.58rem !important;
  padding: 0.55rem;
  text-transform: uppercase;
}

#skills-sticky .xp-bar {
  background: rgba(244, 247, 248, 0.08);
  border-color: rgba(244, 247, 248, 0.1);
  height: 28px;
  margin-bottom: 0.42rem !important;
}

#skills-sticky .xp-fill {
  background:
    linear-gradient(90deg, rgba(45, 109, 143, 0.95), rgba(115, 167, 143, 0.92) 58%, rgba(214, 162, 74, 0.96));
}

#skills-sticky .xp-label {
  font-size: 0.74rem;
}

#skills-sticky .xp-score {
  background: rgba(15, 23, 30, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.7rem;
  min-width: 42px;
  padding: 3px 6px;
  text-align: center;
}

#skills-sticky .xp-text {
  left: 8px;
  right: 8px;
}

/* Sticky sidebar for large screens */
@media (min-width: 992px) {
  .resume-sidebar {
    position: sticky;
    top: 88px;
    align-self: flex-start;
  }
}
