/* Pro Law Enforcement v1.0.2 — StreamWave Community Suite */
:root{--swft-bg:#080f1d;--swft-panel:#111d32;--swft-hero:#132845;--swft-border:#41628b;--swft-text:#f3f7ff;--swft-muted:#b9cce4;--swft-link:#8edbff;--swft-accent:#e53a4c;--swft-field:#0a1729;--theme-bg:#080f1d;--theme-panel:#111d32;--theme-text:#f3f7ff;--theme-muted:#b9cce4;--theme-border:#41628b;--theme-accent:#e53a4c;--theme-link:#8edbff;--theme-field:#0a1729}
body.swft-pro-law-enforcement{color-scheme:dark;background:#080f1d url('assets/law-enforcement-background.jpg') center center / cover no-repeat fixed!important;color:#f3f7ff!important;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
body.swft-pro-law-enforcement .swf{max-width:1500px;margin-inline:auto;color:#f3f7ff}
body.swft-pro-law-enforcement .swf .hero{min-height:250px!important;background:linear-gradient(90deg,#080f1de8 0%,#080f1d55 55%,#080f1d11),url('assets/law-enforcement-background.jpg') center / cover no-repeat!important;border:2px solid #e53a4c!important;border-radius:15px!important;box-shadow:0 0 0 3px #111d32,0 12px 30px #000b!important;padding:34px!important;overflow:hidden}
body.swft-pro-law-enforcement .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-pro-law-enforcement .swf .hero h1{font-size:clamp(27px,4vw,48px)}
body.swft-pro-law-enforcement .swf :is(.panel,.side-panel,.swf-category){background:linear-gradient(160deg,#111d32eF,#0a1729f2)!important;color:#f3f7ff!important;border:1px solid #41628b!important;border-radius:13px!important;box-shadow:0 8px 25px #0009!important;overflow:hidden}
body.swft-pro-law-enforcement .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 #e53a4c!important;padding:13px 16px!important;min-height:48px;font-weight:800!important;text-shadow:0 2px 3px #0009!important}
body.swft-pro-law-enforcement .swf .swf-category-head:before{content:'✦';color:#e9b868;margin-right:10px}
body.swft-pro-law-enforcement .swf .swf-category-head:after{display:none!important}
body.swft-pro-law-enforcement .swf :is(.swf-forum-row,.swf-forum-node,.item,.post){background:#111d32ea!important;color:#f3f7ff!important;border-color:#506b94!important;box-shadow:none!important}
body.swft-pro-law-enforcement .swf :is(.swf-forum-row,.item):hover{background:#203b60!important}
body.swft-pro-law-enforcement .swf :is(.swf-forum-name,.item h3){color:#ffe7b6!important;font-weight:800}
body.swft-pro-law-enforcement .swf .swf-forum-icon{background:#183a68!important;color:#e9b868!important;border:1px solid #607fae!important}
body.swft-pro-law-enforcement .swf :is(.muted,.meta,.side-welcome,.side-stat){color:#d2def1!important}
body.swft-pro-law-enforcement .swf a,body.swft-pro-law-enforcement .swf a:visited{color:#8edbff!important;opacity:1!important}
body.swft-pro-law-enforcement .swf a:hover{color:#fff0d7!important;text-decoration:underline}
body.swft-pro-law-enforcement .swf :is(.swf-category-head,.panel>h2,.side-panel>h2,.side-panel>h3) a{color:#fff9ef!important}
body.swft-pro-law-enforcement .swf :is(.btn,button:not(.swf-reaction)){background:linear-gradient(#e53a4c,#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-pro-law-enforcement .swf :is(.btn,button:not(.swf-reaction)):hover{background:linear-gradient(#f07883,#b72e4b)!important;color:#ffffff!important}
body.swft-pro-law-enforcement .swf :is(input,select,textarea){background:#0a1729!important;color:#fff9ef!important;border:1px solid #7597c3!important;border-radius:8px!important}
body.swft-pro-law-enforcement .swf :is(input,select,textarea):focus{outline:2px solid #e53a4c!important}
body.swft-pro-law-enforcement .swf :is(.pill,.swfa-rank){background:#1c3e69!important;color:#ffe7b6!important;border:1px solid #7597c3!important}
body.swft-pro-law-enforcement .swf :is(table,td,th){color:#f3f7ff!important;border-color:#41628b!important}
body.swft-pro-law-enforcement .swf th{background:#1c3e69!important}
body.swft-pro-law-enforcement .swf :is(.community-sidebar,.swf-tree-node){color:#f3f7ff!important}
body.swft-pro-law-enforcement .swf :is(.topbar,.navbar,.site-nav,.swf-nav){background:linear-gradient(#193c69,#0a1729)!important;color:#fff!important;border-bottom:2px solid #e53a4c!important}
body.swft-pro-law-enforcement .swf :is(.topbar,.navbar,.site-nav,.swf-nav) :is(a,button){color:#fff8e8!important}
body.swft-pro-law-enforcement .swf :is(.topbar,.navbar,.site-nav,.swf-nav) a:hover{background:#284d7b!important;color:#fff!important}
body.swft-pro-law-enforcement .cb{--cb-panel:#111d32;--cb-text:#f3f7ff;--cb-muted:#b9cce4;--cb-border:#41628b;--cb-accent:#e53a4c;--cb-link:#8edbff;--cb-field:#0a1729;--cb-button:#d63b52;--cb-button-text:#ffffff}
body.swft-pro-law-enforcement .cb .panel{background:#111d32!important;color:#f3f7ff!important;border-color:#41628b!important}
body.swft-pro-law-enforcement .cb button{background:#d63b52!important;color:#ffffff!important}
body.swft-pro-law-enforcement .cb a{color:#8edbff!important}
body.swft-pro-law-enforcement :is(.shoutbox,.swf-shoutbox,.shoutbox-panel,.community-shoutbox){background:#111d32!important;color:#f3f7ff!important;border:2px solid #41628b!important;border-radius:12px}
body.swft-pro-law-enforcement :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 #e53a4c!important}
body.swft-pro-law-enforcement :is(footer,.swf-footer,.community-footer){background:linear-gradient(100deg,#091a34,#233f6b,#091a34)!important;color:#f3f7ff!important;border-top:3px solid #e53a4c!important}
body.swft-pro-law-enforcement :is(footer,.swf-footer,.community-footer) a{color:#8edbff!important}
body.swft-pro-law-enforcement .sw-services-footer{--ft-bg:#0a1729;--ft-fg:#f3f7ff;--ft-sub:#d2def1;--ft-accent:#8edbff;--ft-border:#41628b;--ft-card:#ffffff12}
body.swft-pro-law-enforcement .sw-services-footer :is(.swf-mark,.swf-service strong){color:#f3f7ff!important}
body.swft-pro-law-enforcement .sw-services-footer :is(h3,.swf-bottom a){color:#8edbff!important}
body.swft-pro-law-enforcement ::selection{background:#e53a4c;color:#080f1d}
@media(max-width:720px){body.swft-pro-law-enforcement{background-size:cover!important;background-attachment:scroll!important}body.swft-pro-law-enforcement .swf .hero{min-height:175px!important;padding:20px!important;background-position:65% center!important}}
@media(prefers-reduced-motion:reduce){body.swft-pro-law-enforcement *,body.swft-pro-law-enforcement *:before,body.swft-pro-law-enforcement *:after{animation:none!important;transition:none!important}}



/* Pro Law Enforcement — layered, softly defocused red/blue emergency lightbars. */
@keyframes pleLightbar{0%,100%{background-position:0% 50%;box-shadow:inset 0 0 22px #ff263955,0 0 12px #e7334566}25%{background-position:40% 50%;box-shadow:inset 0 0 34px #ff304d99,0 0 22px #ec344d99}50%{background-position:100% 50%;box-shadow:inset 0 0 34px #2685ff99,0 0 22px #238cff99}75%{background-position:60% 50%;box-shadow:inset 0 0 18px #358dff66,0 0 13px #337cff77}}
@keyframes plePulse{0%,100%{opacity:.45;transform:translateX(-9%) scale(1.05)}50%{opacity:.9;transform:translateX(9%) scale(1.13)}}
body.swft-pro-law-enforcement .swf .swf-category-head{position:relative!important;isolation:isolate;overflow:hidden!important;min-height:72px!important;padding:16px 20px!important;background:linear-gradient(100deg,#290b19 0%,#8b172f 24%,#141b38 48%,#123e8c 75%,#081a39 100%)!important;background-size:230% 100%!important;border:1px solid #7895c4!important;border-bottom:3px solid #e53a4c!important;color:#fff!important;text-shadow:0 2px 8px #000!important;animation:pleLightbar 4.2s ease-in-out infinite!important}
body.swft-pro-law-enforcement .swf .swf-category-head:before{content:''!important;position:absolute!important;inset:-40% -20%!important;margin:0!important;pointer-events:none!important;background:radial-gradient(ellipse at 26% 50%,#ff1f3e9c,transparent 35%),radial-gradient(ellipse at 75% 50%,#1b75ffb3,transparent 38%)!important;filter:blur(22px)!important;animation:plePulse 3.1s ease-in-out infinite alternate!important;z-index:-1!important}
body.swft-pro-law-enforcement .swf .swf-category-head:after{content:''!important;display:block!important;position:absolute!important;inset:0!important;pointer-events:none!important;background:linear-gradient(180deg,#ffffff24,transparent 35%,#00000030)!important;z-index:-1!important}
body.swft-pro-law-enforcement .swf .swf-category-head :is(a,span,strong,small){position:relative!important;z-index:2!important;color:#fff!important;opacity:1!important;text-shadow:0 2px 7px #000,0 0 10px #000!important}
body.swft-pro-law-enforcement .swf .hero{background:linear-gradient(90deg,#071121ec 0%,#071121a8 46%,#07112130 100%),url('assets/law-enforcement-background.jpg') center / cover no-repeat!important;border-color:#4a83bf!important}
body.swft-pro-law-enforcement .swf :is(.panel,.side-panel,.swf-category){backdrop-filter:blur(5px)!important}
body.swft-pro-law-enforcement .swf :is(.btn,button:not(.swf-reaction)){background:linear-gradient(115deg,#a92339,#d83b50)!important;color:#fff!important;border-color:#f88d99!important}
body.swft-pro-law-enforcement .swf :is(.btn,button:not(.swf-reaction)):hover{background:linear-gradient(115deg,#ba3046,#215ab0)!important;color:#fff!important}
body.swft-pro-law-enforcement :is(.shoutbox,.swf-shoutbox,.shoutbox-panel,.community-shoutbox) :is(h2,h3,.header,.shoutbox-header){background:linear-gradient(105deg,#6f142a,#162b53,#14539c)!important;color:#fff!important}
body.swft-pro-law-enforcement :is(footer,.swf-footer,.community-footer){background:linear-gradient(105deg,#080e1c,#142944 50%,#080e1c)!important;color:#f3f7ff!important}
body.swft-pro-law-enforcement .sw-services-footer{--ft-bg:#0a1729;--ft-fg:#f3f7ff;--ft-sub:#b9cce4;--ft-accent:#8edbff;--ft-border:#41628b;--ft-card:#ffffff12}
@media(prefers-reduced-motion:reduce){body.swft-pro-law-enforcement .swf .swf-category-head,body.swft-pro-law-enforcement .swf .swf-category-head:before{animation:none!important}}

body.swft-pro-law-enforcement .swf :is(.swf-forum-name,.item h3){color:#cceaff!important}body.swft-pro-law-enforcement .swf :is(.muted,.meta,.side-welcome,.side-stat){color:#b9cce4!important}body.swft-pro-law-enforcement .swf a,body.swft-pro-law-enforcement .swf a:visited{color:#8edbff!important;opacity:1!important}body.swft-pro-law-enforcement .swf .swf-category-head a{color:#fff!important}body.swft-pro-law-enforcement .swf :is(.swf-forum-row,.swf-forum-node,.item,.post){background:#111d32ed!important;color:#f3f7ff!important}body.swft-pro-law-enforcement .swf :is(input,select,textarea){background:#0a1729!important;color:#fff!important;border-color:#668cb5!important}body.swft-pro-law-enforcement :is(footer,.swf-footer,.community-footer) a{color:#8edbff!important}body.swft-pro-law-enforcement .cb{--cb-panel:#111d32;--cb-text:#f3f7ff;--cb-muted:#b9cce4;--cb-border:#41628b;--cb-accent:#e53a4c;--cb-link:#8edbff;--cb-field:#0a1729;--cb-button:#b72b41;--cb-button-text:#fff}

/* v1.0.1: taller cinematic header banner, without changing other components */
body.swft-pro-law-enforcement .swf .hero{min-height:420px!important;padding:52px 42px!important;background-position:center 44%!important;}
body.swft-pro-law-enforcement .swf .hero h1{font-size:clamp(32px,4.2vw,58px)!important;}
@media(max-width:720px){body.swft-pro-law-enforcement .swf .hero{min-height:265px!important;padding:28px 22px!important;background-position:60% center!important;}}

/* v1.0.2: unmistakable fast police emergency lightbar */
@keyframes pleStrobe{0%,9%,20%,29%,50%,59%,70%,79%,100%{background-color:#190b19}3%,23%,53%,73%{background-color:#ed001b}13%,33%,63%,83%{background-color:#004cf8}}
@keyframes pleBeams{0%,100%{background-position:0% 50%;filter:brightness(1)}25%{background-position:65% 50%;filter:brightness(1.8)}50%{background-position:100% 50%;filter:brightness(1.15)}75%{background-position:30% 50%;filter:brightness(2)}}
@keyframes pleRedBlueGlow{0%,10%,20%,30%,50%,60%,70%,80%,100%{box-shadow:inset 0 0 20px #000,0 0 8px #0b1530}5%,25%,55%,75%{box-shadow:inset 0 0 55px #ff0028,0 0 28px #ff0028,0 0 48px #e00026}15%,35%,65%,85%{box-shadow:inset 0 0 55px #0069ff,0 0 28px #008bff,0 0 48px #004cff}}
@keyframes pleFlashSweep{0%{transform:translateX(-105%);opacity:.15}20%{opacity:1}50%{transform:translateX(105%);opacity:.95}100%{transform:translateX(-105%);opacity:.15}}
body.swft-pro-law-enforcement .swf .swf-category-head{isolation:isolate!important;position:relative!important;overflow:hidden!important;min-height:78px!important;border:2px solid #d5e6ff!important;border-bottom:5px solid #ff243c!important;background:repeating-linear-gradient(90deg,#ff0029 0%,#fc3b4b 13%,#1a1d32 25%,#0261ff 38%,#19b2ff 48%,#07142e 52%,#ff0029 70%,#092052 100%)!important;background-size:260% 100%!important;animation:pleBeams 1.15s steps(5,end) infinite,pleRedBlueGlow 1.15s steps(10,end) infinite!important;text-shadow:0 2px 5px #000,0 0 10px #000!important}
body.swft-pro-law-enforcement .swf .swf-category-head:before{content:''!important;position:absolute!important;inset:-20% -15%!important;display:block!important;z-index:-1!important;pointer-events:none!important;background:linear-gradient(90deg,transparent 0%,#ff1833d9 22%,#fff8 28%,transparent 43%,#0685ffd9 66%,#fff8 74%,transparent 100%)!important;filter:blur(12px)!important;animation:pleFlashSweep 1.35s linear infinite!important}
body.swft-pro-law-enforcement .swf .swf-category-head:after{content:''!important;display:block!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;background:linear-gradient(180deg,#fff8 0%,transparent 34%,#0008 100%)!important;animation:pleStrobe 1.15s steps(10,end) infinite!important;mix-blend-mode:screen!important}
body.swft-pro-law-enforcement .swf .swf-category-head :is(a,span,strong,small){color:#fff!important;text-shadow:0 2px 5px #000,0 0 9px #000!important;z-index:3!important;position:relative!important}
/* Individually rendered police insignia. Assets live directly under assets/ for installer compatibility. */
body.swft-pro-law-enforcement .swf .swf-forum-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none!important;min-width:55px!important;min-height:55px!important;width:55px!important;height:55px!important;background:#07172d url('assets/police-badge.jpg') center/contain no-repeat!important;border:1px solid #70a4ef!important;border-radius:12px!important;box-shadow:0 0 12px #1468ed66!important;color:transparent!important;font-size:0!important;overflow:hidden!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+1) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+1) .swf-forum-icon{background-image:url('assets/police-badge.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+2) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+2) .swf-forum-icon{background-image:url('assets/police-patrol-car.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+3) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+3) .swf-forum-icon{background-image:url('assets/police-siren.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+4) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+4) .swf-forum-icon{background-image:url('assets/police-shield.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+5) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+5) .swf-forum-icon{background-image:url('assets/police-radio.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+6) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+6) .swf-forum-icon{background-image:url('assets/police-handcuffs.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+7) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+7) .swf-forum-icon{background-image:url('assets/police-dispatch.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+8) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+8) .swf-forum-icon{background-image:url('assets/police-investigation.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+9) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+9) .swf-forum-icon{background-image:url('assets/police-traffic.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+10) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+10) .swf-forum-icon{background-image:url('assets/police-evidence.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+11) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+11) .swf-forum-icon{background-image:url('assets/police-officer.jpg')!important}
body.swft-pro-law-enforcement .swf .swf-forum-row:nth-of-type(12n+12) .swf-forum-icon,body.swft-pro-law-enforcement .swf .swf-forum-node:nth-of-type(12n+12) .swf-forum-icon{background-image:url('assets/police-station.jpg')!important}
@media(prefers-reduced-motion:reduce){body.swft-pro-law-enforcement .swf .swf-category-head,body.swft-pro-law-enforcement .swf .swf-category-head:before,body.swft-pro-law-enforcement .swf .swf-category-head:after{animation:none!important}}
