/* Portfolio page specific styles — uses variables from clrklimer-style.css */
:root {
    /* fallback values in case global file isn't loaded */
    --bg-color: #0f151a;
    --text-color: #fff;
    --second-color: #c2bfd1;
    --main-color: #f53fa1;
    --other-color: #00ecff;
}

body { background: var(--bg-color); color: var(--text-color); }

.portfolio-hero { padding: 120px 12% 40px; background: linear-gradient(180deg, rgba(255,255,255,0.01), transparent); }
.portfolio-hero .hero-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.portfolio-hero h1 { font-size: 3rem; margin:0; color:var(--text-color); }

/* Themed hero title */
.portfolio-hero .hero-title { font-size: 3.4rem; margin:0; line-height:1.05; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.hero-title .title-accent { background: linear-gradient(90deg, var(--main-color), var(--other-color)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-weight:700; letter-spacing:0.6px; text-shadow: 0 10px 30px rgba(0,0,0,0.5); }
.hero-title .title-sub { color: var(--second-color); font-size:1.05rem; font-weight:600; opacity:0.98; margin-left:6px; }

@media (max-width:900px) {
  .portfolio-hero .hero-title { font-size: 2.4rem; }
  .hero-title .title-sub { font-size:0.95rem; }
}

@media (max-width:500px) {
  .portfolio-hero .hero-title { font-size: 1.9rem; }
  .hero-title .title-sub { display:block; margin-left:0; margin-top:4px; }
}

.portfolio-hero { position: relative; }

/* Ensure content sits above any decorative layers */
.hero-content, .portfolio-hero .hero-inner > div:nth-child(2) { position: relative; z-index: 2; }

/* Hero content band (no parallax) */
.hero-content {
  width: 100%;
  background: linear-gradient(180deg, rgba(10,12,15,0.92), rgba(10,12,15,0.84));
  padding: 20px 28px;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
  transform: none;
}

@media (max-width:900px) {
  /* no decorative geometry, small adjustments handled elsewhere */
}

@media (max-width:500px) {
  .hero-content { transform: none; }
}
.portfolio-hero .subtitle { color:var(--second-color); margin-top:6px; }
.portfolio-hero .hero-actions { display:flex; gap:12px; }

.projects-section { padding: 90px 12% 80px; }
.projects-header h2 { font-size:2.2rem; margin:0 0 8px 0; }
.projects-header .muted { color:var(--second-color); }

.projects-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:20px; margin-top:18px; }
.project-card { background: rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.03); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; transition: transform .25s ease, box-shadow .25s ease; }
/* allow particle effects to overflow the card */
.project-card { position: relative; overflow: visible; }
.project-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
/* Carousel styles for project cards */
.project-info { padding:14px; }
.project-info h3 { margin:0 0 6px 0; color:var(--text-color); }
.project-info .muted { color:var(--second-color); font-size:0.95rem; margin-bottom:8px; }
.carousel {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  background: linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.06));
}
.carousel-track {
  display: flex;
  height: 100%;
  transition: transform 400ms cubic-bezier(.2,.9,.3,1);
  will-change: transform;
}
.carousel-slide {
  min-width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.35);
  color: #fff;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0.9;
}
.carousel-prev { left: 10px; }
.carousel-next { right: 10px; }
.carousel-arrow:focus { outline: 2px solid rgba(255,255,255,0.8); }

.carousel-indicators {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  align-items: center;
}
.carousel-indicators button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.08);
  padding: 0;
  cursor: pointer;
  display: inline-block;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.carousel-indicators button[aria-current="true"] {
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  box-shadow: 0 0 10px rgba(0,0,0,0.28);
  border-color: transparent;
  transform: scale(1.2);
}

@media (max-width: 640px) {
  .carousel { height: 160px; }
  .carousel-arrow { width: 30px; height: 30px; }
  .carousel-indicators button { width: 24px; height: 24px; font-size: 11px; }
}
.project-info .tags span { display:inline-block; margin-right:8px; padding:6px 10px; background:rgba(245,63,161,0.08); color:var(--main-color); border-radius:8px; font-size:0.85rem; }

.project-card:hover { transform: translateY(-6px); box-shadow: 0 14px 30px rgba(0,0,0,0.6); }

.portfolio-contact { padding: 40px 12% 90px; }
.contact-box { background: var(--second-bg-color); padding:20px; border-radius:12px; text-align:center; }
.contact-box h3 { margin:0 0 6px 0; }
.contact-box .muted { color:var(--second-color); }

/* Creative contact box for portfolio */
.contact-box.creative { display:grid; grid-template-columns: 1fr 260px 220px; gap:20px; align-items:center; padding:26px; background: linear-gradient(135deg, rgba(245,63,161,0.06), rgba(0,236,255,0.03)); border: 1px solid rgba(255,255,255,0.04); text-align: left; }
.cb-left h3 { margin:0 0 8px 0; font-size:1.15rem; color:var(--text-color); line-height:1.2; }
.cb-left .muted { color:var(--second-color); font-size:0.95rem; }
.cb-center { text-align:center; }
.contact-cta-btn { display:inline-block; background: linear-gradient(90deg, rgba(245,63,161,0.95), rgba(0,236,255,0.85)); color:#fff; padding:8px 14px; border-radius:10px; text-decoration:none; font-weight:600; font-size:0.95rem; box-shadow:0 6px 18px rgba(245,63,161,0.08); transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease; }
.contact-cta-btn { border: none; cursor: pointer; line-height: 1; }

/* Outlined, faded-gradient variant for the Show more button */
#show-more-btn.contact-cta-btn {
  background: transparent;
  color: rgba(255,255,255,0.95);
  padding: 8px 14px;
  border-radius: 10px;
  border: 1.5px solid transparent;
  border-image: linear-gradient(90deg, rgba(245,63,161,0.45), rgba(0,236,255,0.45)) 1;
  box-shadow: none;
  backdrop-filter: none;
}

#show-more-btn.contact-cta-btn:hover {
  background: linear-gradient(90deg, rgba(245,63,161,0.06), rgba(0,236,255,0.04));
  border-image: linear-gradient(90deg, rgba(245,63,161,0.9), rgba(0,236,255,0.9)) 1;
  transform: translateY(-2px);
}

#show-more-btn.contact-cta-btn:active { transform: translateY(0); }
.contact-cta-btn:hover { transform: translateY(-2px); box-shadow:0 10px 26px rgba(245,63,161,0.1); opacity:0.98; }
.availability { margin-top:8px; color:var(--second-color); font-size:0.95rem; }
.cb-right { text-align:right; }
.cb-right .socials { display:grid; grid-template-columns: repeat(2, 36px); gap:8px; justify-content:end; align-items:center; }
.cb-right .socials a { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; background: rgba(255,255,255,0.02); border-radius:8px; margin-left:0; color:var(--text-color); opacity:0.95; transition: transform .12s ease, opacity .12s ease, background .12s ease, color .12s ease; }
.cb-right .socials a:hover { transform: translateY(-2px); opacity:1; color:var(--other-color); background: rgba(255,255,255,0.035); }
.cb-right .socials a svg { width:18px; height:18px; display:block; }

@media (max-width: 900px) {
  .contact-box.creative { grid-template-columns: 1fr; text-align:left; }
  .cb-right { text-align:left; }
  .cb-center { margin-top:8px; }
}

@media (max-width: 1100px) {
  .projects-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .projects-grid { grid-template-columns: 1fr; }
  .portfolio-hero .hero-inner { flex-direction:column; align-items:flex-start; }
  .portfolio-hero { padding:80px 6% 40px; }
  .projects-section { padding:40px 6% 60px; }
}

/* Worked On section styles */
.worked-section { padding: 40px 12% 60px; background: transparent; }
.worked-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:18px; margin-top:18px; }
.worked-card { background: rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.03); border-radius:10px; overflow:hidden; display:flex; flex-direction:column; }
.worked-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.worked-info { padding:12px; }
.worked-info h4 { margin:0 0 6px 0; font-size:1rem; }
.worked-info .muted { color:var(--second-color); font-size:0.92rem; margin:0; }

@media (max-width:1100px) {
  .worked-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width:800px) {
  .worked-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:500px) {
  .worked-grid { grid-template-columns: 1fr; }
}

/* Hide additional worked cards by default; revealed by Show more */
.worked-card.more { display: none; }

/* Small hover overlay for project cards */
/* Show more button */
#show-more-btn.cv-btn { padding:10px 18px; border-radius:10px; cursor:pointer; }

/* Particle (firefly) styles for project hover */
.project-particle {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,1), rgba(255,255,255,0.85) 30%, transparent 55%);
  box-shadow: 0 0 16px rgba(245,63,161,0.28), 0 0 32px rgba(0,236,255,0.22);
  mix-blend-mode: screen;
  animation-name: particle-fly;
  animation-timing-function: cubic-bezier(.18,.9,.2,1);
  animation-fill-mode: forwards;
}

@keyframes particle-fly {
  to {
    transform: translate(var(--tx, 0px), var(--ty, 0px)) scale(0.6);
    opacity: 0;
    filter: blur(0.6px);
  }
}

/* smaller variant for subtle particles */
.project-particle.small { width:6px; height:6px; box-shadow: 0 0 6px rgba(245,63,161,0.12), 0 0 12px rgba(0,236,255,0.08); }

/* color variants using theme variables — JS will set class or inline styles if needed */
.project-particle.small { width:6px; height:6px; box-shadow: 0 0 10px rgba(245,63,161,0.22), 0 0 18px rgba(0,236,255,0.18); }
.project-particle.accent { box-shadow: 0 0 20px rgba(245,63,161,0.42), 0 0 36px rgba(245,63,161,0.22); background: radial-gradient(circle at 35% 35%, var(--main-color), rgba(245,63,161,0.78) 40%, transparent 60%); }
.project-particle.alt { box-shadow: 0 0 18px rgba(0,236,255,0.36), 0 0 30px rgba(0,236,255,0.22); background: radial-gradient(circle at 35% 35%, var(--other-color), rgba(0,236,255,0.72) 40%, transparent 60%); }
