
/*
 Theme Name:  Eikasia Lab (Hello Child)
 Theme URI:   https://eikasia.studio/
 Description: Child theme for Hello Elementor to recreate a CokauLab-style portfolio (filterable grid, video hero, smooth animations).
 Author:      Nicolas + ChatGPT
 Author URI:  https://nicolas-benoit.com/
 Template:    hello-elementor
 Version:     1.0.0
 License:     GPLv2 or later
 License URI: https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: eikasia-lab
*/

/* Typography & basic layout */
:root{
  --eika-bg:#0a0a0a;
  --eika-fg:#f2f2f2;
  --eika-muted:#9a9a9a;
  --eika-accent:#ffffff;
}

html,body{
  background:var(--eika-bg);
  color:var(--eika-fg);
}

a{ color:inherit; text-decoration:none; }
a:hover{ opacity:.9; }

/* Filter bar */
#eika-filters{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:2rem 0;
}

#eika-filters .eika-filter{
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  padding:.5rem .9rem;
  font-size:.9rem;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, color .2s ease;
  background:transparent;
  color:var(--eika-fg);
}
#eika-filters .eika-filter.is-active{
  background:var(--eika-fg);
  color:#000;
  transform:translateY(-1px);
}

/* Grid */
.eika-grid{
  --min: 280px;
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--min), 1fr));
  gap:1rem;
}

.work-item{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background:#111;
  box-shadow: 0 2px 18px rgba(0,0,0,.25);
}

.work-item .thumb{
  position:relative;
  display:block;
  aspect-ratio: 16 / 9;
  width:100%;
  overflow:hidden;
}

.work-item img,
.work-item video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.work-item video{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
}

.work-item:hover video{
  opacity:1;
}

/* Single Work */
.eika-hero{
  position:relative;
  width:100%;
  max-width: min(1400px, 92vw);
  margin: min(6vh, 60px) auto 3rem;
  border-radius:20px;
  overflow:hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,.45);
}
.eika-hero .plyr, .eika-hero video, .eika-hero iframe{
  aspect-ratio: 16 / 9;
  width:100%;
  height:auto;
  display:block;
}

.eika-meta{
  max-width:min(1100px, 92vw);
  margin: 1rem auto 2rem;
  color:var(--eika-muted);
}

/* Gallery */
.eika-gallery{
  max-width:min(1300px, 92vw);
  margin: 2rem auto 4rem;
}
.eika-gallery .swiper{
  width:100%;
}
.eika-gallery .swiper-slide{
  border-radius:16px;
  overflow:hidden;
}
.eika-gallery img{
  width:100%;
  display:block;
  object-fit:cover;
}

/* Simple reveal */
.reveal{
  opacity:0;
  transform: translateY(10px);
}
.reveal.is-in{
  opacity:1;
  transform:none;
  transition: all .6s cubic-bezier(.2,.7,.2,1);
}
