:root{--fpn-bg:#030712;--fpn-bg2:#070012;--fpn-card:rgba(10,15,34,.72);--fpn-line:rgba(210,75,255,.32);--fpn-purple:#d416ff;--fpn-pink:#ff2eea;--fpn-blue:#10d9ff;--fpn-text:#fff;--fpn-muted:#b9bed3;--fpn-glow:0 0 26px rgba(212,22,255,.55)}
body.fpn-pro-body{background:#02040b!important;color:var(--fpn-text);font-family:Inter,Manrope,Arial,sans-serif}.fpn-site-shell{background:radial-gradient(circle at 5% 0%,rgba(149,0,255,.33),transparent 34%),radial-gradient(circle at 80% 8%,rgba(0,169,255,.22),transparent 40%),linear-gradient(180deg,#03050c,#02040b 70%);color:#fff;min-height:100vh}.fpn-site-shell a{text-decoration:none;color:inherit}.fpn-topbar{height:45px;padding:0 54px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#e8e8f4;background:rgba(0,0,0,.45);backdrop-filter:blur(14px)}.fpn-topbar div{display:flex;gap:24px;align-items:center}.fpn-topbar a{font-weight:900}.fpn-header{height:88px;padding:0 62px;display:flex;align-items:center;gap:35px;background:rgba(0,0,0,.58);border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:50;backdrop-filter:blur(22px)}.fpn-logo{line-height:1;display:inline-flex;flex-direction:column;align-items:flex-start}.fpn-logo span{font-size:54px;font-weight:1000;letter-spacing:-5px;background:linear-gradient(95deg,#ff18f7 0,#9d3bff 46%,#18dbff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 28px rgba(213,26,255,.35)}.fpn-logo small{font-size:11px;font-weight:900;letter-spacing:11px;color:#fff;margin-top:-7px;padding-left:4px}.fpn-nav{display:flex;gap:31px;align-items:center;margin-left:auto}.fpn-nav a{font-size:12px;font-weight:900;letter-spacing:.2px;color:#fff;opacity:.92;position:relative}.fpn-nav a:hover:after,.fpn-nav a:first-child:after{content:"";position:absolute;left:0;right:0;bottom:-24px;height:3px;background:linear-gradient(90deg,var(--fpn-pink),var(--fpn-blue));box-shadow:var(--fpn-glow)}.fpn-buy,.fpn-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;border-radius:8px;background:linear-gradient(100deg,#f216ff,#7017d9);font-size:13px;font-weight:1000;color:#fff!important;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 26px rgba(212,22,255,.45)}.fpn-buy{background:rgba(77,12,91,.34);border:1px solid #f36bff;box-shadow:0 0 22px rgba(255,61,250,.75)}.fpn-btn-ghost{background:rgba(0,0,0,.22);box-shadow:none;border:1px solid rgba(255,255,255,.45)}.fpn-mobile-toggle{display:none;margin-left:auto;background:transparent;border:0;width:42px}.fpn-mobile-toggle span{display:block;height:2px;background:#fff;margin:7px 0}.fpn-hero{height:430px;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}.fpn-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86) 0,rgba(0,0,0,.52) 40%,rgba(0,0,0,.1) 100%),url('https://images.unsplash.com/photo-1516450360452-9312f5e86fc7?auto=format&fit=crop&w=2200&q=85') center/cover no-repeat;filter:saturate(1.3) contrast(1.12)}.fpn-hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,15,.2),rgba(3,5,15,.05)),radial-gradient(circle at 57% 35%,rgba(255,0,249,.35),transparent 22%),radial-gradient(circle at 75% 32%,rgba(0,210,255,.25),transparent 22%)}.fpn-hero-content{position:relative;z-index:2;width:min(520px,90%);padding:62px 0 0 82px}.fpn-vertical{position:absolute;left:50px;top:73px;width:3px;height:142px;background:linear-gradient(#ff2eea,#7e58ff);box-shadow:var(--fpn-glow)}.fpn-hero h1{font-size:67px;line-height:.92;margin:0 0 22px;font-weight:1000;letter-spacing:-2px}.fpn-hero h1 span,.fpn-hero h1 em{display:block;font-style:normal}.fpn-hero h1 em{background:linear-gradient(90deg,#ff19f0,#7b4cff,#10d9ff);-webkit-background-clip:text;background-clip:text;color:transparent}.fpn-hero p{font-size:17px;line-height:1.55;color:#fff;width:390px;margin-bottom:24px}.fpn-hero-actions{display:flex;gap:18px}.fpn-play{position:absolute;right:120px;bottom:64px;z-index:3;display:flex;align-items:center;gap:15px}.fpn-play b{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:2px solid #fff;background:rgba(0,0,0,.28);box-shadow:0 0 18px rgba(255,46,234,.5)}.fpn-play span{font-size:12px;font-weight:800;color:#d8d8ff}.fpn-dots{position:absolute;bottom:20px;left:50%;display:flex;gap:12px;z-index:4}.fpn-dots span{width:8px;height:8px;border-radius:50%;background:#5a5870}.fpn-dots span:first-child{background:var(--fpn-pink);box-shadow:var(--fpn-glow)}.fpn-section,.fpn-grid-two,.fpn-feature-strip,.fpn-subscribe,.fpn-page{max-width:1160px;margin:0 auto}.fpn-section{padding:32px 0 20px}.fpn-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.fpn-section-head span{font-size:13px;color:#bba5ff;display:block}.fpn-section-head h2,.fpn-sponsors h2,.fpn-gallery-mini h2{font-size:29px;line-height:1;margin:5px 0 0;position:relative}.fpn-section-head h2:after,.fpn-sponsors h2:after,.fpn-gallery-mini h2:after{content:"";display:block;width:62px;height:3px;margin-top:13px;background:linear-gradient(90deg,var(--fpn-pink),transparent);box-shadow:var(--fpn-glow)}.fpn-section-head a{font-size:13px;font-weight:900;color:#fff}.fpn-event-row{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.fpn-event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.fpn-card{background:linear-gradient(180deg,rgba(13,18,35,.85),rgba(5,8,17,.9));border:1px solid rgba(176,80,255,.38);border-radius:8px;overflow:hidden;box-shadow:0 10px 35px rgba(0,0,0,.38)}.fpn-card-img{height:154px;display:block;background-size:cover;background-position:center;position:relative}.fpn-card-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.72))}.fpn-date{position:absolute;left:14px;top:12px;z-index:2;width:50px;height:62px;border-radius:6px;border:1px solid var(--fpn-purple);display:grid;place-items:center;background:rgba(2,5,15,.8);font-size:12px}.fpn-date strong{font-size:22px}.fpn-heart{position:absolute;right:14px;top:12px;z-index:2;font-size:27px}.fpn-card-body{padding:13px 14px 14px}.fpn-cat{font-size:10px;color:#df65ff;font-weight:900}.fpn-card h3{font-size:17px;margin:6px 0 10px;color:#fff}.fpn-card p{font-size:12px;color:#d4d7e8;margin:5px 0}.fpn-card-actions{display:flex;gap:8px;align-items:center;margin-top:13px}.fpn-btn-full{flex:1;padding:12px 10px;font-size:12px}.fpn-arrow{font-size:24px;color:#e84aff}.fpn-feature-strip{margin-top:22px;border:1px solid rgba(176,80,255,.34);border-radius:8px;display:grid;grid-template-columns:1.7fr repeat(4,1fr);background:rgba(3,7,18,.72);overflow:hidden}.fpn-brand-tile{min-height:175px;padding:40px;background:linear-gradient(90deg,rgba(7,10,27,.8),rgba(10,10,26,.4)),url('https://images.unsplash.com/photo-1511512578047-dfb367046420?auto=format&fit=crop&w=900&q=80') center/cover}.fpn-brand-tile .fpn-logo span{font-size:44px}.fpn-brand-tile p{max-width:220px;font-weight:800;font-size:13px;line-height:1.45}.fpn-feature{padding:44px 24px;text-align:center;border-left:1px solid rgba(255,255,255,.1)}.fpn-feature i{font-size:38px;filter:drop-shadow(0 0 9px #d416ff)}.fpn-feature h3{font-size:14px}.fpn-feature p{font-size:13px;color:#d4d7e8;line-height:1.5}.fpn-grid-two{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;padding:24px 0}.fpn-gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:70px;gap:9px}.fpn-gallery-grid span{border-radius:7px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.1)}.fpn-gallery-grid span:nth-child(1){grid-row:span 2;background-image:url('https://images.unsplash.com/photo-1507874457470-272b3c8d8ee2?auto=format&fit=crop&w=600&q=80')}.fpn-gallery-grid span:nth-child(2){background-image:url('https://images.unsplash.com/photo-1506157786151-b8491531f063?auto=format&fit=crop&w=600&q=80')}.fpn-gallery-grid span:nth-child(3){background-image:url('https://images.unsplash.com/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=600&q=80')}.fpn-gallery-grid span:nth-child(4){grid-column:span 2;background-image:url('https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=800&q=80')}.fpn-gallery-grid span:nth-child(5){background-image:url('https://images.unsplash.com/photo-1524368535928-5b5e00ddc76b?auto=format&fit=crop&w=600&q=80')}.fpn-sponsors div{display:flex;gap:34px;align-items:center;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding-top:42px}.fpn-sponsors b{font-size:26px;letter-spacing:1px;color:#fff;opacity:.92}.fpn-subscribe{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(176,80,255,.38);border-radius:8px;margin-top:0;margin-bottom:18px;overflow:hidden;background:rgba(8,11,28,.72)}.fpn-subscribe>div{display:flex;gap:28px;align-items:center;padding:34px 45px}.fpn-subscribe>div+div{border-left:1px solid rgba(255,255,255,.1)}.fpn-subscribe i{width:94px;height:94px;border-radius:50%;display:grid;place-items:center;border:2px solid #b727ff;color:#16d9ff;font-size:38px;box-shadow:0 0 30px rgba(212,22,255,.4)}.fpn-subscribe h2{font-size:23px;margin:0 0 8px}.fpn-subscribe p{font-size:14px;color:#d4d7e8}.fpn-subscribe form{display:flex}.fpn-subscribe input{height:42px;background:rgba(0,0,0,.35);border:1px solid var(--fpn-purple);color:#fff;border-radius:6px 0 0 6px;padding:0 14px;min-width:250px}.fpn-subscribe button{border:0;color:#fff;background:linear-gradient(90deg,#e51bff,#7110d1);font-weight:900;border-radius:0 6px 6px 0;padding:0 18px}.fpn-subscribe small,.fpn-subscribe label{font-size:12px;color:#c7cade}.fpn-footer{background:linear-gradient(90deg,#060914,#060914 62%,rgba(65,0,120,.28)),url('https://images.unsplash.com/photo-1517935706615-2717063c2225?auto=format&fit=crop&w=1200&q=80') right bottom/44% auto no-repeat;border-top:1px solid rgba(255,255,255,.08);padding:30px 54px 16px}.fpn-footer>div{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr 1fr 1.55fr;gap:38px}.fpn-footer .fpn-logo span{font-size:44px}.fpn-footer p,.fpn-footer a{display:block;font-size:14px;color:#d8dbea;line-height:1.55;margin:7px 0}.fpn-footer h3{font-size:15px}.fpn-footer small{display:block;text-align:center;border-top:1px solid rgba(255,255,255,.08);padding-top:15px;margin-top:24px;color:#c7cade}.fpn-social{display:flex!important;gap:18px}.fpn-page{padding:55px 20px;min-height:420px}.fpn-page h1{font-size:54px;margin:0 0 22px}.fpn-page p{font-size:18px;color:#dce0ee;line-height:1.75}.fpn-contact-card{border:1px solid var(--fpn-line);border-radius:14px;background:rgba(8,11,28,.72);padding:30px}.fpn-single-wrap{background:#02040b;color:#fff}.fpn-single-hero{min-height:440px;background-size:cover;background-position:center;position:relative;display:flex;align-items:end}.fpn-single-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),#02040b)}.fpn-single-hero>div{position:relative;z-index:2;padding:70px;max-width:850px}.fpn-single-hero h1{font-size:64px;margin:10px 0}.fpn-event-details{max-width:1100px;margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:1fr 330px;gap:35px}.fpn-event-details aside{border:1px solid var(--fpn-line);border-radius:14px;padding:24px;background:rgba(8,11,28,.72)}.fpn-mobile-drawer,.fpn-mobile-backdrop{display:none}
@media(max-width:1024px){.fpn-topbar{display:none}.fpn-header{height:76px;padding:0 18px}.fpn-logo span{font-size:42px}.fpn-logo small{font-size:9px;letter-spacing:8px}.fpn-nav,.fpn-buy{display:none}.fpn-mobile-toggle{display:block}.fpn-hero{height:auto;min-height:620px}.fpn-hero-content{padding:72px 22px 40px 44px;width:auto}.fpn-vertical{left:22px;top:82px;height:130px}.fpn-hero h1{font-size:54px}.fpn-hero p{width:auto}.fpn-hero-actions{flex-direction:column;align-items:flex-start}.fpn-play{right:24px;bottom:35px}.fpn-section,.fpn-grid-two,.fpn-feature-strip,.fpn-subscribe{margin-left:16px;margin-right:16px}.fpn-event-row,.fpn-event-grid{grid-template-columns:1fr;gap:18px}.fpn-card-img{height:230px}.fpn-feature-strip{grid-template-columns:1fr}.fpn-feature{border-left:0;border-top:1px solid rgba(255,255,255,.1);padding:28px}.fpn-grid-two{grid-template-columns:1fr}.fpn-subscribe{grid-template-columns:1fr}.fpn-subscribe>div{padding:28px 18px;align-items:flex-start}.fpn-subscribe>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.1)}.fpn-subscribe i{width:72px;height:72px;min-width:72px}.fpn-subscribe form{flex-direction:column;gap:10px}.fpn-subscribe input{min-width:0;width:100%;border-radius:6px}.fpn-subscribe button{height:42px;border-radius:6px}.fpn-footer{padding:30px 18px;background-size:90% auto}.fpn-footer>div{grid-template-columns:1fr}.fpn-mobile-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:98}.fpn-mobile-drawer{position:fixed;top:0;right:-100%;width:min(390px,88vw);height:100vh;z-index:99;background:linear-gradient(180deg,rgba(10,9,27,.98),rgba(3,4,12,.98));border-left:1px solid var(--fpn-line);box-shadow:-20px 0 60px rgba(0,0,0,.55);padding:30px;transition:.25s;display:flex;flex-direction:column;gap:18px}.fpn-mobile-drawer a{color:#fff;font-weight:900;border-bottom:1px solid rgba(255,255,255,.08);padding:10px 0;text-decoration:none}.fpn-mobile-close{position:absolute;right:18px;top:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid var(--fpn-line);color:#fff;font-size:28px}.fpn-menu-open .fpn-mobile-drawer{right:0}.fpn-menu-open .fpn-mobile-backdrop{display:block}.fpn-single-hero>div{padding:40px 20px}.fpn-single-hero h1{font-size:42px}.fpn-event-details{grid-template-columns:1fr}.fpn-page h1{font-size:42px}}
/* Hide ugly top bar */
.fpn-topbar{
    display:none !important;
}

/* Clean header */
.fpn-header{
    margin-top:0 !important;
    background:rgba(5,5,15,.92) !important;
    border-bottom:1px solid rgba(255,0,255,.15) !important;
    backdrop-filter:blur(12px);
}

/* Better spacing */
.fpn-nav{
    min-height:88px !important;
    padding:0 24px !important;
}

/* Logo size */
.fpn-brand img,
.fpn-logo-img{
    max-height:70px !important;
}

/* Remove page title Home */
.entry-title,
.page-title,
h1.entry-title{
    display:none !important;
}

/* Remove white gap above site */
.site-content,
.content-area,
.ast-container{
    padding-top:0 !important;
    margin-top:0 !important;
}/* FPN force full width */
body.home,
body.home #page,
body.home .site,
body.home .site-content,
body.home .ast-container,
body.home .content-area,
body.home #primary,
body.home main.site-main,
body.home article,
body.home .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.home .fpn-site,
body.home .fpn-header,
body.home .fpn-hero,
body.home .fpn-section,
body.home .fpn-footer {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* keep inner content controlled */
body.home .fpn-container {
    width: min(100%, 1200px) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
}/* remove underline */
.fpn-menu a,
.fpn-menu a:link,
.fpn-menu a:visited,
.fpn-menu a:hover,
.fpn-menu a:focus {
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* neon hover */
.fpn-menu a{
    position:relative;
    color:#fff !important;
    transition:all .25s ease;
    padding:12px 16px;
    border-radius:10px;
}

.fpn-menu a:hover{
    color:#ff4dff !important;
    background:rgba(255,0,255,.08);
    text-shadow:
        0 0 5px #ff00ff,
        0 0 10px #ff00ff,
        0 0 20px #ff00ff;
}

/* active menu */
.fpn-menu a.active,
.fpn-menu .current-menu-item a{
    color:#ff4dff !important;
    text-shadow:
        0 0 5px #ff00ff,
        0 0 10px #ff00ff;
}

/* kill cyan line */
.fpn-menu a:after,
.fpn-menu a:before{
    display:none !important;
}/* hard remove active underline / gradient line */
.fpn-menu a,
.fpn-menu a.active,
.fpn-menu a:hover,
.fpn-menu a:focus{
    text-decoration:none !important;
    border:0 !important;
    border-bottom:none !important;
    background-image:none !important;
    box-shadow:none !important;
}

.fpn-menu a::before,
.fpn-menu a::after,
.fpn-menu a.active::before,
.fpn-menu a.active::after,
.fpn-menu a:hover::before,
.fpn-menu a:hover::after{
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    opacity:0 !important;
    background:none !important;
}

/* neon hover only text */
.fpn-menu a:hover,
.fpn-menu a.active{
    color:#ffffff !important;
    text-shadow:0 0 8px #d900ff, 0 0 18px #8b5cf6 !important;
}/* REMOVE UNDERLINE FROM ALL LINKS SITEWIDE */

a,
a:hover,
a:focus,
a:active,
a:visited,
a *,
a:hover *,
a:focus *{
    text-decoration:none !important;
}

a::before,
a::after{
    text-decoration:none !important;
}

/* Astra */
.ast-container a,
.ast-builder-menu a,
.main-header-menu a,
.entry-content a,
.site-footer a,
.widget a{
    text-decoration:none !important;
}

/* FPN */
.fpn-site a,
.fpn-menu a,
.fpn-footer a,
.fpn-btn{
    text-decoration:none !important;
}

/* Kill underline created with borders */
a{
    border-bottom:none !important;
}

/* Kill underline created with box-shadow */
a{
    box-shadow:none !important;
}.fpn-dots span.active{
    background:#ff00ff !important;
    box-shadow:0 0 12px #ff00ff !important;
}/* Fix event cards overflow */
.fpn-events,
.fpn-events-wrap,
.fpn-events-grid{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

.fpn-events-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:14px !important;
    padding:0 28px !important;
}

.fpn-event-card{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}

.fpn-event-card img,
.fpn-event-card .fpn-card-img{
    width:100% !important;
    max-width:100% !important;
    object-fit:cover !important;
}

@media(max-width:1200px){
    .fpn-events-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}

@media(max-width:768px){
    .fpn-events-grid{
        grid-template-columns:1fr !important;
        padding:0 18px !important;
    }
}/* Fix real FPN event row overflow */
.fpn-section{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    padding-left:42px !important;
    padding-right:42px !important;
}

.fpn-event-row{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:18px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

.fpn-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

.fpn-card-img{
    width:100% !important;
    max-width:100% !important;
    display:block !important;
    background-size:cover !important;
    background-position:center !important;
}

@media(max-width:1200px){
    .fpn-event-row{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}

@media(max-width:768px){
    .fpn-section{
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .fpn-event-row{
        grid-template-columns:1fr !important;
    }
}/* FIX SPONSORS SECTION */
.fpn-sponsors{
    padding:0 42px 38px !important;
}

.fpn-sponsors h2{
    color:#fff !important;
    font-size:30px !important;
    font-weight:900 !important;
    letter-spacing:.5px !important;
    margin-bottom:30px !important;
}

.fpn-sponsor-list,
.fpn-sponsors-list,
.fpn-sponsors .fpn-list{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:18px !important;
    align-items:center !important;
}

.fpn-sponsor-list *,
.fpn-sponsors-list *,
.fpn-sponsors .fpn-list *{
    font-size:0 !important;
}

.fpn-sponsor-list > *,
.fpn-sponsors-list > *,
.fpn-sponsors .fpn-list > *{
    min-height:86px !important;
    border:1px solid rgba(255,0,255,.22) !important;
    border-radius:16px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:0 0 22px rgba(172,0,255,.08) !important;
    position:relative !important;
    overflow:hidden !important;
}

.fpn-sponsor-list > *::before,
.fpn-sponsors-list > *::before,
.fpn-sponsors .fpn-list > *::before{
    content:"SPONSOR" !important;
    font-size:22px !important;
    font-weight:900 !important;
    color:#fff !important;
    letter-spacing:2px !important;
    text-align:center !important;
    opacity:.95 !important;
    text-shadow:0 0 14px rgba(255,255,255,.25) !important;
}

/* Assign visible sponsor names by order */
.fpn-sponsor-list > *:nth-child(1)::before,
.fpn-sponsors-list > *:nth-child(1)::before,
.fpn-sponsors .fpn-list > *:nth-child(1)::before{
    content:"LUXY" !important;
}

.fpn-sponsor-list > *:nth-child(2)::before,
.fpn-sponsors-list > *:nth-child(2)::before,
.fpn-sponsors .fpn-list > *:nth-child(2)::before{
    content:"REBEL" !important;
}

.fpn-sponsor-list > *:nth-child(3)::before,
.fpn-sponsors-list > *:nth-child(3)::before,
.fpn-sponsors .fpn-list > *:nth-child(3)::before{
    content:"ZED" !important;
}

.fpn-sponsor-list > *:nth-child(4)::before,
.fpn-sponsors-list > *:nth-child(4)::before,
.fpn-sponsors .fpn-list > *:nth-child(4)::before{
    content:"RADIO JAVAN" !important;
    font-size:17px !important;
}

.fpn-sponsor-list > *:nth-child(5)::before,
.fpn-sponsors-list > *:nth-child(5)::before,
.fpn-sponsors .fpn-list > *:nth-child(5)::before{
    content:"PERSIA" !important;
}

.fpn-sponsor-list > *:nth-child(n+6),
.fpn-sponsors-list > *:nth-child(n+6),
.fpn-sponsors .fpn-list > *:nth-child(n+6){
    display:none !important;
}

@media(max-width:900px){
    .fpn-sponsor-list,
    .fpn-sponsors-list,
    .fpn-sponsors .fpn-list{
        grid-template-columns:repeat(2,1fr) !important;
    }
}/* Premium Sponsors Section - FPN */
.fpn-grid-two{
    display:grid !important;
    grid-template-columns:1fr 1.18fr !important;
    gap:40px !important;
    align-items:start !important;
    max-width:1200px !important;
    margin:34px auto 0 !important;
    padding:0 42px !important;
}

.fpn-sponsors{
    width:100% !important;
    padding:0 !important;
}

.fpn-sponsors h2{
    color:#fff !important;
    font-size:26px !important;
    font-weight:900 !important;
    letter-spacing:.5px !important;
    margin:0 0 18px !important;
    position:relative !important;
}

.fpn-sponsors h2:after{
    content:"" !important;
    display:block !important;
    width:76px !important;
    height:3px !important;
    margin-top:10px !important;
    background:linear-gradient(90deg,#ff00ff,#00d9ff) !important;
    box-shadow:0 0 16px rgba(255,0,255,.7) !important;
}

.fpn-sponsors > div{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
}

.fpn-sponsors > div > b{
    min-height:74px !important;
    padding:14px 16px !important;
    border:1px solid rgba(255,0,255,.26) !important;
    border-radius:16px !important;
    background:
        radial-gradient(circle at 20% 0%,rgba(255,0,255,.18),transparent 42%),
        linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)) !important;
    color:#fff !important;
    font-size:17px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    letter-spacing:.4px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    text-transform:uppercase !important;
    box-shadow:0 0 22px rgba(160,0,255,.12) !important;
    text-shadow:0 0 12px rgba(255,255,255,.2) !important;
}

.fpn-sponsors > div > b:hover{
    transform:translateY(-3px) !important;
    border-color:rgba(0,217,255,.55) !important;
    box-shadow:
        0 0 24px rgba(255,0,255,.18),
        0 0 34px rgba(0,217,255,.12) !important;
}

@media(max-width:900px){
    .fpn-grid-two{
        grid-template-columns:1fr !important;
        padding:0 18px !important;
    }

    .fpn-sponsors > div{
        grid-template-columns:1fr !important;
    }
}/* Premium Sponsors Section - FPN */
.fpn-grid-two{
    display:grid !important;
    grid-template-columns:1fr 1.18fr !important;
    gap:40px !important;
    align-items:start !important;
    max-width:1200px !important;
    margin:34px auto 0 !important;
    padding:0 42px !important;
}

.fpn-sponsors{
    width:100% !important;
    padding:0 !important;
}

.fpn-sponsors h2{
    color:#fff !important;
    font-size:26px !important;
    font-weight:900 !important;
    letter-spacing:.5px !important;
    margin:0 0 18px !important;
    position:relative !important;
}

.fpn-sponsors h2:after{
    content:"" !important;
    display:block !important;
    width:76px !important;
    height:3px !important;
    margin-top:10px !important;
    background:linear-gradient(90deg,#ff00ff,#00d9ff) !important;
    box-shadow:0 0 16px rgba(255,0,255,.7) !important;
}

.fpn-sponsors > div{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
}

.fpn-sponsors > div > b{
    min-height:74px !important;
    padding:14px 16px !important;
    border:1px solid rgba(255,0,255,.26) !important;
    border-radius:16px !important;
    background:
        radial-gradient(circle at 20% 0%,rgba(255,0,255,.18),transparent 42%),
        linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)) !important;
    color:#fff !important;
    font-size:17px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    letter-spacing:.4px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    text-transform:uppercase !important;
    box-shadow:0 0 22px rgba(160,0,255,.12) !important;
    text-shadow:0 0 12px rgba(255,255,255,.2) !important;
}

.fpn-sponsors > div > b:hover{
    transform:translateY(-3px) !important;
    border-color:rgba(0,217,255,.55) !important;
    box-shadow:
        0 0 24px rgba(255,0,255,.18),
        0 0 34px rgba(0,217,255,.12) !important;
}

@media(max-width:900px){
    .fpn-grid-two{
        grid-template-columns:1fr !important;
        padding:0 18px !important;
    }

    .fpn-sponsors > div{
        grid-template-columns:1fr !important;
    }
}.fpn-sponsor-logos{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:36px !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    padding-top:42px !important;
}

.fpn-sponsor-logo{
    min-width:110px !important;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-decoration:none !important;
}

.fpn-sponsor-logo img{
    max-width:145px !important;
    max-height:54px !important;
    object-fit:contain !important;
    filter:grayscale(1) brightness(0) invert(1) !important;
    opacity:.92 !important;
}

.fpn-sponsor-main{
    color:#fff !important;
    font-size:17px !important;
    font-weight:900 !important;
    text-align:center !important;
    letter-spacing:.5px !important;
}/* FINAL FIX - Gallery uniform 4:3 background spans */
.fpn-gallery-mini .fpn-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
    width:100% !important;
    align-items:start !important;
}

.fpn-gallery-mini .fpn-gallery-grid span{
    display:block !important;
    width:100% !important;
    aspect-ratio:4 / 3 !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background-size:cover !important;
    background-position:center !important;
    grid-column:auto !important;
    grid-row:auto !important;
}

/* kill old mosaic rules */
.fpn-gallery-mini .fpn-gallery-grid span:nth-child(1),
.fpn-gallery-mini .fpn-gallery-grid span:nth-child(2),
.fpn-gallery-mini .fpn-gallery-grid span:nth-child(3),
.fpn-gallery-mini .fpn-gallery-grid span:nth-child(4),
.fpn-gallery-mini .fpn-gallery-grid span:nth-child(5){
    grid-column:auto !important;
    grid-row:auto !important;
}
/* FPN Gallery final reset */
.fpn-gallery-mini{
    width:100% !important;
    max-width:500px !important;
}

.fpn-gallery-mini .fpn-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:8px !important;
    width:100% !important;
}

.fpn-gallery-mini .fpn-gallery-grid span{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 3 !important;
    min-height:unset !important;
    max-height:unset !important;
    grid-column:auto !important;
    grid-row:auto !important;
    border-radius:8px !important;
    background-size:cover !important;
    background-position:center !important;
}

/* force all old nth-child mosaic rules off */
.fpn-gallery-mini .fpn-gallery-grid span:nth-child(n){
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 3 !important;
}/* FPN Gallery clean single row 4:3 */
.fpn-gallery-mini{
    width:100% !important;
    max-width:520px !important;
}

.fpn-gallery-mini .fpn-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(5, 1fr) !important;
    gap:8px !important;
    width:100% !important;
}

.fpn-gallery-mini .fpn-gallery-grid span{
    display:block !important;
    width:100% !important;
    aspect-ratio:4 / 3 !important;
    height:auto !important;
    grid-column:auto !important;
    grid-row:auto !important;
    border-radius:8px !important;
    background-size:cover !important;
    background-position:center !important;
}.fpn-gallery-mini .fpn-gallery-grid span{
    aspect-ratio:4 / 3 !important;
    background-size:cover !important;
    background-position:center !important;
}.fpn-gallery-mini .fpn-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:12px !important;
}

.fpn-gallery-mini .fpn-gallery-grid span{
    grid-column:auto !important;
    grid-row:auto !important;

    width:100% !important;
    aspect-ratio:4 / 3 !important;

    border-radius:10px !important;
    overflow:hidden !important;

    background-size:cover !important;
    background-position:center !important;
}.fpn-gallery-clean{
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:10px !important;
    width:100% !important;
}

.fpn-gallery-item{
    display:block !important;
    width:100% !important;
    aspect-ratio:4 / 3 !important;
    border-radius:10px !important;
    background-size:cover !important;
    background-position:center !important;
    overflow:hidden !important;
}.fpn-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:10px !important;
}

.fpn-gallery-photo{
    display:block !important;
    width:100% !important;
    aspect-ratio:4 / 3 !important;
    border-radius:10px !important;
    background-size:cover !important;
    background-position:center !important;
    border:1px solid rgba(255,255,255,.12) !important;
}.fpn-gallery-photo{
    aspect-ratio:3 / 4 !important;
}.fpn-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:12px !important;
    align-items:start !important;
}

.fpn-gallery-photo{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:3 / 4 !important;
    min-height:0 !important;
    max-height:none !important;
    background-size:cover !important;
    background-position:center !important;
    border-radius:12px !important;
    overflow:hidden !important;
}/* FINAL GALLERY PORTRAIT 3:4 */

.fpn-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:12px !important;
}

.fpn-gallery-grid span{
    width:100% !important;
    aspect-ratio:3 / 4 !important; /* عرض 3 ارتفاع 4 */
    height:auto !important;

    grid-column:auto !important;
    grid-row:auto !important;

    background-size:cover !important;
    background-position:center !important;

    border-radius:12px !important;
    overflow:hidden !important;
}

/* خنثی کردن موزاییکی قدیمی */
.fpn-gallery-grid span:nth-child(1),
.fpn-gallery-grid span:nth-child(2),
.fpn-gallery-grid span:nth-child(3),
.fpn-gallery-grid span:nth-child(4),
.fpn-gallery-grid span:nth-child(5){
    grid-column:auto !important;
    grid-row:auto !important;
}/* FINAL REAL FIX - Gallery portrait */
.fpn-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    grid-auto-rows:auto !important;
    gap:12px !important;
}

.fpn-gallery-grid > *{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:3 / 4 !important;
    grid-column:auto !important;
    grid-row:auto !important;
    background-size:cover !important;
    background-position:center !important;
    border-radius:12px !important;
    overflow:hidden !important;
}.fpn-gallery-grid img{
    width:100%;
    aspect-ratio:3/4 !important;
    object-fit:cover;
    display:block;
}/* Fix SMS consent checkbox */
.fpn-subscribe input[type="checkbox"]{
    width:13px !important;
    height:13px !important;
    min-width:13px !important;
    min-height:13px !important;
    max-width:13px !important;
    max-height:13px !important;
    padding:0 !important;
    margin:0 6px 0 0 !important;
    box-shadow:none !important;
    border-radius:2px !important;
    display:inline-block !important;
    vertical-align:middle !important;
    accent-color:#d416ff !important;
}

.fpn-subscribe label{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    color:#c7cade !important;
    font-size:12px !important;
    line-height:1.3 !important;
}/* Fix desktop menu wrapping */
.fpn-header{
    padding:0 46px !important;
    gap:24px !important;
}

.fpn-nav{
    gap:24px !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
}

.fpn-nav a{
    white-space:nowrap !important;
    font-size:11px !important;
    line-height:1 !important;
}

.fpn-buy{
    white-space:nowrap !important;
    padding:14px 24px !important;
}/* Header nav alignment + active underline fix */
.fpn-header{
    justify-content:flex-start !important;
}

.fpn-nav{
    margin-left:40px !important;
    margin-right:auto !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:28px !important;
}

/* remove all default underline */
.fpn-nav a::after,
.fpn-nav a::before,
.fpn-nav-item > a::after,
.fpn-nav-item > a::before{
    content:none !important;
    display:none !important;
}

/* only current real page underline */
body.home .fpn-nav > a[href$="/"]::after,
body.page-id-REPLACE .fpn-nav > a::after{
    content:"" !important;
}

/* safer active underline by url classes */
.fpn-nav a{
    position:relative !important;
}

.fpn-nav a.fpn-active::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:-25px !important;
    height:3px !important;
    background:linear-gradient(90deg,#ff2eea,#10d9ff) !important;
}.fpn-nav{
    margin-left:40px !important;
    margin-right:auto !important;
    justify-content:flex-start !important;
}

.fpn-nav a::after{
    display:none !important;
}

.fpn-nav a.fpn-active::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:-25px !important;
    height:3px !important;
    background:linear-gradient(90deg,#ff2eea,#10d9ff) !important;
}/* Gallery page full width only */
body.page-id-0 .fpn-page .fpn-gallery-mini{
    max-width:100% !important;
    width:100% !important;
}

body.page-id-0 .fpn-page .fpn-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:16px !important;
    width:100% !important;
}

body.page-id-0 .fpn-page .fpn-gallery-photo{
    width:100% !important;
    aspect-ratio:3 / 4 !important;
}/* Gallery shortcode page only - full layout */
.fpn-page > .fpn-gallery-mini{
    max-width:100% !important;
    width:100% !important;
}

.fpn-page > .fpn-gallery-mini .fpn-gallery-grid{
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:16px !important;
    width:100% !important;
}/* Gallery page full-width grid only */
.fpn-gallery-page .fpn-gallery-mini{
    width:100% !important;
    max-width:none !important;
}

.fpn-gallery-page .fpn-section-head,
.fpn-gallery-page .fpn-gallery-filters,
.fpn-gallery-page .fpn-gallery-grid-full{
    width:100% !important;
    max-width:none !important;
}

.fpn-gallery-page .fpn-gallery-grid-full{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:16px !important;
}

.fpn-gallery-page .fpn-gallery-photo{
    width:100% !important;
    aspect-ratio:3 / 4 !important;
}/* About page only */
.fpn-about-pro{
    padding-top:80px !important;
}

.fpn-about-hero{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:42px;
    align-items:center;
    margin-bottom:48px;
}

.fpn-kicker{
    display:inline-block;
    color:#d416ff;
    font-size:13px;
    font-weight:900;
    letter-spacing:.18em;
    margin-bottom:16px;
    text-shadow:0 0 18px rgba(212,22,255,.8);
}

.fpn-about-hero h1{
    color:#fff !important;
    font-size:clamp(42px,5vw,76px);
    line-height:.95;
    margin:0 0 22px;
    max-width:760px;
}

.fpn-about-hero p{
    color:#e8ecff;
    font-size:19px;
    line-height:1.8;
    max-width:760px;
}

.fpn-about-visual{
    min-height:380px;
    border-radius:24px;
    background-size:cover;
    background-position:center;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 0 45px rgba(212,22,255,.25);
}

.fpn-about-values{
    margin-top:20px !important;
}

@media(max-width:900px){
    .fpn-about-hero{
        grid-template-columns:1fr;
    }

    .fpn-about-visual{
        min-height:280px;
    }
}/* Fix Events dropdown hover gap */
.fpn-header,
.fpn-nav,
.fpn-nav-item{
    overflow:visible !important;
}

.fpn-has-dropdown{
    position:relative !important;
    z-index:9999 !important;
}

.fpn-dropdown{
    top:100% !important;
    margin-top:0 !important;
    z-index:99999 !important;
    pointer-events:auto !important;
}

.fpn-has-dropdown::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:18px;
}

.fpn-has-dropdown:hover .fpn-dropdown{
    display:block !important;
}

/* === FPN SAFE HOME + INTERNAL POLISH PATCH === */
.fpn-breadcrumb{
    max-width:1160px;
    margin:0 auto 22px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#aeb6d8;
    font-size:13px;
    font-weight:800;
}
.fpn-breadcrumb a{
    color:#fff!important;
    opacity:.86;
}
.fpn-breadcrumb span{
    color:#d416ff;
}
.fpn-breadcrumb strong{
    color:#10d9ff;
    text-shadow:0 0 14px rgba(16,217,255,.45);
}
.fpn-single-breadcrumb-wrap{
    max-width:1160px;
    margin:0 auto;
    padding:28px 20px 0;
}

/* Better logo spacing wherever FPN / EVENTS appears */
.fpn-logo{
    min-width:132px;
}
.fpn-logo span{
    line-height:.82!important;
    margin-bottom:9px!important;
}
.fpn-logo small{
    margin-top:0!important;
    padding-left:7px!important;
    letter-spacing:10px!important;
    line-height:1!important;
}

/* Social icons: premium circles */
.fpn-social{
    display:flex!important;
    gap:12px!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    margin-top:16px!important;
}
.fpn-social a{
    width:34px!important;
    height:34px!important;
    border-radius:50%!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.16)!important;
    background:linear-gradient(135deg,rgba(212,22,255,.18),rgba(16,217,255,.08))!important;
    box-shadow:0 0 18px rgba(212,22,255,.16)!important;
    font-size:14px!important;
    line-height:1!important;
    transition:.22s ease!important;
}
.fpn-social a:hover{
    transform:translateY(-2px);
    border-color:rgba(255,46,234,.7)!important;
    box-shadow:0 0 24px rgba(212,22,255,.38)!important;
}
.fpn-top-social .fpn-social{
    margin:0!important;
    display:flex!important;
}
.fpn-top-social .fpn-social a{
    width:24px!important;
    height:24px!important;
    font-size:11px!important;
}

/* Gallery / Sponsors home spacing */
.fpn-grid-two{
    padding-top:34px!important;
    padding-bottom:26px!important;
    gap:38px!important;
}
.fpn-gallery-mini,
.fpn-sponsors{
    min-width:0!important;
}
.fpn-gallery-mini .fpn-section-head,
.fpn-sponsors .fpn-section-head{
    margin-bottom:18px!important;
}
.fpn-gallery-mini h2,
.fpn-sponsors h2{
    margin-top:0!important;
}

/* Dynamic sponsor logos */
.fpn-sponsor-logos{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:18px!important;
    align-items:center!important;
    border-top:1px solid rgba(255,255,255,.1)!important;
    padding-top:28px!important;
}
.fpn-sponsor-logo{
    min-height:92px!important;
    border:1px solid rgba(255,0,255,.22)!important;
    border-radius:16px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015))!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:16px!important;
    overflow:hidden!important;
}
.fpn-sponsor-logo img{
    max-width:100%!important;
    max-height:62px!important;
    object-fit:contain!important;
    filter:drop-shadow(0 0 10px rgba(255,255,255,.18))!important;
}
.fpn-sponsor-main{
    color:#fff!important;
    font-size:18px!important;
    font-weight:1000!important;
    letter-spacing:1px!important;
    text-align:center!important;
}

/* Subscribe checkbox consistency + operational forms */
.fpn-subscribe form{
    width:100%!important;
}
.fpn-subscribe input[type="email"],
.fpn-subscribe input[type="tel"]{
    min-width:0!important;
    flex:1 1 auto!important;
}
.fpn-consent{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-top:10px!important;
    color:#cfd4ea!important;
    font-size:12px!important;
}
.fpn-consent input[type="checkbox"]{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    border-radius:4px!important;
    border:1px solid rgba(255,255,255,.55)!important;
    background:rgba(0,0,0,.35)!important;
    box-shadow:0 0 12px rgba(212,22,255,.18)!important;
    position:relative!important;
    margin:0!important;
}
.fpn-consent input[type="checkbox"]:checked{
    background:linear-gradient(135deg,#e414ff,#10d9ff)!important;
    border-color:transparent!important;
}
.fpn-consent input[type="checkbox"]:checked:after{
    content:"✓";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:10px;
    font-weight:900;
}

/* Legal pages */
.fpn-legal-page{
    padding-top:72px!important;
}
.fpn-legal-card{
    border:1px solid rgba(255,255,255,.1);
    border-radius:24px;
    background:linear-gradient(135deg,rgba(212,22,255,.10),rgba(16,217,255,.05));
    padding:34px;
    box-shadow:0 0 42px rgba(212,22,255,.14);
}
.fpn-legal-card h1{
    color:#fff!important;
    margin-bottom:18px!important;
}
.fpn-legal-copy p{
    color:#e5e9ff!important;
    font-size:16px!important;
    line-height:1.85!important;
}
.fpn-bhp-signature{
    display:inline-block;
    margin-left:12px;
    color:#b9bed3;
}
.fpn-bhp-signature a{
    color:#fff!important;
    font-weight:900!important;
}

/* Header buy ticket */
.fpn-buy{
    white-space:nowrap!important;
}

/* Mobile */
@media(max-width:1024px){
    .fpn-breadcrumb{
        margin-left:16px!important;
        margin-right:16px!important;
        overflow:auto;
        white-space:nowrap;
    }
    .fpn-grid-two{
        padding-top:22px!important;
        padding-bottom:20px!important;
    }
    .fpn-sponsor-logos{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .fpn-subscribe form{
        display:flex!important;
        flex-direction:column!important;
        gap:10px!important;
    }
    .fpn-subscribe button{
        width:100%!important;
    }
}

/* Active underline should only be .fpn-active */
.fpn-nav a:hover:after,
.fpn-nav a:first-child:after{
    content:none!important;
    display:none!important;
}
.fpn-nav a.fpn-active:after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:-24px!important;
    height:3px!important;
    background:linear-gradient(90deg,var(--fpn-pink),var(--fpn-blue))!important;
    box-shadow:var(--fpn-glow)!important;
}
/* FPN Sponsors - Square Neon Cards */

.fpn-sponsor-logo,
.fpn-sponsor-logos a{
    width:140px !important;
    height:140px !important;

    min-width:140px !important;
    min-height:140px !important;

    border-radius:18px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    background:
        linear-gradient(180deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.02)) !important;

    border:1px solid rgba(212,22,255,.45) !important;

    box-shadow:
        0 0 12px rgba(212,22,255,.30),
        0 0 24px rgba(212,22,255,.20),
        inset 0 0 18px rgba(212,22,255,.10) !important;

    transition:.25s ease !important;

    cursor:default !important;
    pointer-events:none !important;
}

.fpn-sponsor-logo:hover,
.fpn-sponsor-logos a:hover{
    transform:none !important;
}

.fpn-sponsor-logo img,
.fpn-sponsor-logos img{
    max-width:90px !important;
    max-height:90px !important;

    object-fit:contain !important;

    filter:none !important;
    opacity:1 !important;
}

/* desktop alignment */
.fpn-sponsor-logos{
    justify-content:center !important;
    gap:22px !important;
}

/* FPN Sponsors - compact 2x2 layout only */
.fpn-sponsors .fpn-sponsor-logos{
  display:grid!important;
  grid-template-columns:repeat(2,140px)!important;
  justify-content:start!important;
  align-items:start!important;
  column-gap:18px!important;
  row-gap:14px!important;
  width:auto!important;
  max-width:320px!important;
  margin-top:28px!important;
  padding-top:28px!important;
}

.fpn-sponsors .fpn-sponsor-logo{
  width:140px!important;
  height:140px!important;
  min-width:140px!important;
  min-height:140px!important;
  border-radius:18px!important;
  pointer-events:none!important;
  cursor:default!important;
}

.fpn-sponsors .fpn-sponsor-logo img{
  max-width:90px!important;
  max-height:90px!important;
  object-fit:contain!important;
}.fpn-dots span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#4d4d66;
    transition:.2s;
}

.fpn-dots span.active{
    background:#ff00ff;
    box-shadow:
        0 0 8px #ff00ff,
        0 0 16px #ff00ff;
}

/* FPN Subscribe form: keep consent line clean inside admin-post forms */
.fpn-subscribe form .fpn-consent{flex-basis:100%!important;margin-top:10px!important;}
.fpn-subscribe form .fpn-consent input{width:14px!important;min-width:14px!important;height:14px!important;}
/* FPN Dynamic Hero Slider - safe additive layer */
.fpn-hero-dynamic{position:relative;overflow:hidden;background:#02040b!important;}
.fpn-hero-media{position:absolute;inset:0;z-index:0;background:#02040b;}
.fpn-hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease;background-size:cover;background-position:center;background-repeat:no-repeat;filter:saturate(1.3) contrast(1.12);}
.fpn-hero-slide.is-active{opacity:1;visibility:visible;z-index:1;}
.fpn-hero-slide:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(2,3,12,.92),rgba(2,3,12,.35),rgba(2,3,12,.88)),radial-gradient(circle at 57% 35%,rgba(255,0,249,.28),transparent 24%),radial-gradient(circle at 75% 32%,rgba(0,210,255,.22),transparent 24%);pointer-events:none;}
.fpn-hero-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.fpn-hero-slide iframe{position:absolute;top:50%;left:50%;width:120vw;height:67.5vw;min-width:177.78vh;min-height:100vh;transform:translate(-50%,-50%);border:0;z-index:1;pointer-events:none;}
.fpn-hero-dynamic .fpn-hero-content,.fpn-hero-dynamic .fpn-play,.fpn-hero-dynamic .fpn-dots{z-index:5;}
.fpn-hero-dynamic .fpn-dots span{cursor:pointer;transition:.22s ease;background:#5a5870;}
.fpn-hero-dynamic .fpn-dots span.active{background:#ff00ff!important;box-shadow:0 0 8px #ff00ff,0 0 16px #ff00ff!important;transform:scale(1.15);}
@media(max-width:1024px){.fpn-hero-slide iframe{width:220vw;height:123.75vw;min-width:177.78vh;min-height:100vh}.fpn-hero-dynamic .fpn-hero-content{position:relative}}


/* =========================================================
   FPN 3.1.5 Gallery Safe Final Override
   Purpose:
   - Gallery images stay landscape.
   - Hover overlay is clean.
   - Lightbox never becomes a page-breaking giant image.
   - Filters remain clickable and visible.
   - Sponsors/Event/Mailchimp/SlickText are untouched.
   ========================================================= */

html body .fpn-gallery-page,
html body .fpn-single-event,
html body .fpn-home{
  overflow-x:hidden !important;
}

html body .fpn-gallery-page .fpn-gallery-mini,
html body .fpn-single-gallery,
html body .fpn-home .fpn-gallery-mini{
  width:100% !important;
  max-width:none !important;
}

html body .fpn-gallery-page .fpn-gallery-grid,
html body .fpn-gallery-page .fpn-gallery-grid-full,
html body .fpn-single-gallery .fpn-gallery-grid,
html body .fpn-event-gallery-grid,
html body .fpn-home .fpn-gallery-mini .fpn-gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  gap:16px !important;
  width:100% !important;
  max-width:100% !important;
  align-items:start !important;
}

html body .fpn-gallery-page .fpn-gallery-photo,
html body .fpn-single-gallery .fpn-gallery-photo,
html body .fpn-event-gallery-grid .fpn-gallery-photo,
html body .fpn-home .fpn-gallery-mini .fpn-gallery-photo{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:16 / 9 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background-size:cover !important;
  background-position:center center !important;
  box-shadow:none !important;
  transform:none !important;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

html body .fpn-gallery-page .fpn-gallery-photo:hover,
html body .fpn-single-gallery .fpn-gallery-photo:hover,
html body .fpn-home .fpn-gallery-mini .fpn-gallery-photo:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(255,0,255,.45) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.35),0 0 28px rgba(212,22,255,.22) !important;
}

html body .fpn-gallery-photo:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72) 100%) !important;
  opacity:.55 !important;
  transition:opacity .22s ease !important;
}

html body .fpn-gallery-photo:hover:before{
  opacity:1 !important;
}

html body .fpn-gallery-photo span{
  position:absolute !important;
  left:12px !important;
  right:12px !important;
  bottom:12px !important;
  z-index:2 !important;
  display:block !important;
  opacity:0 !important;
  transform:translateY(8px) !important;
  transition:opacity .22s ease, transform .22s ease !important;
  padding:10px 12px !important;
  border-radius:10px !important;
  background:rgba(0,0,0,.48) !important;
  backdrop-filter:blur(8px) !important;
  pointer-events:none !important;
}

html body .fpn-gallery-photo:hover span{
  opacity:1 !important;
  transform:translateY(0) !important;
}

html body .fpn-gallery-photo span b{
  display:block !important;
  color:#ff2eea !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

html body .fpn-gallery-photo span strong{
  display:block !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.25 !important;
  margin-top:3px !important;
}

html body .fpn-gallery-filters{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 0 22px !important;
  padding:0 !important;
  width:100% !important;
}

html body .fpn-gallery-filters a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:9px 15px !important;
  border:1px solid rgba(255,0,255,.34) !important;
  border-radius:999px !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:12px !important;
  font-weight:900 !important;
  background:rgba(255,255,255,.04) !important;
  box-shadow:none !important;
  cursor:pointer !important;
}

html body .fpn-gallery-filters a.is-active,
html body .fpn-gallery-filters a:hover{
  background:linear-gradient(90deg,#e414ff,#6717ff) !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 0 18px rgba(212,22,255,.28) !important;
}

html body .fpn-gallery-empty{
  grid-column:1 / -1 !important;
  margin:0 !important;
  padding:24px !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:16px !important;
  color:#fff !important;
  background:rgba(255,255,255,.04) !important;
}

/* Lightbox must be overlay only, never normal page content */
html body .fpn-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  width:100vw !important;
  height:100vh !important;
  padding:28px !important;
  background:rgba(0,0,0,.90) !important;
  backdrop-filter:blur(10px) !important;
  overflow:hidden !important;
}

html body .fpn-lightbox.is-open{
  display:flex !important;
}

html body .fpn-lightbox-inner{
  position:relative !important;
  width:min(1100px,94vw) !important;
  max-width:94vw !important;
  max-height:90vh !important;
  margin:0 auto !important;
}

html body .fpn-lightbox img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:78vh !important;
  object-fit:contain !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 0 60px rgba(212,22,255,.22) !important;
  background:#000 !important;
}

html body .fpn-lightbox-close{
  position:absolute !important;
  right:0 !important;
  top:-48px !important;
  z-index:2 !important;
  width:40px !important;
  height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.28) !important;
  background:rgba(10,10,20,.92) !important;
  color:#fff !important;
  font-size:24px !important;
  line-height:1 !important;
  cursor:pointer !important;
}

html body .fpn-lightbox-caption{
  color:#fff !important;
  margin-top:12px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}

html body .fpn-lightbox-caption small{
  display:block !important;
  color:#ff2eea !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:11px !important;
  margin-bottom:3px !important;
}

@media(max-width:1024px){
  html body .fpn-gallery-page .fpn-gallery-grid,
  html body .fpn-gallery-page .fpn-gallery-grid-full,
  html body .fpn-single-gallery .fpn-gallery-grid,
  html body .fpn-event-gallery-grid,
  html body .fpn-home .fpn-gallery-mini .fpn-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:640px){
  html body .fpn-gallery-page .fpn-gallery-grid,
  html body .fpn-gallery-page .fpn-gallery-grid-full,
  html body .fpn-single-gallery .fpn-gallery-grid,
  html body .fpn-event-gallery-grid,
  html body .fpn-home .fpn-gallery-mini .fpn-gallery-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  html body .fpn-lightbox{
    padding:14px !important;
  }

  html body .fpn-lightbox-close{
    right:0 !important;
    top:-46px !important;
  }
}
/* FPN FINAL SAFE MOBILE + DESKTOP PATCH */

/* Desktop color cleanup */
.fpn-section-head h2,
.fpn-gallery-mini h2,
.fpn-sponsors h2,
.fpn-feature h3{
  color:#fff!important;
  opacity:1!important;
}

.fpn-feature p,
.fpn-card p,
.fpn-footer p,
.fpn-footer a{
  color:#dfe6ff!important;
}

/* Mobile only */
@media(max-width:768px){

  body{
    overflow-x:hidden!important;
    background:#050611!important;
  }

  .fpn-header{
    overflow:visible!important;
    background:linear-gradient(90deg,#21002f,#061326)!important;
  }

  .fpn-mobile-toggle{
    width:56px!important;
    height:56px!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.22)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }

  .fpn-mobile-toggle span{
    background:#fff!important;
    height:3px!important;
    width:26px!important;
    margin:4px auto!important;
    border-radius:20px!important;
  }

  .fpn-section-head h2,
  .fpn-section-head span,
  .fpn-section-head a{
    color:#fff!important;
    opacity:1!important;
  }

  .fpn-section-head h2{
    font-size:34px!important;
    line-height:1.05!important;
  }

  .fpn-card h3,
  .fpn-card p,
  .fpn-card-body *,
  .fpn-feature h3,
  .fpn-feature p{
    color:#fff!important;
    opacity:1!important;
  }

  .fpn-footer,
  .fpn-footer *,
  .fpn-footer p,
  .fpn-footer a{
    color:#fff!important;
    opacity:1!important;
  }

  .fpn-footer p{
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.6!important;
  }

  .fpn-footer{
    padding-bottom:135px!important;
    overflow:hidden!important;
  }

  .fpn-gallery-page .fpn-gallery-grid,
  .fpn-gallery-page .fpn-gallery-grid-full,
  .fpn-home .fpn-gallery-mini .fpn-gallery-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
    width:100%!important;
  }

  .fpn-gallery-page .fpn-gallery-photo,
  .fpn-home .fpn-gallery-mini .fpn-gallery-photo{
    width:100%!important;
    aspect-ratio:16/10!important;
    min-height:0!important;
    height:auto!important;
    border-radius:16px!important;
    background-size:cover!important;
    background-position:center!important;
  }

  .fpn-gallery-filters{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:12px!important;
  }

  .fpn-gallery-filters a{
    color:#fff!important;
    min-height:46px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    white-space:normal!important;
  }
}.fpn-mobile-close{
    position:absolute !important;
    top:22px !important;
    right:22px !important;

    width:44px !important;
    height:44px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:1px solid rgba(255,255,255,.25) !important;
    border-radius:50% !important;

    background:rgba(255,255,255,.05) !important;
    color:#fff !important;

    font-size:32px !important;
    font-weight:300 !important;
    line-height:1 !important;

    padding:0 !important;
    margin:0 !important;

    cursor:pointer !important;
    z-index:999999 !important;
}

.fpn-mobile-close span,
.fpn-mobile-close i{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:100% !important;
    line-height:1 !important;
}
@media(max-width:1024px){
  .fpn-mobile-close{
    width:44px!important;
    height:44px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:0!important;
    line-height:1!important;
  }

  .fpn-mobile-close::before{
    content:none!important;
    display:none!important;
  }

  .fpn-mobile-close::after{
    content:"×"!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    font-size:34px!important;
    font-weight:300!important;
    line-height:1!important;
    color:#fff!important;
    transform:translateY(-2px)!important;
  }

  .fpn-mobile-close *{
    display:none!important;
  }
}.fpn-mobile-events{
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  padding:0 0 14px!important;
}

.fpn-mobile-events .fpn-mobile-group-title{
  display:block!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  padding:18px 0!important;
  text-decoration:none!important;
}

.fpn-mobile-events .fpn-mobile-sub{
  display:grid!important;
  gap:10px!important;
  padding:0 0 0 18px!important;
}

.fpn-mobile-events .fpn-mobile-sub a{
  display:block!important;
  color:#dfe7ff!important;
  font-size:16px!important;
  font-weight:800!important;
  padding:10px 0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  text-decoration:none!important;
}