.huse-upcoming { position: fixed; left: 0; right: 0; z-index: 9999; display: none; }
.huse-upcoming.huse-upcoming--top { top: 0; }
.huse-upcoming.huse-upcoming--bottom { bottom: 0; }
.huse-upcoming.huse-upcoming--popup { position: fixed; left: 50%; right: auto; top: 50%; transform: translate(-50%, -50%); width: min(680px, 92vw); max-width: 92vw; border-radius: 10px; box-shadow: 0 10px 40px rgba(0,0,0,.35); }
.huse-upcoming { --huse-bg: #111; --huse-text: #fff; }
.huse-upcoming__inner { display: flex; align-items: baseline; gap: 14px; padding: 10px 16px; background: var(--huse-bg) !important; color: var(--huse-text) !important; justify-content: flex-start; }
.huse-upcoming--align-center .huse-upcoming__inner { justify-content: center; }
.huse-upcoming--align-right .huse-upcoming__inner { justify-content: flex-end; }
.huse-upcoming--align-right .huse-upcoming__date { margin-left: 12px; margin-right: 0; }
.huse-upcoming__inner a { color: inherit; }
.huse-upcoming--has-border .huse-upcoming__inner { border-top: 1px solid var(--huse-border-color, rgba(255,255,255,.2)); border-bottom: 1px solid var(--huse-border-color, rgba(0,0,0,.5)); }
.huse-upcoming--glow .huse-upcoming__inner { box-shadow: 0 0 12px 2px var(--huse-glow-c1, rgba(255, 214, 0, .45)), 0 0 24px var(--huse-glow-c2, rgba(255, 214, 0, .25)) inset; }
.huse-upcoming--glow-pulse .huse-upcoming__inner { animation: huseGlow var(--huse-pulse-speed,1.8s) ease-in-out infinite; }
.huse-upcoming--glow-shimmer .huse-upcoming__inner { position: relative; overflow: hidden; }
.huse-upcoming--glow-shimmer .huse-upcoming__inner:after { content: ""; position: absolute; top: 0; left: -40%; width: var(--huse-shimmer-width,40%); height: 100%; background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,var(--huse-shimmer-opacity,.18)) 50%, rgba(255,255,255,0) 100%); filter: saturate(1.6); animation: huseShimmer var(--huse-shimmer-speed,3.2s) linear infinite; pointer-events: none; }
@keyframes huseShimmer { 0% { left: -40%; } 100% { left: 120%; } }
.huse-upcoming--glow.huse-upcoming--popup { animation: none; }
@keyframes huseGlow { 0% { box-shadow: 0 0 6px 1px var(--huse-glow-cLow1, rgba(255,214,0,.25)), 0 0 12px var(--huse-glow-cLow2, rgba(255,214,0,.15)) inset; } 50% { box-shadow: 0 0 18px 4px var(--huse-glow-c1, rgba(255,214,0,.55)), 0 0 28px var(--huse-glow-c2, rgba(255,214,0,.35)) inset; } 100% { box-shadow: 0 0 6px 1px var(--huse-glow-cLow1, rgba(255,214,0,.25)), 0 0 12px var(--huse-glow-cLow2, rgba(255,214,0,.15)) inset; } }
.huse-upcoming__title { font-weight: 700; font-size: 1.1rem; }
.huse-upcoming__label { font-family: var(--typo-label-family, inherit) !important; font-size: var(--typo-label-size, .82rem); letter-spacing: var(--typo-label-spacing, normal); text-decoration: var(--typo-label-underline, none); }
.huse-upcoming__title { font-family: var(--typo-title-family, inherit) !important; font-size: var(--typo-title-size, 1.1rem); letter-spacing: var(--typo-title-spacing, normal); text-decoration: var(--typo-title-underline, none); }
.huse-upcoming__label { font-size: .82rem; text-transform: lowercase; opacity: .9; margin-right: 12px; }
.huse-typo.huse-typo--gradient { background: linear-gradient(90deg, #ff8a00, #e52e71, #9b00ff, #00c3ff, #ff8a00); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: huseGradientText 4s ease infinite; opacity: var(--huse-typo-grad-opacity, 1); }
@keyframes huseGradientText { 0%{ background-position: 0% 50%; } 50%{ background-position: 100% 50%; } 100%{ background-position: 0% 50%; } }
.huse-typo.huse-typo--shimmer { position: relative; display: inline-block; color: transparent; background: linear-gradient(90deg, var(--huse-text, #fff) 0%, var(--huse-text, #fff) 20%, rgba(255,255,255,0) 45%, var(--huse-text, #fff) 70%, var(--huse-text, #fff) 100%); -webkit-background-clip: text; background-clip: text; background-size: 200% 100%; animation: huseTextShimmer 3.2s linear infinite; }
/* Glitch text (subtle) */
.huse-typo.huse-typo--glitch { position: relative; display: inline-block; }
.huse-typo.huse-typo--glitch::before,
.huse-typo.huse-typo--glitch::after { content: attr(data-text); position: absolute; left: 0; top: 0; pointer-events: none; opacity: .85; }
.huse-typo.huse-typo--glitch::before { color: #ff3366; mix-blend-mode: screen; }
.huse-typo.huse-typo--glitch::after { color: #33ccff; mix-blend-mode: screen; }
.huse-typo.huse-typo--glitch { animation: huseGlitchBase 8s steps(1) infinite; }
.huse-typo.huse-typo--glitch::before { animation: huseGlitchShiftR 8s linear infinite; }
.huse-typo.huse-typo--glitch::after { animation: huseGlitchShiftC 8s linear infinite; }
@keyframes huseGlitchBase {
  0%, 88%, 100% { text-shadow: 0 0 0 rgba(255,255,255,.08); }
  90% { text-shadow: 0 0 3px rgba(255,255,255,.35); }
  92% { text-shadow: 0 0 5px rgba(255,255,255,.5); }
  94% { text-shadow: 0 0 2px rgba(255,255,255,.25); }
}
@keyframes huseGlitchShiftR {
  0%, 88%, 100% { transform: translate(0,0) skewX(0deg); opacity:.0; }
  90% { transform: translate(-2px,0) skewX(-4deg); opacity:.45; }
  92% { transform: translate(3px,0) skewX(4deg); opacity:.75; }
  94% { transform: translate(-1px,0) skewX(-2deg); opacity:.55; }
  96% { transform: translate(0,0) skewX(0deg); opacity:.0; }
}
@keyframes huseGlitchShiftC {
  0%, 88%, 100% { transform: translate(0,0) skewX(0deg); opacity:.0; }
  90% { transform: translate(2px,0) skewX(4deg); opacity:.45; }
  92% { transform: translate(-3px,0) skewX(-4deg); opacity:.75; }
  94% { transform: translate(1px,0) skewX(2deg); opacity:.55; }
  96% { transform: translate(0,0) skewX(0deg); opacity:.0; }
}
@keyframes huseTextShimmer { 0% { background-position: -50% 0; } 100% { background-position: 150% 0; } }
/* Text Fill animation removed per request */
.huse-upcoming__intro { font-size: .82rem; opacity: .9; }
.huse-upcoming__intro { font-family: var(--typo-intro-family, inherit) !important; font-size: var(--typo-intro-size, .82rem); letter-spacing: var(--typo-intro-spacing, normal); text-decoration: var(--typo-intro-underline, none); }
.huse-upcoming__date { font-size: .78rem; opacity: .8; margin-left: 12px; }
.huse-upcoming__date { font-family: var(--typo-date-family, inherit) !important; font-size: var(--typo-date-size, .78rem); letter-spacing: var(--typo-date-spacing, normal); text-decoration: var(--typo-date-underline, none); }
.huse-upcoming__close { position: absolute; top: 6px; right: 8px; background: transparent; border: 0; color: #fff; font-size: 20px; line-height: 1; cursor: pointer; opacity: .7; }
.huse-upcoming__close:hover { opacity: 1; }
.huse-upcoming__poster { position: absolute; pointer-events: none; opacity: 0; transform: translateY(6px) scale(.98); transition: opacity .18s ease, transform .18s ease; }
.huse-upcoming__poster img { max-width: 320px; width: 40vw; height: auto; border-radius: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.45); }
.huse-upcoming:hover .huse-upcoming__poster { opacity: 1; transform: translateY(0) scale(1); }
.huse-upcoming--top .huse-upcoming__poster { top: 100%; right: 12px; }
.huse-upcoming--bottom .huse-upcoming__poster { bottom: 100%; right: 12px; }
.huse-upcoming--popup .huse-upcoming__poster { position: static; opacity: 1; transform: none; margin: 12px; }

@media (max-width: 600px) {
	.huse-upcoming__inner { align-items: center; gap: 10px; padding: 8px 12px; }
	.huse-upcoming__title { font-size: 1rem; line-height: 1.15; }
	.huse-upcoming__label { font-size: .78rem; line-height: 1.15; }
	.huse-upcoming__intro { font-size: .78rem; line-height: 1.2; }
	.huse-upcoming__date { font-size: .74rem; line-height: 1.15; }
}



