/**
 * Frontend Styles for RPC Term Dates
 * Matches the provided design exactly
 */

:root{
  --bg2:#07101b;
  --card1:#13283e;
  --card2:#10253a;
  --white:#e9f2fb;
  --muted:rgba(233,242,251,.62);
  --line:rgba(233,242,251,.10);
  --green:#b6ff2e;
  --greenSoft:rgba(182,255,46,.14);
  --greenRing:rgba(182,255,46,.45);
  --red:#ff3b3b;
  --r:22px;
  --term-icon-grey: url('https://rpc.cloudechosystems.com/wp-content/uploads/2026/01/trophy-1.png');
  --term-icon-green: url('https://rpc.cloudechosystems.com/wp-content/uploads/2026/01/trophy-1.svg');
}

.terms-wrap{
  --timeline-x: 26px;
  position:relative;
  padding:20px 13px 36px;
  border-radius:18px;
  background:
    radial-gradient(900px 420px at 40% 0%, rgba(182,255,46,.08), transparent 55%),
    linear-gradient(180deg, transparent, transparent);
  overflow:hidden;
}

/* left vertical line */
.terms-wrap::before{
  content:"";
  position:absolute;
  left:var(--timeline-x);
  top:16px;
  bottom:16px;
  width:2px;
  background:linear-gradient(180deg, rgba(182,255,46,.55), rgba(182,255,46,.05));
  opacity:.65;
}

/* item (dot + card) */
.term-item{
  position:relative;
  padding-left:56px;
  margin:16px 0;
}

/* dot centered on the line */
.term-dot{
  position:absolute;
  left:calc(var(--timeline-x) - 7px);
  top:28px;
  width:14px;
  height:14px;
  border-radius:999px;
  background:rgba(182,255,46,.95);
  box-shadow:0 0 0 6px rgba(182,255,46,.10);
}
.term-dot.dim{
  background:rgba(233,242,251,.22);
  box-shadow:none;
}

/* ===== CARD ===== */
.term-card{
  position:relative;
  border-radius:var(--r);
  padding:30px 30px 30px;
  background:linear-gradient(180deg,var(--card1),var(--card2));
  border:1px solid var(--line);
  overflow:hidden;
  transition: border-color .25s ease, box-shadow .25s ease;
}

/* subtle inner highlight */
.term-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:var(--r);
  background:radial-gradient(700px 240px at 12% 0%, rgba(255,255,255,.06), transparent 60%);
  pointer-events:none;
  opacity:.9;
}

/* Hover glow */
.term-card:hover{
  border-color: rgba(182,255,46,.85);
  box-shadow:
    0 0 0 1px rgba(182,255,46,.45),
    0 0 28px rgba(182,255,46,.20),
    0 0 90px rgba(182,255,46,.10);
}

/* current card: slight ring always + stronger on hover */
.term-card.is-current{
  border-color:rgba(182,255,46,.35);
  box-shadow:0 0 0 4px rgba(182,255,46,.10);
}
.term-card.is-current:hover{
  border-color: rgba(182,255,46,.85);
  box-shadow:
    0 0 0 1px rgba(182,255,46,.45),
    0 0 28px rgba(182,255,46,.20),
    0 0 90px rgba(182,255,46,.10);
}

/* ===== Header row ===== */
.term-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
  position:relative;
  z-index:2;
}

/* icon box */
.icon-box{
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  border:1px solid rgba(182,255,46,.30);
  background:rgba(182,255,46,.07);
  transition: background-color .25s ease, border-color .25s ease;
}

/* non-current default to grey-ish */
.term-card:not(.is-current) .icon-box{
  border-color:rgba(233,242,251,.12);
  background:rgba(233,242,251,.04);
}

/* icon box turns green on hover (card OR icon) */
.term-card:hover .icon-box,
.icon-box:hover{
  background: rgba(182,255,46,.10);
  border-color: rgba(182,255,46,.28);
}

/* PNG/SVG icon swap */
.term-icon{
  width:22px;
  height:22px;
  background-image: var(--term-icon-grey);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Swap to green on hover (hover card OR hover icon-box) */
.term-card:hover .term-icon,
.icon-box:hover .term-icon{
  background-image: var(--term-icon-green);
}

.term-title h3{
  margin:0;
  font-family:Orbitron, system-ui, sans-serif;
  color:var(--white);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.6px;
  font-size:22px;
  line-height:1.1;
}

.badge{
  display:inline-flex;
  margin-top:6px;
  padding:6px 12px;
  border-radius:999px;
  font-family:Orbitron, system-ui, sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:rgba(18,34,20,.95);
  background:rgba(182,255,46,.92);
  border:1px solid rgba(182,255,46,.55);
  box-shadow:0 0 16px rgba(182,255,46,.22);
}

/* ===== Info row ===== */
.term-info{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:14px;
  margin-top:14px;
  position:relative;
  z-index:2;
}

.info{
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.mini{
  width:26px;
  height:26px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid rgba(233,242,251,.18);
  background:rgba(233,242,251,.05);
  margin-top:1px;
}
.mini.end{
  border-color:rgba(255,59,59,.35);
  background:rgba(255,59,59,.10);
}

.label{
  margin:0;
  font-family:Orbitron, system-ui, sans-serif;
  color:rgba(233,242,251,.92);
  font-weight:700;
  letter-spacing:.7px;
  font-size:12px;
  text-transform:uppercase;
}

.value{
  margin:3px 0 0;
  font-family:Inter, system-ui, sans-serif;
  color:var(--muted);
  font-size:15px;
  font-weight:500;
}

/* subtitle/notes turn green on hover like achievements */
.term-note{
  margin:12px 0 0;
  position:relative;
  z-index:2;
  font-family:Inter, system-ui, sans-serif;
  color:rgba(233,242,251,.55);
  font-style:italic;
  font-weight:600;
  font-size:14px;
  transition: color .25s ease;
}
.term-card:hover .term-note{
  color: var(--green);
}

/* svg strokes */
.svg-white{ stroke:rgba(233,242,251,.90); }
.svg-green{ stroke:rgba(182,255,46,.95); }
.svg-red{ stroke:rgba(255,59,59,.95); }

/* responsive */
@media (max-width: 900px){
  .terms-wrap{ 
    --timeline-x: 18px; 
    padding: 16px 10px 28px;
  }
  .term-title h3{ 
    font-size: 18px; 
    line-height: 1.2;
  }
  .term-info{ 
    grid-template-columns: 1fr; 
    gap: 10px; 
  }
  .term-item{ 
    padding-left: 44px; 
    margin: 12px 0;
  }
  .term-dot{ 
    top: 24px; 
    left: calc(var(--timeline-x) - 6px);
    width: 12px;
    height: 12px;
  }
  .term-card{
    padding: 20px 20px 20px;
  }
  .icon-box{
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .term-icon{
    width: 20px;
    height: 20px;
  }
  .badge{
    font-size: 10px;
    padding: 5px 10px;
    margin-top: 4px;
  }
  .label{
    font-size: 11px;
  }
  .value{
    font-size: 14px;
  }
  .term-note{
    font-size: 13px;
    margin-top: 10px;
  }
}

@media (max-width: 600px){
  .terms-wrap{ 
    --timeline-x: 14px; 
    padding: 12px 8px 24px;
    border-radius: 14px;
  }
  .term-title h3{ 
    font-size: 16px; 
    letter-spacing: 0.4px;
  }
  .term-item{ 
    padding-left: 36px; 
    margin: 10px 0;
  }
  .term-dot{ 
    top: 20px; 
    left: calc(var(--timeline-x) - 5px);
    width: 10px;
    height: 10px;
    box-shadow: 0 0 0 4px rgba(182,255,46,.10);
  }
  .term-card{
    padding: 16px 16px 16px;
    border-radius: 16px;
  }
  .term-head{
    gap: 10px;
    flex-wrap: wrap;
  }
  .icon-box{
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }
  .term-icon{
    width: 18px;
    height: 18px;
  }
  .badge{
    font-size: 9px;
    padding: 4px 8px;
    letter-spacing: 0.6px;
  }
  .label{
    font-size: 10px;
    letter-spacing: 0.5px;
  }
  .value{
    font-size: 13px;
  }
  .term-note{
    font-size: 12px;
    margin-top: 8px;
  }
  .mini{
    width: 22px;
    height: 22px;
  }
  .mini svg{
    width: 12px;
    height: 12px;
  }
  .info{
    gap: 8px;
  }
}

