/* ══════════════════════════════
   TECH STACK / SKILLS
══════════════════════════════ */
.tech-stack-section { padding-top: 2.4rem; padding-bottom: 2.4rem; }

.skill-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 2rem; }

.skill-card {
  position: relative;
  border-radius: var(--card-radius);
  border: 1px solid var(--glass-border);
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  padding: 1.6rem 1.4rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  box-shadow: var(--glass-shadow);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  isolation: isolate;
  overflow: hidden;
}
.skill-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: var(--glass-highlight);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.skill-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 2.5px;
  background: linear-gradient(135deg, rgba(255,255,255,0.16), rgba(255,255,255,0.04) 42%, rgba(69,137,255,0.12) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.7;
  z-index: 3;
  pointer-events: none;
}
.skill-card:hover { transform: translateY(-5px); border-color: rgba(255,255,255,0.18); box-shadow: var(--glass-shadow-hover), 0 0 28px rgba(69,137,255,0.12); }

.skill-card-icon { width: 3rem; height: 3rem; border-radius: 10px; border: 1px solid var(--accent-border); background: var(--accent-dim); display: flex; align-items: center; justify-content: center; font-size: 1.15rem; color: var(--accent); flex-shrink: 0; position: relative; overflow: hidden; }
.skill-card-title { font-family: var(--font-heading) !important; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--accent-light); line-height: 1.3; margin: 0; }
.skill-card-desc { font-size: 0.8rem; color: var(--muted); line-height: 1.65; margin: 0; }
.skill-card-tags { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-top: auto; padding-top: 0.25rem; justify-content: flex-start; align-content: flex-start; }

.tech-stack-tag {
  display: inline-flex;
  align-items: center;
  height: 1.25rem;
  padding: 0 0.45rem;
  border-radius: 1rem;
  font-size: 0.68rem;
  font-family: var(--font-body) !important;
  font-weight: 400;
  line-height: 1rem;
  background: var(--tag-bg);
  color: var(--tag-text);
  border: none;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}

.skill-extras {
  margin-top: 1.25rem;
  border: 1px solid var(--glass-border);
  border-radius: 18px;
  background: var(--glass-bg);
  backdrop-filter: var(--glass-blur-soft);
  -webkit-backdrop-filter: var(--glass-blur-soft);
  box-shadow: var(--glass-shadow);
  padding: 1.4rem 2rem;
}
.skill-extras-title {
  font-family: var(--font-heading) !important;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  text-align: center;
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  justify-content: center;
}
.skill-extras-title::before,
.skill-extras-title::after {
  content: '';
  height: 1px;
  width: 2.5rem;
  background: var(--accent-border);
}
.skill-extras-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
.skill-extra-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: var(--accent-light);
  font-size: 0.72rem;
  font-family: var(--font-heading) !important;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
}
.skill-extra-item .carbon-icon {
  width: 1.3rem;
  height: 1.3rem;
  color: var(--accent);
}

@media (max-width: 900px) {
  .skill-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 540px) {
  .skill-grid { grid-template-columns: 1fr; }
  .skill-extras-list { gap: 1.25rem; }
}
