/* =========================================================
   EMA — Event Gallery   v1.0.0
   Source: ema-events.html
   (.ema-gal-label / .ema-sheet / .ema-grid / .ema-frame / .ema-lb)
   NOTE: source lightbox arrows used .ema-nav, which clashed with the
   header nav. Renamed here to .ema-lb-nav.
   ========================================================= */

.elementor-widget-ema-event-gallery .ema-eg{
  --crimson:#A01428;
  --soot:#12110F;
  --cream:#F5EFD9;
  --gold:#A08C50;
  --gold-bright:#C2A862;
  --forest:#1F4D3F;
  font-family:'Oswald','Arial Narrow',Arial,sans-serif;
  color:var(--soot);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}

.elementor-widget-ema-event-gallery .ema-eg img{display:block;max-width:100%}
.elementor-widget-ema-event-gallery .ema-eg button{
  font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:left;
}
.elementor-widget-ema-event-gallery .ema-eg :focus-visible{
  outline:3px solid var(--crimson);
  outline-offset:3px;
}

/* ---------- label ---------- */
.elementor-widget-ema-event-gallery .ema-gal-label{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
  padding:52px 0 22px;
  flex-wrap:wrap;
}
.elementor-widget-ema-event-gallery .ema-eg-h{
  margin:0;
  font-family:'Oswald','Arial Narrow',Arial,sans-serif;
  font-size:28px;
  line-height:1.15;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--soot);
}
.elementor-widget-ema-event-gallery .ema-eg-h em{
  font-style:italic;
  font-weight:400;
  color:var(--gold);
  text-transform:none;
}
.elementor-widget-ema-event-gallery .ema-eg-note{
  font-size:12px;
  font-weight:400;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(18,17,15,.6);
}

/* ---------- sheet + grid ---------- */
.elementor-widget-ema-event-gallery .ema-sheet{
  background:var(--soot);
  border:2px solid var(--soot);
  box-shadow:14px 14px 0 #A01428;
  padding:22px;
}
.elementor-widget-ema-event-gallery .ema-sheet.is-flat{box-shadow:none}

.elementor-widget-ema-event-gallery .ema-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.elementor-widget-ema-event-gallery .ema-frame{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#000;
  border:2px solid transparent;
  transition:border-color .2s ease,transform .22s ease;
}
.elementor-widget-ema-event-gallery .ema-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.92;
  transition:opacity .3s ease,transform .5s ease;
}
.elementor-widget-ema-event-gallery .ema-frame:hover,
.elementor-widget-ema-event-gallery .ema-frame:focus-visible{
  border-color:var(--gold-bright);
  transform:translateY(-4px);
}
.elementor-widget-ema-event-gallery .ema-frame:hover img{
  opacity:1;
  transform:scale(1.06);
}
.elementor-widget-ema-event-gallery .ema-frame .ema-no{
  position:absolute;
  top:0;
  left:0;
  z-index:2;
  background:var(--crimson);
  color:var(--cream);
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  padding:5px 9px;
}
.elementor-widget-ema-event-gallery .ema-frame .ema-zoom{
  position:absolute;
  inset:auto 0 0 0;
  z-index:2;
  background:rgba(18,17,15,.86);
  color:var(--cream);
  font-size:11px;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding:8px;
  text-align:center;
  transform:translateY(100%);
  transition:transform .22s ease;
}
.elementor-widget-ema-event-gallery .ema-frame:hover .ema-zoom,
.elementor-widget-ema-event-gallery .ema-frame:focus-visible .ema-zoom{
  transform:translateY(0);
}

/* ---------- lightbox ---------- */
.elementor-widget-ema-event-gallery .ema-lb{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(18,17,15,.97);
  display:none;
  flex-direction:column;
  font-family:'Oswald','Arial Narrow',Arial,sans-serif;
}
.elementor-widget-ema-event-gallery .ema-lb.is-on{display:flex}

.elementor-widget-ema-event-gallery .ema-lb-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 24px;
  color:var(--cream);
  border-bottom:1px solid rgba(245,239,217,.16);
  flex:0 0 auto;
}
.elementor-widget-ema-event-gallery .ema-lb-who{
  font-size:13px;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.elementor-widget-ema-event-gallery .ema-lb-who b{
  color:var(--gold-bright);
  font-weight:600;
  margin-left:10px;
}
.elementor-widget-ema-event-gallery .ema-lb-close{
  font-size:12px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--cream);
  border:2px solid var(--cream);
  padding:9px 16px;
}
.elementor-widget-ema-event-gallery .ema-lb-close:hover{
  background:var(--crimson);
  border-color:var(--crimson);
}

.elementor-widget-ema-event-gallery .ema-lb-stage{
  flex:1 1 auto;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  min-height:0;
}
.elementor-widget-ema-event-gallery .ema-lb-stage img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border:3px solid var(--cream);
}

.elementor-widget-ema-event-gallery .ema-lb-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:80px;
  background:var(--cream);
  color:var(--soot);
  font-size:26px;
  font-weight:400;
  display:flex;
  align-items:center;
  justify-content:center;
}
.elementor-widget-ema-event-gallery .ema-lb-nav:hover{
  background:var(--crimson);
  color:var(--cream);
}
.elementor-widget-ema-event-gallery .ema-lb-nav.is-prev{left:16px}
.elementor-widget-ema-event-gallery .ema-lb-nav.is-next{right:16px}

.elementor-widget-ema-event-gallery .ema-strip{
  display:flex;
  gap:9px;
  overflow-x:auto;
  padding:15px 24px 22px;
  border-top:1px solid rgba(245,239,217,.16);
  flex:0 0 auto;
}
.elementor-widget-ema-event-gallery .ema-strip button{
  flex:0 0 80px;
  height:58px;
  padding:0;
  border:2px solid transparent;
  opacity:.45;
  transition:opacity .2s ease,border-color .2s ease;
}
.elementor-widget-ema-event-gallery .ema-strip img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.elementor-widget-ema-event-gallery .ema-strip button:hover{opacity:.85}
.elementor-widget-ema-event-gallery .ema-strip button.is-cur{
  opacity:1;
  border-color:var(--gold-bright);
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .elementor-widget-ema-event-gallery .ema-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:600px){
  .elementor-widget-ema-event-gallery .ema-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .elementor-widget-ema-event-gallery .ema-sheet{padding:14px;box-shadow:8px 8px 0 #A01428}
  .elementor-widget-ema-event-gallery .ema-gal-label{padding:38px 0 18px}
  .elementor-widget-ema-event-gallery .ema-eg-h{font-size:24px}
}
@media (max-width:620px){
  .elementor-widget-ema-event-gallery .ema-lb-nav{width:42px;height:62px;font-size:20px}
  .elementor-widget-ema-event-gallery .ema-lb-bar{padding:12px 16px}
  .elementor-widget-ema-event-gallery .ema-lb-who{font-size:11px;letter-spacing:.16em}
}

@media (prefers-reduced-motion:reduce){
  .elementor-widget-ema-event-gallery .ema-eg *{transition:none!important;animation:none!important}
}
