/* CEILAO ENTERPRISES — OFFICIAL EVENT ARTWORK
   Both images are bundled locally, unchanged from user-provided files.
   The full artwork is kept visible, with event metadata separate from artwork.
*/

/* Events page: showcase the Christmas poster without clipping its title or dates. */
.event-art.event-art-photo {
  display:flex; flex-direction:column; justify-content:center;
  min-height:0; padding:0!important; overflow:hidden;
  background:#12131a!important;
}
.event-image-link {
  display:flex; flex-direction:column; justify-content:center;
  min-height:0; width:100%; height:100%; flex:1;
  text-decoration:none; background:#12131a;
}
.event-image-link img {
  position:static!important; display:block; flex:0 0 auto;
  width:100%!important; height:auto!important; min-height:0!important;
  max-width:100%; opacity:1!important; object-fit:contain!important;
  object-position:center; filter:none!important;
  transition:transform .45s ease;
}
.event-image-link:hover img { transform:scale(1.012); }
.event-image-cta {
  display:flex; position:static; justify-content:space-between; align-items:center;
  gap:15px; width:100%; padding:18px 24px;
  border:0; border-top:1px solid rgba(255,255,255,.16);
  background:#111218; color:#f3efe8;
  font-size:11px; letter-spacing:.15em; font-weight:800;
  backdrop-filter:none; box-shadow:none;
}
.event-image-cta b { font-size:22px; font-weight:400; }
.event-info { min-width:0; }

/* Past-event card: put the panoramic poster across the full width.
   Previously it was squeezed into a narrow crop. */
.past-feature {
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:0 30px; padding:0 0 35px; overflow:hidden;
}
.past-photo-link {
  grid-column:1/-1; display:block; height:auto; min-height:0;
  max-height:none; border-radius:0; overflow:hidden;
  background:#f3efe8; box-shadow:none;
}
.past-photo-link img {
  display:block; width:100%; height:auto; object-fit:contain;
  object-position:center; transition:transform .45s ease;
}
.past-photo-link:hover img { transform:scale(1.012); }
.past-photo-caption {
  position:static; display:flex; align-items:center; justify-content:space-between;
  padding:12px 35px; background:#111218; color:#fff;
  font-size:10px; letter-spacing:.13em;
}
.past-feature > div:nth-child(2) { padding:35px 0 0 40px; min-width:0; }
.past-feature > .past-desc { padding:35px 40px 0 0; min-width:0; }
.past-feature h3 { font-size:clamp(58px,6vw,90px); overflow-wrap:normal; }

/* Homepage feature: image-first, full poster visible with details beneath it. */
.spotlight-card {
  display:flex; flex-direction:column; justify-content:flex-start;
  padding:0!important; min-height:0; height:auto; overflow:hidden;
  background:#171a23; color:#fff;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:16px 18px 0 rgba(11,12,16,.1);
}
.spotlight-background-photo {
  position:static!important; order:1; width:100%!important; height:auto!important;
  max-width:100%; display:block; opacity:1!important;
  object-fit:contain!important; filter:none!important;
  pointer-events:none; text-shadow:none;
}
.spotlight-card-label {
  order:0; padding:20px 24px; position:static; display:block;
  z-index:1; color:#f3efe8; background:#171a23;
  font-size:10px; text-shadow:none;
}
.spotlight-card-body {
  order:2; position:static; margin:0!important; padding:25px 24px 19px;
  background:#171a23; text-shadow:none;
}
.spotlight-card-body small { margin-bottom:8px; color:#c5af90; }
.spotlight-card-body strong {
  font-size:clamp(30px,3.3vw,49px); line-height:1; letter-spacing:-.01em;
}
.spotlight-card-foot {
  order:3; position:static; margin:0; padding:18px 24px;
  background:#171a23; color:#f3efe8; text-shadow:none;
}
.spotlight-card > img:not(.spotlight-background-photo) {display:none!important;}

/* Homepage past-event tile: the Russell banner is never covered by duplicate text. */
.archive-card {
  min-height:0; display:flex; flex-direction:column; justify-content:flex-start;
  background:#fff; color:#0b0c10; padding:0!important;
  border:1px solid rgba(11,12,16,.14);
}
.archive-background-photo {
  position:static; display:block; width:100%; height:auto;
  object-fit:contain; object-position:center; opacity:1;
  filter:none; pointer-events:none;
}
.archive-card > span {padding:19px 25px 0;font-size:10px; color:#333;}
.archive-card > strong {padding:9px 25px 0;font-size:clamp(38px,4vw,61px);line-height:.92; color:#0b0c10;}
.archive-card > small {padding:12px 54px 23px 25px;font-size:10px;color:#363636;}
.archive-card > b {right:22px; bottom:16px; color:#27324a;}

/* Keep artwork unmodified on mobile, too. */
@media(max-width:790px){
 .past-feature{grid-template-columns:1fr;}
 .past-photo-link{grid-column:1;max-height:none;height:auto;}
 .past-feature > div:nth-child(2){padding:29px 28px 0;}
 .past-feature > .past-desc{padding:18px 28px 0;}
 .past-feature h3{font-size:clamp(55px,10vw,84px)}
}
@media(max-width:520px){
 .event-art.event-art-photo,.event-image-link,.event-image-link img{min-height:0!important;}
 .event-image-cta{padding:15px 18px;font-size:9px;}
 .past-photo-link{height:auto;min-height:0;}
 .past-photo-caption{padding:12px 19px;}
 .past-feature>div:nth-child(2){padding:24px 21px 0;}
 .past-feature>.past-desc{padding:20px 21px 0;}
 .past-feature h3{font-size:clamp(50px,12.5vw,69px);}
 .spotlight-card{box-shadow:10px 12px 0 rgba(11,12,16,.08);}
 .spotlight-card-label{padding:17px 17px;}
 .spotlight-card-body{padding:20px 17px 14px;}
 .spotlight-card-body strong{font-size:clamp(32px,9vw,46px);}
 .spotlight-card-foot{padding:16px 17px;}
 .archive-card>strong{font-size:clamp(39px,10vw,57px)}
}
@media(prefers-reduced-motion:reduce){
 .event-image-link img,.past-photo-link img{transition:none!important}
}


/* HOME HERO FEATURE — make the upcoming show's ORIGINAL poster the focal point.
   The poster is displayed at its natural aspect ratio, never cropped or overlaid. */
.home-page .hero-layout {
  grid-template-columns: minmax(0, 1fr) 355px;
  gap: clamp(30px, 4.5vw, 75px);
}
.home-page .hero-next-featured {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(231, 194, 126, .62);
  border-radius: 17px;
  background: #121016;
  color: #f3efe8;
  box-shadow: 0 25px 64px rgba(0, 0, 0, .5), 0 0 0 3px rgba(231, 194, 126, .09);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.home-page .hero-next-featured:hover {
  transform: translateY(-6px);
  border-color: #e9c587;
  box-shadow: 0 30px 66px rgba(0,0,0,.55), 0 0 0 3px rgba(231,194,126,.18);
}
.home-page .hero-next-featured .hero-next-tag {
  width: 100%;
  min-height: 54px;
  padding: 12px 18px;
  background: #19151a;
  color: #f3efe8;
  font-size: 10px;
  letter-spacing: .18em;
}
.home-page .hero-next-featured .hero-next-tag b {
  padding: 7px 9px;
  background: #c5af90;
  color: #0b0c10;
  font-size: 9px;
  letter-spacing: .13em;
}
.home-page .hero-next-featured .hero-next-artwork {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  object-fit: contain;
  object-position: center;
  border: 0;
  transition: filter .3s ease;
}
.home-page .hero-next-featured:hover .hero-next-artwork { filter: brightness(1.08); }
.home-page .hero-next-featured .hero-next-foot {
  width: 100%;
  min-height: 55px;
  padding: 12px 18px;
  background: #19151a;
  color: #f3efe8;
  border-top: 1px solid rgba(232, 194, 126, .35);
  font-size: 10px;
  letter-spacing: .17em;
}
.home-page .hero-next-featured .hero-next-foot b { color: #e9c587; }
@media (max-width: 1100px) and (min-width: 791px) {
  .home-page .hero-layout { grid-template-columns: minmax(0,1fr) 275px; gap: 25px; }
  .home-page .hero-next-featured { min-height: 0; }
}
@media (max-width: 790px) {
  .home-page .hero-layout { grid-template-columns: 1fr; }
  .home-page .hero-next-featured { width: min(100%, 520px); max-width: 520px; min-height: 0; padding: 0; }
}
@media (max-width: 520px) {
  .home-page .hero-next-featured { width: 100%; min-height: 0; padding: 0; }
  .home-page .hero-next-featured .hero-next-tag { min-height: 46px; padding: 9px 14px; }
  .home-page .hero-next-featured .hero-next-foot { min-height: 49px; padding: 10px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .hero-next-featured, .home-page .hero-next-featured .hero-next-artwork { transition: none; }
}
