/* =========================================================
   EAH Studios — Gallery Page CSS
   File: /assets/css/eah-gallery.css
   Purpose: isolated gallery-only styling.
   This file loads AFTER style.css on gallery.php, so it safely overrides
   old global gallery/media rules without touching the rest of the website.
   ========================================================= */

.eah-gallery-page{
  --gallery-gold:#f5d76e;
  --gallery-gold-soft:#fff0a8;
  --gallery-gold-deep:#d4af37;
  --gallery-line:rgba(245,215,110,.34);
  --gallery-line-strong:rgba(245,215,110,.64);
  --gallery-panel:rgba(255,255,255,.06);
  --gallery-panel-strong:rgba(255,255,255,.09);
  --gallery-text:#fff;
  --gallery-muted:rgba(255,255,255,.72);
  --gallery-muted-soft:rgba(255,255,255,.58);
  --gallery-shadow:0 24px 80px rgba(0,0,0,.62);
  --gallery-shadow-soft:0 18px 54px rgba(0,0,0,.50);
}

.eah-gallery-page .section{
  padding:50px 0!important;
}

.eah-gallery-page .lead{
  color:var(--gallery-muted)!important;
  line-height:1.65!important;
}

/* HERO */
.eah-gallery-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 285px!important;
  gap:20px!important;
  align-items:stretch!important;
}

.eah-gallery-hero__main,
.eah-gallery-summary,
.eah-gallery-filter-panel,
.eah-gallery-empty,
.eah-gallery-cta{
  border:1px solid var(--gallery-line)!important;
  background:
    radial-gradient(circle at top left,rgba(245,215,110,.15),transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.032))!important;
  border-radius:30px!important;
  box-shadow:var(--gallery-shadow)!important;
  overflow:hidden!important;
}

.eah-gallery-hero__main{
  padding:30px!important;
}

.eah-gallery-hero__main h1{
  margin:0 0 12px!important;
  font-size:clamp(38px,5vw,66px)!important;
  line-height:1.02!important;
}

.eah-gallery-actions,
.eah-gallery-cta .hero-buttons{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:20px!important;
}

.eah-gallery-summary{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:26px!important;
}

.eah-gallery-summary strong{
  display:block!important;
  color:var(--gallery-gold)!important;
  font-size:64px!important;
  font-weight:1000!important;
  line-height:1!important;
  margin:4px 0 8px!important;
}

.eah-gallery-summary > span:not(.eyebrow){
  color:var(--gallery-muted)!important;
  font-weight:900!important;
}

.eah-gallery-summary__split{
  display:grid!important;
  gap:9px!important;
  width:100%!important;
  margin-top:18px!important;
}

.eah-gallery-summary__split span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border:1px solid rgba(245,215,110,.24)!important;
  background:rgba(0,0,0,.32)!important;
  border-radius:999px!important;
  padding:10px 12px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:13px!important;
  font-weight:950!important;
}

.eah-gallery-summary__split i{
  color:var(--gallery-gold)!important;
}

/* FILTERS */
.eah-gallery-filter-section{
  padding-top:14px!important;
}

.eah-gallery-filter-panel{
  padding:18px!important;
  margin-bottom:24px!important;
}

.eah-gallery-filter-panel__head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
  color:#fff!important;
}

.eah-gallery-filter-panel__head strong{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  font-weight:1000!important;
}

.eah-gallery-filter-panel__head i{
  color:var(--gallery-gold)!important;
}

.eah-gallery-clear{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--gallery-gold)!important;
  font-weight:1000!important;
  font-size:13px!important;
  border:1px solid rgba(245,215,110,.26)!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  background:rgba(0,0,0,.28)!important;
}

.eah-gallery-filter-group{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  padding-top:12px!important;
}

.eah-gallery-filter-group + .eah-gallery-filter-group{
  margin-top:12px!important;
  border-top:1px solid rgba(245,215,110,.14)!important;
}

.eah-gallery-filter{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:43px!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(245,215,110,.38)!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:1000!important;
  line-height:1.1!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease!important;
}

.eah-gallery-filter:hover,
.eah-gallery-filter.is-active{
  transform:translateY(-1px)!important;
  border-color:var(--gallery-gold-soft)!important;
  background:linear-gradient(135deg,#d4af37,#f5d76e,#fff0a8)!important;
  color:#050505!important;
}

.eah-gallery-filter.is-active i,
.eah-gallery-filter:hover i{
  color:#050505!important;
}

/* GRID */
.eah-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}

.eah-gallery-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  min-height:100%!important;
  padding:12px!important;
  border:1px solid var(--gallery-line)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at top left,rgba(245,215,110,.11),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.032))!important;
  box-shadow:var(--gallery-shadow-soft)!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}

.eah-gallery-card:hover{
  transform:translateY(-6px)!important;
  border-color:var(--gallery-line-strong)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.72),0 0 34px rgba(245,215,110,.12)!important;
}

/* MEDIA — show full images/videos, no cutting */
.eah-gallery-media{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:4 / 5!important;
  border-radius:23px!important;
  overflow:hidden!important;
  border:1px solid rgba(245,215,110,.36)!important;
  background:
    radial-gradient(circle at 50% 35%,rgba(245,215,110,.10),transparent 46%),
    #000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.eah-gallery-media img,
.eah-gallery-media video{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#000!important;
  border-radius:0!important;
}

.eah-gallery-media::after{
  content:"";
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  border-radius:23px!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    inset 0 -72px 95px rgba(0,0,0,.22)!important;
}

.eah-gallery-card:hover .eah-gallery-media img{
  transform:none!important;
  filter:brightness(1.06) contrast(1.04) saturate(1.05)!important;
}

.eah-gallery-badge{
  position:absolute!important;
  top:12px!important;
  left:12px!important;
  z-index:5!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:1000!important;
  box-shadow:0 10px 24px rgba(0,0,0,.45)!important;
}

.eah-gallery-badge.is-photo{
  background:linear-gradient(135deg,#fff0a8,#f5d76e,#d4af37)!important;
  color:#050505!important;
}

.eah-gallery-badge.is-video{
  background:rgba(0,0,0,.78)!important;
  border:1px solid rgba(245,215,110,.48)!important;
  color:#fff!important;
}

/* INFO */
.eah-gallery-info{
  flex:1!important;
  min-height:98px!important;
  padding:15px!important;
  border-radius:19px!important;
  border:1px solid rgba(245,215,110,.22)!important;
  background:rgba(0,0,0,.36)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)!important;
}

.eah-gallery-info h2{
  margin:0!important;
  color:#fff!important;
  font-size:19px!important;
  line-height:1.22!important;
  letter-spacing:-.02em!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

.eah-gallery-info p{
  margin:7px 0 0!important;
  color:rgba(255,255,255,.68)!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:800!important;
}

.eah-gallery-missing{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  color:rgba(255,255,255,.62)!important;
  text-align:center!important;
}

.eah-gallery-missing i{
  color:var(--gallery-gold)!important;
  font-size:32px!important;
  margin-bottom:8px!important;
}

/* EMPTY + CTA */
.eah-gallery-empty{
  padding:30px!important;
}

.eah-gallery-empty h2{
  margin-top:0!important;
}

.eah-gallery-cta{
  text-align:center!important;
  padding:34px 22px!important;
}

.eah-gallery-cta .lead{
  margin-left:auto!important;
  margin-right:auto!important;
}

.eah-gallery-cta .hero-buttons{
  justify-content:center!important;
}

/* MOBILE */
@media(max-width:980px){
  .eah-gallery-hero{
    grid-template-columns:1fr!important;
  }

  .eah-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:680px){
  .eah-gallery-page .section{
    padding:38px 0!important;
  }

  .eah-gallery-hero__main,
  .eah-gallery-summary,
  .eah-gallery-filter-panel,
  .eah-gallery-empty,
  .eah-gallery-cta{
    border-radius:24px!important;
  }

  .eah-gallery-hero__main,
  .eah-gallery-summary,
  .eah-gallery-filter-panel{
    padding:18px!important;
  }

  .eah-gallery-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

  .eah-gallery-actions,
  .eah-gallery-cta .hero-buttons{
    flex-direction:column!important;
  }

  .eah-gallery-actions .btn,
  .eah-gallery-cta .btn,
  .eah-gallery-filter{
    width:100%!important;
  }

  .eah-gallery-filter-panel__head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

@media(max-width:430px){
  .eah-gallery-media{
    aspect-ratio:4 / 5!important;
  }

  .eah-gallery-summary strong{
    font-size:52px!important;
  }
}
