/* skills.css - scoped page styles (won't conflict with other pages) */

:root{
  --bg: #0f1724;
  --card: #0b1220;
  --muted: #9aa7bf;
  --accent: #7c5cff;
  --radius: 14px;
}

/* base adjustments */
.skills-hero { padding:48px 0 8px; text-align:center; }
.page-title { font-size:2rem; color:#a58bff; margin:0 0 6px; text-shadow:0 6px 28px rgba(124,92,255,0.12); }
.page-sub { color:var(--muted); margin:0; font-size:1rem; }

/* main container area */
.skills-main { padding:28px 0 60px; }

/* Programming section layout */
.prog-section {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: start;
}

/* left column (detailed content) */
.prog-left {
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: 0 8px 36px rgba(2,6,23,0.55), inset 0 1px 0 rgba(255,255,255,0.02);
}

/* headings inside */
.section-heading {
  margin: 0 0 14px;
  font-size: 1.25rem;
  color: #bda7ff;
  text-shadow: 0 4px 18px rgba(124,92,255,0.08);
}

/* content blocks */
.content-block { margin-bottom: 16px; }
.block-title {
  font-size: 0.98rem;
  margin: 0 0 8px;
  color: #bfa9ff;
}
.block-text {
  color: var(--muted);
  margin: 0;
  line-height: 1.7;
  font-size: 1rem;
}

/* right column - quick cards & meters */
.prog-right {
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
}

/* highlight mini-cards */
.mini-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 14px;
  text-align: center;
  box-shadow: 0 6px 18px rgba(0,0,0,0.22);
}
.mini-card h4 { margin:0 0 8px; color:#bda7ff; font-size:1rem; }
.mini-card p { margin:0; color:var(--muted); }

/* skill meters */
.skill-meter { margin-top: 6px; }
.skill-meter label { display:block; color:#bfa9ff; font-weight:600; margin-bottom:6px; font-size:0.95rem; }
.meter { background: rgba(255,255,255,0.03); height:10px; border-radius:999px; overflow:hidden; border:1px solid rgba(255,255,255,0.02); }
.meter span { display:block; height:100%; background: linear-gradient(90deg,var(--accent), #a58bff); box-shadow:0 6px 20px rgba(124,92,255,0.08); }

/* CTA */
.skills-cta { margin-top:20px; display:flex; gap:12px; align-items:center; }
.skills-cta .btn { background: linear-gradient(90deg,var(--accent), #a58bff); color:#051029; padding:10px 18px; border-radius:999px; text-decoration:none; font-weight:600; }
.skills-cta .btn.outline { background:transparent; color:var(--muted); border:1px solid rgba(255,255,255,0.04); }

/* responsive */
@media (max-width: 980px) {
  .prog-section { grid-template-columns: 1fr; }
  .prog-right { order: 2; }
  .skills-hero { padding:28px 0 8px; }
  .skills-main { padding:18px 0 40px; }
}

/* keep page styles isolated from global site rules */
    /* === Skills Box Styling for Left Containers === */
.skills-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  padding: 24px 28px;
  margin-bottom: 30px;
  box-shadow: 0 8px 30px rgba(2, 6, 23, 0.55);
  transition: all 0.4s ease;
}

.skills-box:hover {
  box-shadow: 0 10px 40px rgba(124, 92, 255, 0.25);
}

.section-heading {
  color: #a58bff;
  font-size: 1.4rem;
  margin-bottom: 14px;
  text-shadow: 0 0 12px rgba(124, 92, 255, 0.25);
}

.block-title {
  color: #bda7ff;
  font-size: 1rem;
  margin-bottom: 6px;
}

.block-text {
  color: var(--muted);
  line-height: 1.7;
  font-size: 1rem;
  margin-bottom: 12px;
}
/* === Right Side Unified Container === */
.right-container {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 24px 28px;
  box-shadow: 0 8px 30px rgba(2, 6, 23, 0.55);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
  transition: all 0.4s ease;
}

.right-container:hover {
  box-shadow: 0 10px 40px rgba(124, 92, 255, 0.25);
}

/* === Right Side Each Item Box === */
.right-item {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 16px 20px;
  text-align: center;
  transition: all 0.3s ease;
}

.right-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 22px rgba(124, 92, 255, 0.2);
}

/* === Right Side Titles === */
.right-item h4 {
  color: #bda7ff;
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 10px;
}

/* === Right Side Lists === */
.right-list {
  list-style: none;
  margin: 0;
  padding: 0;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.7;
}

.right-list li {
  padding: 2px 0;
  transition: color 0.2s ease;
}

.right-list li:hover {
  color: #a58bff;
}

/* === Keep the skill meter consistent === */
.skill-meter {
  margin-top: 10px;
}

.skill-meter label {
  display: block;
  font-weight: 600;
  color: #bda7ff;
  margin-bottom: 6px;
}

.meter {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
}

.meter span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #7c5cff, #a58bff);
  border-radius: 999px;
  transition: width 0.5s ease;
}

/* Responsive tweak */
@media (max-width: 900px) {
  .right-container {
    width: 100%;
    padding: 20px;
  }

  .right-item {
    padding: 14px;
  }
}
.skills-cta .btn {
  padding: 10px 28px;
  font-size: 1rem;
  border-radius: 999px;
  transition: all 0.3s ease;
}

.skills-cta .btn:hover {
  transform: translateY(-3px);
  background: linear-gradient(90deg, #8e6eff, #b49fff);
}
/* ===== Back to Portfolio button (centered + glow) ===== */
.skills-cta {
  text-align: center;            /* ensures button sits in center of container */
  margin-top: 28px;              /* spacing above button */
}

/* Standard button style for this CTA (specific to skills page) */
.skills-cta .btn {
  display: inline-block;         /* allow margin auto, transforms */
  margin: 0 auto;                /* center if block-level in some contexts */
  padding: 10px 28px;
  font-size: 1rem;
  font-weight: 600;
  color: #051029;
  background: linear-gradient(90deg, #7c5cff, #a58bff);
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 8px 30px rgba(124,92,255,0.12), inset 0 -6px 18px rgba(255,255,255,0.02);
  transition: transform 220ms cubic-bezier(.2,.9,.2,1), box-shadow 260ms ease, filter 200ms ease;
  will-change: transform, box-shadow;
}

/* Hover and focus styles (glow + lift) */
.skills-cta .btn:hover,
.skills-cta .btn:focus {
  transform: translateY(-4px);
  box-shadow: 0 22px 80px rgba(124,92,255,0.28), 0 6px 30px rgba(124,92,255,0.10);
  filter: saturate(1.05);
  outline: none;
}

/* Slightly stronger glow when active/clicked */
.skills-cta .btn:active {
  transform: translateY(-1px);
  box-shadow: 0 14px 48px rgba(124,92,255,0.22);
}

/* Mobile smaller paddings */
@media (max-width: 720px) {
  .skills-cta .btn {
    padding: 8px 20px;
    font-size: 0.95rem;
  }
}

/* If any global rule still overrides it, this more-specific rule will force our styles.
   Use sparingly — remove "!important" later if not needed. */
.skills-cta .btn.custom-force {
  /* fallback: stronger override - add class "custom-force" to the anchor if nothing else works */
  background: linear-gradient(90deg, #7c5cff, #a58bff) !important;
  color: #051029 !important;
  box-shadow: 0 18px 60px rgba(124,92,255,0.18) !important;
}
