/* New Orleans Voodoo Nights v1.0.4 — standalone StreamWave Community Suite theme. */
:root{--swft-bg:#100919;--swft-panel:#24142e;--swft-hero:#32183b;--swft-border:#815b91;--swft-text:#fff3e4;--swft-muted:#d9bddb;--swft-link:#ffd78e;--swft-accent:#b64c94;--swft-field:#190d22;--theme-bg:#100919;--theme-panel:#24142e;--theme-text:#fff3e4;--theme-muted:#d9bddb;--theme-border:#815b91;--theme-accent:#b64c94;--theme-link:#ffd78e;--theme-field:#190d22}
body.swft-new-orleans-voodoo{color-scheme:dark;background:#100919 url('assets/voodoo-bayou-background.jpg') center center / cover no-repeat fixed!important;color:#fff3e4!important;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
body.swft-new-orleans-voodoo .swf{max-width:1500px;margin-inline:auto;color:#fff3e4}
body.swft-new-orleans-voodoo .swf .hero{min-height:250px!important;background:linear-gradient(90deg,#100919e8 0%,#10091955 55%,#10091911),url('assets/voodoo-bayou-background.jpg') center / cover no-repeat!important;border:2px solid #b64c94!important;border-radius:15px!important;box-shadow:0 0 0 3px #24142e,0 12px 30px #000b!important;padding:34px!important;overflow:hidden}
body.swft-new-orleans-voodoo .swf .hero :is(h1,p){color:#fff0d7!important;opacity:1!important;text-shadow:0 2px 8px #000,0 0 12px #000;font-weight:800}
body.swft-new-orleans-voodoo .swf .hero h1{font-size:clamp(27px,4vw,48px)}
body.swft-new-orleans-voodoo .swf :is(.panel,.side-panel,.swf-category){background:linear-gradient(160deg,#24142eeF,#190d22f2)!important;color:#fff3e4!important;border:1px solid #815b91!important;border-radius:13px!important;box-shadow:0 8px 25px #0009!important;overflow:hidden}
body.swft-new-orleans-voodoo .swf :is(.swf-category-head,.panel>h2,.side-panel>h2,.side-panel>h3){display:flex!important;align-items:center!important;background:linear-gradient(105deg,#183a68,#a52b48 65%,#153a73)!important;color:#fff9ef!important;border:0!important;border-bottom:3px solid #b64c94!important;padding:13px 16px!important;min-height:48px;font-weight:800!important;text-shadow:0 2px 3px #0009!important}
body.swft-new-orleans-voodoo .swf .swf-category-head:before{content:'✦';color:#e9b868;margin-right:10px}
body.swft-new-orleans-voodoo .swf .swf-category-head:after{display:none!important}
body.swft-new-orleans-voodoo .swf :is(.swf-forum-row,.swf-forum-node,.item,.post){background:#24142eea!important;color:#fff3e4!important;border-color:#506b94!important;box-shadow:none!important}
body.swft-new-orleans-voodoo .swf :is(.swf-forum-row,.item):hover{background:#203b60!important}
body.swft-new-orleans-voodoo .swf :is(.swf-forum-name,.item h3){color:#ffe7b6!important;font-weight:800}
body.swft-new-orleans-voodoo .swf .swf-forum-icon{background:#183a68!important;color:#e9b868!important;border:1px solid #607fae!important}
body.swft-new-orleans-voodoo .swf :is(.muted,.meta,.side-welcome,.side-stat){color:#d2def1!important}
body.swft-new-orleans-voodoo .swf a,body.swft-new-orleans-voodoo .swf a:visited{color:#ffd78e!important;opacity:1!important}
body.swft-new-orleans-voodoo .swf a:hover{color:#fff0d7!important;text-decoration:underline}
body.swft-new-orleans-voodoo .swf :is(.swf-category-head,.panel>h2,.side-panel>h2,.side-panel>h3) a{color:#fff9ef!important}
body.swft-new-orleans-voodoo .swf :is(.btn,button:not(.swf-reaction)){background:linear-gradient(#b64c94,#8c243f)!important;color:#ffffff!important;border:1px solid #f3a7b0!important;border-radius:8px!important;font-weight:800!important;text-shadow:none!important;box-shadow:0 2px 7px #0008!important}
body.swft-new-orleans-voodoo .swf :is(.btn,button:not(.swf-reaction)):hover{background:linear-gradient(#f07883,#b72e4b)!important;color:#ffffff!important}
body.swft-new-orleans-voodoo .swf :is(input,select,textarea){background:#190d22!important;color:#fff9ef!important;border:1px solid #7597c3!important;border-radius:8px!important}
body.swft-new-orleans-voodoo .swf :is(input,select,textarea):focus{outline:2px solid #b64c94!important}
body.swft-new-orleans-voodoo .swf :is(.pill,.swfa-rank){background:#1c3e69!important;color:#ffe7b6!important;border:1px solid #7597c3!important}
body.swft-new-orleans-voodoo .swf :is(table,td,th){color:#fff3e4!important;border-color:#815b91!important}
body.swft-new-orleans-voodoo .swf th{background:#1c3e69!important}
body.swft-new-orleans-voodoo .swf :is(.community-sidebar,.swf-tree-node){color:#fff3e4!important}
body.swft-new-orleans-voodoo .swf :is(.topbar,.navbar,.site-nav,.swf-nav){background:linear-gradient(#193c69,#190d22)!important;color:#fff!important;border-bottom:2px solid #b64c94!important}
body.swft-new-orleans-voodoo .swf :is(.topbar,.navbar,.site-nav,.swf-nav) :is(a,button){color:#fff8e8!important}
body.swft-new-orleans-voodoo .swf :is(.topbar,.navbar,.site-nav,.swf-nav) a:hover{background:#284d7b!important;color:#fff!important}
body.swft-new-orleans-voodoo .cb{--cb-panel:#24142e;--cb-text:#fff3e4;--cb-muted:#d9bddb;--cb-border:#815b91;--cb-accent:#b64c94;--cb-link:#ffd78e;--cb-field:#190d22;--cb-button:#d63b52;--cb-button-text:#ffffff}
body.swft-new-orleans-voodoo .cb .panel{background:#24142e!important;color:#fff3e4!important;border-color:#815b91!important}
body.swft-new-orleans-voodoo .cb button{background:#d63b52!important;color:#ffffff!important}
body.swft-new-orleans-voodoo .cb a{color:#ffd78e!important}
body.swft-new-orleans-voodoo :is(.shoutbox,.swf-shoutbox,.shoutbox-panel,.community-shoutbox){background:#24142e!important;color:#fff3e4!important;border:2px solid #815b91!important;border-radius:12px}
body.swft-new-orleans-voodoo :is(.shoutbox,.swf-shoutbox,.shoutbox-panel,.community-shoutbox) :is(h2,h3,.header,.shoutbox-header){background:linear-gradient(90deg,#193c69,#a52b48)!important;color:#fff9ef!important;border-bottom:2px solid #b64c94!important}
body.swft-new-orleans-voodoo :is(footer,.swf-footer,.community-footer){background:linear-gradient(100deg,#091a34,#233f6b,#091a34)!important;color:#fff3e4!important;border-top:3px solid #b64c94!important}
body.swft-new-orleans-voodoo :is(footer,.swf-footer,.community-footer) a{color:#ffd78e!important}
body.swft-new-orleans-voodoo .sw-services-footer{--ft-bg:#190d22;--ft-fg:#fff3e4;--ft-sub:#d2def1;--ft-accent:#ffd78e;--ft-border:#815b91;--ft-card:#ffffff12}
body.swft-new-orleans-voodoo .sw-services-footer :is(.swf-mark,.swf-service strong){color:#fff3e4!important}
body.swft-new-orleans-voodoo .sw-services-footer :is(h3,.swf-bottom a){color:#ffd78e!important}
body.swft-new-orleans-voodoo ::selection{background:#b64c94;color:#100919}
@media(max-width:720px){body.swft-new-orleans-voodoo{background-size:cover!important;background-attachment:scroll!important}body.swft-new-orleans-voodoo .swf .hero{min-height:175px!important;padding:20px!important;background-position:65% center!important}}
@media(prefers-reduced-motion:reduce){body.swft-new-orleans-voodoo *,body.swft-new-orleans-voodoo *:before,body.swft-new-orleans-voodoo *:after{animation:none!important;transition:none!important}}


/* Voodoo Nights — animated candlelit category marquees. */
@keyframes vnFlicker{0%,100%{filter:brightness(1);box-shadow:inset 0 0 20px #b84a7840,0 0 9px #6c277c66}22%{filter:brightness(1.08)}27%{filter:brightness(.93)}55%{filter:brightness(1.12);box-shadow:inset 0 0 28px #f2a85d55,0 0 17px #9a3e9c88}72%{filter:brightness(.98)}}
@keyframes vnCharm{0%,100%{transform:translateY(0) rotate(-6deg);text-shadow:0 0 5px #f5b661}50%{transform:translateY(-3px) rotate(6deg);text-shadow:0 0 15px #ffc66d}}
@keyframes vnMoon{0%,100%{opacity:.8}50%{opacity:1}}
body.swft-new-orleans-voodoo .swf .swf-category-head,
html body.swft-new-orleans-voodoo main.swf section.swf-category > div.swf-category-head{
 position:relative!important;isolation:isolate;overflow:hidden!important;
 background:linear-gradient(90deg,#160b22bb,#28103688 48%,#160b22bd),url('assets/voodoo-category-mist.gif') center / 100% 100% no-repeat!important;
 min-height:78px!important;padding:17px 19px!important;display:flex!important;align-items:center!important;
 border:2px solid #b98054!important;border-bottom:3px solid #e7ad61!important;
 color:#fff2dc!important;text-shadow:0 2px 7px #09030d,0 0 10px #08030d!important;
 animation:vnFlicker 4.3s ease-in-out infinite!important;
}
body.swft-new-orleans-voodoo .swf .swf-category-head:before{content:'✦'!important;display:inline-block!important;flex:none;margin-right:13px;color:#ffcc78!important;font-size:24px!important;animation:vnCharm 3.2s ease-in-out infinite!important}
body.swft-new-orleans-voodoo .swf .swf-category-head:after{content:'☾ ✧'!important;display:inline-block!important;flex:none;margin-left:auto;padding-left:12px;color:#ffcf83!important;font-size:22px!important;animation:vnMoon 3.5s ease-in-out infinite!important}
body.swft-new-orleans-voodoo .swf .swf-category-head :is(a,span,strong,small){position:relative!important;z-index:2!important;color:#fff4df!important;text-shadow:0 2px 7px #000,0 0 12px #000!important;opacity:1!important}
body.swft-new-orleans-voodoo .swf .hero{background-image:linear-gradient(90deg,#140a20d9 0%,#140a20a8 47%,#140a2030 100%),url('assets/voodoo-bayou-background.jpg')!important;border-color:#bd7b5d!important}
body.swft-new-orleans-voodoo .swf :is(.panel,.side-panel,.swf-category){backdrop-filter:blur(5px);border-color:#815b91!important}
body.swft-new-orleans-voodoo .swf :is(.btn,button:not(.swf-reaction)){background:linear-gradient(125deg,#70316d,#a84986)!important;color:#fff!important;border-color:#d48fae!important}
body.swft-new-orleans-voodoo .swf :is(.btn,button:not(.swf-reaction)):hover{background:linear-gradient(125deg,#9b4a8b,#6b336e)!important;color:#fff!important}
body.swft-new-orleans-voodoo :is(.shoutbox,.swf-shoutbox,.shoutbox-panel,.community-shoutbox) :is(h2,h3,.header,.shoutbox-header){background:linear-gradient(110deg,#311441,#793764)!important;color:#fff!important}
body.swft-new-orleans-voodoo :is(footer,.swf-footer,.community-footer){background:linear-gradient(110deg,#160b22,#3a1b4c 45%,#6e2e57 100%)!important}
@media(prefers-reduced-motion:reduce){body.swft-new-orleans-voodoo .swf .swf-category-head,body.swft-new-orleans-voodoo .swf .swf-category-head:before,body.swft-new-orleans-voodoo .swf .swf-category-head:after{animation:none!important}}

/* Taller cinematic header banner */
body.swft-new-orleans-voodoo .swf .hero{min-height:410px!important;padding:48px 38px!important;background-position:center 43%!important}
@media(max-width:720px){body.swft-new-orleans-voodoo .swf .hero{min-height:270px!important;padding:26px 20px!important;background-position:60% center!important}}
