:root{}

/* v2.4.35 - party cards with full-cover artwork and cleaner content */
.gf-home-party-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.gf-home-party-card{
  position:relative;
  display:block;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--gf-u-border);
  border-radius:14px;
  background:#17191e;
  color:inherit;
  text-decoration:none;
  isolation:isolate;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.gf-home-party-card:hover{
  transform:translateY(-1px);
  border-color:rgba(198,178,255,.22);
  background:#1b1e23;
}
.gf-home-party-art{
  position:relative;
  display:block;
  min-height:250px;
  background:#17191e;
}
.gf-home-party-art > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.gf-home-party-art::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,8,10,.08) 10%,rgba(7,8,10,.28) 42%,rgba(7,8,10,.72) 72%,rgba(7,8,10,.96) 100%);
}
.gf-home-party-top,
.gf-live-rail-party-top{
  position:absolute;
  z-index:2;
  top:12px;
  right:12px;
  left:12px;
  display:flex;
  justify-content:flex-end;
}
.gf-home-party-mic,
.gf-live-rail-party-mic{
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(14,22,18,.92);
  border:1px solid rgba(84,223,145,.35);
  color:#54df91;
  box-shadow:0 0 0 1px rgba(84,223,145,.05),0 0 18px rgba(84,223,145,.12);
}
.gf-home-party-mic .material-symbols-rounded,
.gf-live-rail-party-mic .material-symbols-rounded{
  font-size:16px;
}
.gf-home-party-copy{
  position:absolute;
  z-index:2;
  left:14px;
  right:14px;
  bottom:14px;
  display:grid;
  gap:7px;
  padding:0;
}
.gf-home-party-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#ccb8ff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.gf-home-party-copy strong{
  display:-webkit-box;
  min-height:0;
  overflow:hidden;
  color:#f4f3f8;
  font:500 28px/1.02 "Barlow Condensed",sans-serif;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.gf-home-party-footer,
.gf-live-rail-party-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.gf-home-party-slots,
.gf-live-rail-party-slots{
  display:inline-grid;
  gap:2px;
}
.gf-home-party-slots b,
.gf-live-rail-party-slots strong{
  margin:0;
  color:#fff;
  font:600 46px/.82 "Barlow Condensed",sans-serif;
  letter-spacing:-.02em;
}
.gf-home-party-slots span,
.gf-live-rail-party-slots span{
  color:#98a0ad;
  font-size:10px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.gf-live-rail-party{
  position:relative;
  display:block;
  min-height:132px;
  overflow:hidden;
  padding:0;
  border:1px solid #25282f;
  border-radius:10px;
  background:#15171b;
  color:inherit;
  text-decoration:none;
  isolation:isolate;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.gf-live-rail-party:hover{
  border-color:#37323f;
  background:#191b20;
  transform:translateY(-1px);
}
.gf-live-rail-party > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.gf-live-rail-party::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,8,10,.05) 8%,rgba(7,8,10,.28) 38%,rgba(7,8,10,.68) 68%,rgba(7,8,10,.94) 100%);
}
.gf-live-rail-party-copy{
  position:absolute;
  z-index:2;
  left:12px;
  right:12px;
  bottom:12px;
  display:grid;
  gap:5px;
}
.gf-live-rail-party-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#ccb8ff;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.gf-live-rail-party-copy strong{
  display:-webkit-box;
  overflow:hidden;
  color:#f4f3f8;
  font:500 22px/1 "Barlow Condensed",sans-serif;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.gf-live-rail-party-slots strong{
  font-size:36px;
}

@media(max-width:1180px){
  .gf-home-party-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .gf-home-party-grid{grid-template-columns:1fr;}
  .gf-home-party-art{min-height:228px;}
  .gf-home-party-copy strong{font-size:24px;}
  .gf-home-party-slots b{font-size:40px;}
}
