{"id":5748,"date":"2026-02-22T16:12:45","date_gmt":"2026-02-22T15:12:45","guid":{"rendered":"https:\/\/www.aviglianabasket.it\/?page_id=5748"},"modified":"2026-05-08T09:06:45","modified_gmt":"2026-05-08T07:06:45","slug":"ab_home1","status":"publish","type":"page","link":"https:\/\/www.aviglianabasket.it\/","title":{"rendered":"AB_HOME1"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"it\" class=\"dark\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Avigliana Basket &#8211; Keep Pushing. Keep Winning.<\/title>\n    <link\n        href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;800&#038;family=Outfit:wght@700;900&#038;family=Material+Icons+Round\"\n        rel=\"stylesheet\">\n    <style>\n        :root {\n            --primary: #008751;\n            --primary-glow: rgba(0, 135, 81, 0.4);\n            --primary-dark: #003621;\n            --accent: #ffffff;\n            --bg-body: #f4f7f6;\n            --bg-card: rgba(255, 255, 255, 0.7);\n            --text-main: #0a0a0a;\n            --text-muted: #666666;\n            --sidebar-width: 80px;\n            --sidebar-expanded: 280px;\n            --header-height: 80px;\n            --transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n            --shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\n            --glass-bg: rgba(255, 255, 255, 0.7);\n            --glass-border: rgba(255, 255, 255, 0.3);\n            --glass-blur: blur(15px) saturate(160%);\n            --bicolor-secondary: #000000;\n        }\n\n        .dark {\n            --bg-body: #050605;\n            --bg-card: rgba(26, 29, 27, 0.7);\n            --text-main: #f8fafc;\n            --text-muted: #94a3b8;\n            --shadow: 0 8px 32px rgba(0, 0, 0, 0.6);\n            --glass-bg: rgba(13, 15, 14, 0.7);\n            --glass-border: rgba(255, 255, 255, 0.08);\n            --bicolor-secondary: #ffffff;\n            --brand-green-light: #4ade80;\n        }\n\n        \/* CUSTOM SCROLLBAR *\/\n        ::-webkit-scrollbar {\n            width: 8px;\n        }\n\n        ::-webkit-scrollbar-track {\n            background: var(--bg-body);\n        }\n\n        ::-webkit-scrollbar-thumb {\n            background: var(--primary);\n            border-radius: 10px;\n        }\n\n        ::-webkit-scrollbar-thumb:hover {\n            background: var(--primary-dark);\n        }\n\n        \/* CUSTOM CURSOR *\/\n        #custom-cursor {\n            width: 20px;\n            height: 20px;\n            background: var(--primary);\n            border-radius: 50%;\n            position: fixed;\n            pointer-events: none;\n            z-index: 10000;\n            mix-blend-mode: difference;\n            transition: transform 0.15s ease-out, width 0.3s ease, height 0.3s ease, background 0.3s ease;\n            transform: translate(-50%, -50%);\n            display: none;\n        }\n\n        @media (min-width: 1025px) {\n            #custom-cursor {\n                display: block;\n            }\n\n            body,\n            a,\n            button,\n            .nav-item,\n            .submenu-item {\n                cursor: none !important;\n            }\n        }\n\n        .cursor-hover {\n            transform: translate(-50%, -50%) scale(4);\n            background: white !important;\n            opacity: 0.5;\n        }\n\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        body {\n            font-family: 'Inter', sans-serif;\n            background-color: var(--bg-body);\n            color: var(--text-main);\n            overflow-x: hidden;\n            transition: background-color 0.3s ease, color 0.3s ease;\n        }\n\n        h1,\n        h2,\n        h3,\n        .motto {\n            font-family: 'Outfit', sans-serif;\n        }\n\n        \/* FIXED HEADER *\/\n        #header-fixed {\n            position: fixed;\n            top: 0;\n            left: 0;\n            right: 0;\n            width: 100vw;\n            height: var(--header-height);\n            background: var(--glass-bg);\n            backdrop-filter: var(--glass-blur);\n            -webkit-backdrop-filter: var(--glass-blur);\n            border-bottom: 1px solid var(--glass-border);\n            z-index: 5000;\n            padding: 0 20px;\n            display: flex;\n            align-items: center;\n            justify-content: flex-start !important;\n            overflow: hidden;\n            box-shadow: var(--shadow);\n        }\n\n\n        .header-content-left {\n            display: flex;\n            align-items: center;\n            height: 100%;\n            gap: 0;\n            margin-right: auto !important;\n            \/* Forces right content to extreme right *\/\n        }\n\n        .header-content-right {\n            display: flex;\n            align-items: center;\n            height: 100%;\n            gap: 10px;\n            padding-right: 0;\n        }\n\n        .header-btn {\n            height: 100%;\n            width: 70px;\n            display: none;\n            align-items: center;\n            justify-content: center;\n            cursor: pointer;\n            transition: var(--transition);\n            color: white;\n            border: none;\n        }\n\n        .header-btn .material-icons-round {\n            font-size: 24px;\n        }\n\n\n\n        .header-btn.menu-btn {\n            background: #000;\n        }\n\n        body.overlay-open .header-btn {\n            display: flex;\n        }\n\n        .header-btn:hover {\n            filter: brightness(1.2);\n        }\n\n        .branding {\n            position: absolute !important;\n            left: 14px !important;\n            \/* Precisely above the sidebar icons *\/\n            top: 50% !important;\n            transform: translateY(-50%) !important;\n            display: flex;\n            align-items: center;\n            gap: 10px;\n            z-index: 5001;\n        }\n\n        .logo {\n            height: 40px;\n            width: auto;\n            max-width: 50px;\n            object-fit: contain;\n            margin: 0;\n        }\n\n        .brand-name {\n            font-family: 'Outfit';\n            font-size: 1.8rem;\n            font-weight: 900;\n            letter-spacing: -1px;\n            text-transform: uppercase;\n        }\n\n        .brand-name .part1 {\n            color: var(--primary);\n        }\n\n        .dark .brand-name .part1 {\n            color: var(--brand-green-light);\n        }\n\n        .brand-name .part2 {\n            color: var(--bicolor-secondary);\n        }\n\n        .theme-toggle {\n            background: var(--bg-card);\n            border: 1px solid rgba(0, 0, 0, 0.1);\n            color: var(--text-main);\n            width: 45px;\n            height: 45px;\n            border-radius: 10px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            cursor: pointer;\n            box-shadow: var(--shadow);\n            transition: var(--transition);\n        }\n\n\n\n        body.overlay-open #overlay-screen {\n            top: var(--header-height);\n            height: calc(100vh - var(--header-height));\n        }\n\n        \/* Adjust top controls to be in a prominent position when open *\/\n        body.overlay-open .top-controls-container {\n            top: 17px;\n            right: 40px;\n        }\n\n        \/* Hide the default theme toggle in header when overlay is open *\/\n        body.overlay-open .header-right-group .theme-toggle {\n            display: none;\n        }\n\n        .header-right-group {\n            display: flex;\n            align-items: center;\n            gap: 15px;\n            padding-right: 40px;\n        }\n\n        body.overlay-open .header-right-group {\n            padding-right: 0;\n        }\n\n\n\n        body.overlay-open .branding {\n            padding-left: 0;\n        }\n\n        \/* FIXED SIDEBAR *\/\n        #sidebar {\n            position: fixed;\n            top: var(--header-height);\n            left: 0;\n            height: calc(100vh - var(--header-height));\n            width: var(--sidebar-width);\n            background: var(--glass-bg);\n            backdrop-filter: var(--glass-blur);\n            -webkit-backdrop-filter: var(--glass-blur);\n            border-right: 1px solid var(--glass-border);\n            color: var(--text-main);\n            z-index: 4000;\n            overflow: hidden;\n            transition: var(--transition);\n            display: flex;\n            flex-direction: column;\n            padding: 20px 0;\n            box-shadow: 10px 0 30px rgba(0, 0, 0, 0.05);\n        }\n\n        #sidebar:hover {\n            width: var(--sidebar-expanded);\n        }\n\n        .nav-item {\n            position: relative;\n            display: flex;\n            align-items: center;\n            height: 50px;\n            margin: 0;\n            padding: 0;\n            cursor: pointer;\n            transition: background 0.2s;\n            text-decoration: none;\n            color: white;\n            white-space: nowrap;\n            overflow: hidden;\n        }\n\n        .nav-item:hover {\n            background: rgba(255, 255, 255, 0.1);\n        }\n\n        .nav-item .material-icons-round {\n            width: 45px;\n            height: 45px;\n            min-width: 45px;\n            margin: 0 17.5px;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            font-size: 24px;\n            flex-shrink: 0;\n            pointer-events: none;\n            background: var(--glass-bg);\n            backdrop-filter: var(--glass-blur);\n            -webkit-backdrop-filter: var(--glass-blur);\n            border: 1px solid var(--glass-border);\n            border-radius: 12px;\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n            transition: var(--transition);\n        }\n\n        .nav-item:hover .material-icons-round {\n            transform: scale(1.1);\n            border-color: var(--primary);\n            box-shadow: 0 0 15px var(--primary-glow);\n        }\n\n        .nav-text {\n            font-weight: 600 !important;\n            opacity: 0;\n            transition: opacity 0.2s;\n            pointer-events: none;\n            position: absolute !important;\n            left: 80px !important;\n        }\n\n        #sidebar:hover .nav-text {\n            opacity: 1;\n        }\n\n        .nav-group {\n            display: contents;\n            margin: 0 !important;\n            padding: 0 !important;\n        }\n\n        .submenu {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.3s ease;\n            background: rgba(0, 0, 0, 0.1);\n            margin: 0;\n            padding: 0;\n        }\n\n        .nav-item:hover+.submenu,\n        .submenu:hover {\n            max-height: 500px !important;\n        }\n\n        .submenu-item {\n            padding: 12px 20px 12px 80px !important;\n            font-size: 0.9em;\n            color: rgba(255, 255, 255, 0.8);\n            cursor: pointer;\n            transition: color 0.2s;\n            display: block;\n            text-decoration: none;\n        }\n\n        .submenu-item:hover {\n            color: white;\n            background: rgba(255, 255, 255, 0.05);\n        }\n\n        \/* MAIN WRAPPER *\/\n        #content-area {\n            position: absolute;\n            top: 0;\n            left: var(--sidebar-width);\n            bottom: 0;\n            right: 0;\n            overflow-y: auto;\n            scroll-behavior: smooth;\n            transition: left 0.4s ease;\n            z-index: 1000;\n        }\n\n        #sidebar:hover~#content-area {\n            left: var(--sidebar-expanded);\n        }\n\n        \/* FULL-SCREEN SECTIONS *\/\n        .page-section {\n            width: 100%;\n            min-height: 100vh;\n            scroll-margin-top: var(--header-height);\n            display: flex;\n            flex-direction: column;\n            justify-content: center;\n            padding: 60px;\n            position: relative;\n        }\n\n        \/* HERO SECTION *\/\n        .hero-section {\n            text-align: center;\n            position: relative;\n            overflow: hidden;\n            background: #000;\n            \/* Altezza robusta su tutti i browser mobile *\/\n            min-height: 100vh;\n            min-height: 100svh;\n        }\n\n        \/* Assicura che il video riempia sempre il container anche su mobile *\/\n        .hero-bg-img {\n            position: absolute !important;\n            top: 0 !important;\n            left: 0 !important;\n            width: 100% !important;\n            height: 100% !important;\n            min-height: 100% !important;\n            object-fit: cover !important;\n            object-position: center top !important;\n            z-index: 0;\n            pointer-events: none;\n            opacity: 0.8;\n        }\n\n        .hero-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background: rgba(0, 0, 0, 0.1);\n            \/* Very light mask *\/\n            z-index: 1;\n            pointer-events: none;\n            transition: background 0.4s ease;\n        }\n\n        \/* Light mode overlay adjustment *\/\n        html:not(.dark) .hero-overlay {\n            background: rgba(255, 255, 255, 0.3);\n            \/* Balanced light overlay for the middle ground *\/\n        }\n\n        .hero-title,\n        .hero-motto,\n        .scroll-indicator {\n            position: relative;\n            z-index: 2;\n        }\n\n        .hero-title {\n            font-size: clamp(3rem, 10vw, 8rem);\n            line-height: 0.9;\n            margin-bottom: 20px;\n            text-transform: uppercase;\n            font-weight: 900;\n            overflow: hidden;\n            word-wrap: break-word;\n            overflow-wrap: break-word;\n        }\n\n        .hero-title span {\n            display: inline-block;\n            transform: translateY(100%);\n            animation: revealText 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;\n        }\n\n        .hero-title .part2 {\n            animation-delay: 0.2s;\n        }\n\n        @keyframes revealText {\n            to {\n                transform: translateY(0);\n            }\n        }\n\n        .hero-motto {\n            font-size: 1.5rem;\n            color: var(--text-muted);\n            letter-spacing: 8px;\n            text-transform: uppercase;\n            opacity: 0;\n            transform: translateY(20px);\n            animation: fadeInSlide 0.8s ease forwards 0.6s;\n        }\n\n        @keyframes fadeInSlide {\n            to {\n                opacity: 1;\n                transform: translateY(0);\n            }\n        }\n\n        \/* Light mode contrast adjustments for Hero *\/\n        html:not(.dark) .hero-motto,\n        html:not(.dark) .scroll-indicator {\n            color: #000 !important;\n        }\n\n        \/* DYNAMIC OVERLAY (ENTRY FROM RIGHT) *\/\n        #overlay-screen {\n            position: fixed;\n            top: 0;\n            left: 100%;\n            width: 100%;\n            height: 100vh;\n            background: var(--bg-body);\n            z-index: 3000;\n            transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n            display: flex;\n            flex-direction: column;\n            padding: 0;\n            overflow: hidden;\n        }\n\n        #overlay-screen.active {\n            transform: translateX(-100%);\n        }\n\n\n\n        \/* SIDEBAR OVERLAY STATE *\/\n        #sidebar.sidebar-overlay-active {\n            z-index: 5000;\n            width: var(--sidebar-expanded);\n        }\n\n        #sidebar.sidebar-overlay-active .nav-text {\n            opacity: 1;\n        }\n\n        \/* HOME CONTENT BLOCKS (SCHEDULE, NEWS, ETC) *\/\n        .home-block {\n            background: var(--bg-card);\n            border-radius: 30px;\n            padding: 50px;\n            margin-bottom: 40px;\n            box-shadow: var(--shadow);\n            border: 1px solid rgba(255, 255, 255, 0.05);\n        }\n\n        .block-title {\n            font-size: 2.5rem;\n            color: var(--primary);\n            margin-bottom: 30px;\n            display: flex;\n            align-items: center;\n            gap: 15px;\n        }\n\n        \/* HORIZONTAL CARDS MOCKUP *\/\n        .horizontal-cards {\n            display: flex;\n            gap: 20px;\n            overflow-x: auto;\n            padding-bottom: 20px;\n            scrollbar-width: none;\n        }\n\n        .h-card {\n            min-width: 400px;\n            background: rgba(0, 135, 81, 0.05);\n            border-radius: 20px;\n            padding: 30px;\n            flex-shrink: 0;\n        }\n\n        \/* SPONSOR SECTION *\/\n        .sponsor-section {\n            background: var(--bg-card);\n        }\n\n        .dark .sponsor-section {\n            background: #000;\n            \/* Total black as requested *\/\n        }\n\n        .sponsor-slider {\n            display: flex;\n            gap: 40px;\n            padding: 40px;\n            overflow-x: auto;\n            scrollbar-width: none;\n        }\n\n        \/* ULTIMI RISULTATI MARQUEE *\/\n        .results-section {\n            margin-top: 20px;\n        }\n\n        .results-marquee {\n            width: 100%;\n            overflow: hidden;\n            padding: 20px 0;\n            position: relative;\n            background: rgba(0,0,0,0.1);\n            border-radius: 24px;\n            border: 1px solid rgba(255,255,255,0.03);\n            mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);\n            -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);\n        }\n\n        .results-track {\n            display: flex;\n            gap: 20px;\n            width: max-content;\n            animation: marquee-scroll 60s linear infinite;\n        }\n\n        .results-track:hover {\n            animation-play-state: paused;\n        }\n\n        @keyframes marquee-scroll {\n            0% { transform: translateX(0); }\n            100% { transform: translateX(-50%); }\n        }\n\n        .result-card {\n            background: var(--bg-card);\n            backdrop-filter: var(--glass-blur);\n            -webkit-backdrop-filter: var(--glass-blur);\n            border: 1px solid var(--glass-border);\n            border-radius: 20px;\n            padding: 18px 25px;\n            min-width: 340px;\n            display: flex;\n            flex-direction: column;\n            gap: 10px;\n            box-shadow: var(--shadow);\n            transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);\n        }\n\n        .result-card:hover {\n            transform: translateY(-5px);\n            border-color: var(--primary);\n            background: rgba(255,255,255,0.1);\n        }\n\n        .dark .result-card:hover {\n            background: rgba(255,255,255,0.05);\n        }\n\n        .result-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            font-size: 10px;\n            font-weight: 800;\n            color: var(--text-muted);\n            text-transform: uppercase;\n            letter-spacing: 1.5px;\n        }\n\n        .result-teams {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            gap: 15px;\n            margin: 5px 0;\n        }\n\n        .result-team {\n            font-family: 'Outfit', sans-serif;\n            font-weight: 900;\n            font-size: 14px;\n            color: var(--text-main);\n            text-transform: uppercase;\n            width: 100px;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n            text-align: center;\n        }\n\n        .result-score-wrap {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            gap: 4px;\n        }\n\n        .result-score {\n            font-family: 'Outfit', sans-serif;\n            font-weight: 900;\n            font-size: 24px;\n            color: var(--primary);\n            background: rgba(0, 135, 81, 0.08);\n            padding: 6px 16px;\n            border-radius: 14px;\n            min-width: 90px;\n            text-align: center;\n            letter-spacing: -1px;\n            box-shadow: inset 0 0 10px rgba(0, 135, 81, 0.05);\n        }\n\n        .result-badge {\n            font-size: 9px;\n            font-weight: 900;\n            padding: 4px 10px;\n            border-radius: 8px;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n\n        .badge-win { background: rgba(16, 185, 129, 0.15); color: #10b981; border: 1px solid rgba(16, 185, 129, 0.2); }\n        .badge-loss { background: rgba(239, 68, 68, 0.15); color: #ef4444; border: 1px solid rgba(239, 68, 68, 0.2); }\n\n        .result-footer {\n            font-size: 11px;\n            color: var(--text-muted);\n            font-weight: 600;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n            border-top: 1px solid rgba(255,255,255,0.03);\n            padding-top: 10px;\n        }\n        .sponsor-slider {\n            margin-top: 20px;\n            overflow: hidden;\n            background: rgba(255, 255, 255, 0.03);\n            \/* Extremely subtle contrast *\/\n            padding: 100px 0;\n            \/* Cinema-style prominence *\/\n            border-radius: 20px;\n            position: relative;\n        }\n\n        .track {\n            display: flex;\n            width: calc(500px * 24);\n            \/* Super-size track *\/\n            animation: slideSponsors 80s linear infinite;\n            \/* Ultra-slow, prestigious crawl *\/\n            align-items: center;\n        }\n\n        @keyframes slideSponsors {\n            0% {\n                transform: translateX(0);\n            }\n\n            100% {\n                transform: translateX(calc(-500px * 12));\n            }\n        }\n\n        .sponsor {\n            width: 500px;\n            \/* Cinematic slot *\/\n            padding: 0 50px;\n            flex-shrink: 0;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            filter: grayscale(0);\n            \/* Full color by default for impact *\/\n            opacity: 0.9;\n            transition: all 0.4s ease;\n        }\n\n        .sponsor:hover {\n            opacity: 1;\n            transform: scale(1.05);\n        }\n\n        .sponsor img {\n            max-width: 100%;\n            max-height: 220px;\n            \/* Maximum possible impact *\/\n            object-fit: contain;\n        }\n\n        footer {\n            padding: 10px 60px;\n            background: var(--bg-body);\n            color: var(--text-main);\n            border-top: 2px solid var(--primary);\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            font-size: 0.5rem;\n            letter-spacing: 1px;\n            white-space: nowrap;\n            text-transform: uppercase;\n            opacity: 0.6;\n        }\n\n        \/* INITIAL ENTRY ANIMATION *\/\n        .home-slide-entry {\n            animation: homeSlideDown 1.2s cubic-bezier(0.16, 1, 0.3, 1);\n        }\n\n        @keyframes homeSlideDown {\n            from {\n                transform: translateY(-50px);\n                opacity: 0;\n            }\n\n            to {\n                transform: translateY(0);\n                opacity: 1;\n            }\n        }\n\n        \/* BOOK SPLIT TRANSITION *\/\n        #book-split {\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100vw;\n            height: 100vh;\n            z-index: 9999;\n            pointer-events: none;\n            display: flex;\n        }\n\n        .split-panel {\n            flex: 1;\n            background: #042a15; \/* Verde scuro intenso stile Adidas *\/\n            height: 100%;\n            transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);\n        }\n\n        .split-left {\n            transform: translateX(-100%);\n            border-right: 1px solid rgba(255, 255, 255, 0.1);\n        }\n\n        .split-right {\n            transform: translateX(100%);\n            border-left: 1px solid rgba(255, 255, 255, 0.1);\n        }\n\n        #book-split.active .split-left,\n        #book-split.active .split-right {\n            transform: translateX(0);\n        }\n\n        #split-logo-wrap {\n            position: absolute;\n            top: 50%;\n            left: 50%;\n            transform: translate(-50%, -50%) scale(0);\n            z-index: 10000;\n            transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);\n            background: white;\n            padding: 20px;\n            border-radius: 50%;\n            box-shadow: 0 0 50px rgba(0, 0, 0, 0.3);\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n\n        #book-split.active #split-logo-wrap {\n            transform: translate(-50%, -50%) scale(1);\n        }\n\n        .split-logo {\n            width: 120px;\n            height: auto;\n        }\n\n        \/* DYNAMIC BACKGROUND *\/\n        #page-bg {\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            z-index: -1;\n            pointer-events: none;\n            background-image: url('basketball_bg_pattern.png');\n            background-repeat: repeat;\n            background-size: 800px;\n            opacity: 0.03;\n            \/* Extremely subtle *\/\n            transition: opacity 0.4s ease;\n            animation: bgFloat 60s linear infinite;\n        }\n\n        .dark #page-bg {\n            opacity: 0.05;\n            filter: invert(1);\n        }\n\n        @keyframes bgFloat {\n            0% {\n                background-position: 0 0;\n            }\n\n            100% {\n                background-position: 800px 800px;\n            }\n        }\n\n        \/* RESPONSIVE DESIGN - UNIFIED MEDIA QUERIES *\/\n\n        \/* TABLET & MOBILE OVERRIDE *\/\n        @media (max-width: 1024px) {\n            :root {\n                --sidebar-width: 0px;\n                --header-height: 70px;\n            }\n\n            #custom-cursor {\n                display: none !important;\n            }\n\n            body,\n            a,\n            button,\n            .nav-item,\n            .submenu-item {\n                cursor: auto !important;\n            }\n\n            #sidebar {\n                transform: translateX(-100%);\n                z-index: 99999 !important;\n                width: var(--sidebar-expanded);\n                top: 0;\n                height: 100vh;\n                border-right: none;\n                box-shadow: 20px 0 50px rgba(0, 0, 0, 0.5);\n            }\n\n            #sidebar.sidebar-overlay-active {\n                transform: translateX(0);\n            }\n\n            #sidebar:hover {\n                width: var(--sidebar-expanded);\n                \/* Prevent hover expansion on touch *\/\n            }\n\n            .nav-text {\n                opacity: 1 !important;\n            }\n\n            #header-fixed {\n                width: 100vw;\n                left: 0;\n                padding: 0 15px;\n            }\n\n            .header-btn {\n                display: flex !important;\n            }\n\n            .header-right-group .theme-toggle {\n                display: none;\n            }\n\n            #content-area {\n                left: 0 !important;\n            }\n\n            \/* OVERLAY: su tablet\/mobile usa left:0 fisso per evitare offset laterali\n               causati dal sidebar. L'animazione \u00e8 solo sull'asse X. *\/\n            #overlay-screen {\n                left: 0 !important;\n                right: 0 !important;\n                width: 100% !important;\n                width: 100vw !important;\n                transform: translateX(100%) !important;\n            }\n            #overlay-screen.active {\n                transform: translateX(0) !important;\n            }\n\n            .page-section {\n                padding: 40px 20px;\n            }\n\n            .home-block {\n                padding: 30px 20px;\n                border-radius: 20px;\n            }\n\n            .hero-title {\n                font-size: clamp(2.5rem, 8vw, 4rem) !important;\n            }\n\n            \/* Adjust registration grid for tablets *\/\n            .registration-grid {\n                grid-template-columns: repeat(2, 1fr) !important;\n                padding: 0 20px !important;\n                gap: 20px !important;\n            }\n\n            .promo-box:nth-child(even) {\n                transform: translateY(0) !important;\n            }\n        }\n\n        \/* MOBILE SMALL OVERRIDE *\/\n        @media (max-width: 600px) {\n            :root {\n                --header-height: 60px;\n            }\n\n            \/* Nasconde il testo brand-name su mobile: rimane solo il logo *\/\n            .brand-name {\n                display: none !important;\n            }\n\n            .hero-title {\n                font-size: 2rem !important;\n            }\n\n            .hero-motto {\n                font-size: 0.9rem !important;\n                letter-spacing: 4px !important;\n            }\n\n            .registration-grid {\n                grid-template-columns: 1fr !important;\n                padding: 0 12px !important;\n                gap: 20px !important;\n            }\n\n            \/* Reset staggered offset on mobile *\/\n            .promo-box:nth-child(even) {\n                transform: translateY(0) !important;\n            }\n\n            .promo-img-wrap {\n                height: 220px !important;\n            }\n\n            .promo-img-wrap img {\n                object-fit: cover;\n            }\n\n            .block-title {\n                font-size: 1.6rem !important;\n                gap: 10px !important;\n            }\n\n            .event-box {\n                padding: 15px !important;\n            }\n\n            .teams {\n                font-size: 1.1rem !important;\n            }\n\n            .h-card {\n                min-width: 260px !important;\n                padding: 16px !important;\n            }\n\n            .home-block {\n                padding: 20px 14px !important;\n                border-radius: 16px !important;\n                margin-bottom: 20px !important;\n            }\n\n            .page-section {\n                padding: 24px 14px !important;\n            }\n\n            \/* NEWS image: full width on mobile *\/\n            #news-section > div[style] {\n                max-width: 100% !important;\n            }\n\n            .merchandising-parallax {\n                min-height: 350px !important;\n                padding: 40px 20px !important;\n                background-attachment: scroll !important;\n            }\n\n            .merch-content h3 {\n                font-size: 1.4rem !important;\n            }\n\n            footer {\n                flex-direction: column;\n                text-align: center;\n                gap: 5px;\n                padding: 20px;\n                white-space: normal;\n            }\n\n            \/* Body padding for mobile bottom nav *\/\n            body {\n                padding-bottom: 72px;\n            }\n\n            \/* Hamburger visibile su mobile \u2014 apre il sidebar overlay con tutti i link *\/\n            #header-menu-btn {\n                display: flex !important;\n                width: 46px !important;\n                height: 46px !important;\n                background: var(--primary) !important;\n                border-radius: 12px !important;\n                border: none !important;\n                box-shadow: 0 4px 15px rgba(0,135,81,0.4) !important;\n                margin-right: 4px !important;\n            }\n            #header-menu-btn .material-icons-round {\n                font-size: 22px !important;\n                color: #fff !important;\n            }\n\n            \/* HERO su mobile: sfondo nero con logo centrato *\/\n            #home-hero {\n                padding: 0 !important;\n                min-height: 100vh !important;\n                min-height: 100svh !important;\n                height: 100svh !important;\n                background: #000 !important;\n                background-image: none !important;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n            }\n\n            \/* iOS Safari fallback *\/\n            @supports not (min-height: 100svh) {\n                #home-hero {\n                    min-height: -webkit-fill-available !important;\n                    height: -webkit-fill-available !important;\n                }\n            }\n\n            \/* Nasconde il video su mobile *\/\n            #hero-bg {\n                display: none !important;\n            }\n\n            \/* Mostra il logo mobile centrato *\/\n            #hero-mobile-logo {\n                display: flex !important;\n            }\n\n            \/* OVERLAY a tutto schermo su smartphone \u2014 nessun offset laterale *\/\n            #overlay-screen,\n            body.overlay-open #overlay-screen {\n                left: 0 !important;\n                right: 0 !important;\n                width: 100vw !important;\n                max-width: 100vw !important;\n                margin: 0 !important;\n            }\n\n            \/* Quando l'overlay \u00e8 aperto su mobile,\n               la bottom nav non deve sovrapporsi all'iframe *\/\n            body.overlay-open #mobile-bottom-nav {\n                display: none !important;\n            }\n\n            \/* L'overlay su mobile parte da sotto l'header e va a fondo schermo *\/\n            body.overlay-open #overlay-screen {\n                top: var(--header-height) !important;\n                height: calc(100vh - var(--header-height)) !important;\n                height: calc(100svh - var(--header-height)) !important;\n            }\n            \/* ===== SEZIONE SPONSOR SU MOBILE: slider orizzontale ===== *\/\n\n            \/* Annulla il display:flex del parent che stringe il .track *\/\n            .sponsor-slider {\n                display: block !important;\n                overflow: hidden !important;\n                padding: 24px 0 !important;\n            }\n\n            \/* Forza il .track in riga orizzontale, no wrap *\/\n            .track {\n                display: flex !important;\n                flex-direction: row !important;\n                flex-wrap: nowrap !important;\n                width: max-content !important;\n                align-items: center !important;\n            }\n\n            \/* Ogni slot sponsor: ridotto e non collassabile *\/\n            .sponsor {\n                width: 140px !important;\n                min-width: 140px !important;\n                flex-shrink: 0 !important;\n                padding: 0 12px !important;\n            }\n\n            .sponsor img {\n                max-height: 72px !important;\n                max-width: 100% !important;\n            }\n\n            \/* Ricalibra l'animazione per la nuova larghezza (12 sponsor \u00d7 140px) *\/\n            @keyframes slideSponsors {\n                0%   { transform: translateX(0); }\n                100% { transform: translateX(calc(-140px * 12)); }\n            }\n        }\n\n        \/* ===== MOBILE BOTTOM NAVIGATION ===== *\/\n        #mobile-bottom-nav {\n            display: none;\n        }\n\n        @media (max-width: 640px) {\n            #mobile-bottom-nav {\n                display: flex;\n                position: fixed;\n                bottom: 0;\n                left: 0;\n                right: 0;\n                z-index: 9000;\n                background: rgba(5, 8, 6, 0.97);\n                border-top: 1px solid rgba(0, 135, 81, 0.2);\n                backdrop-filter: blur(20px);\n                -webkit-backdrop-filter: blur(20px);\n                padding: 6px 0 max(8px, env(safe-area-inset-bottom));\n                justify-content: space-around;\n                align-items: flex-start;\n                gap: 0;\n                box-shadow: 0 -4px 20px rgba(0,0,0,0.5);\n            }\n\n            .bnav-item {\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                justify-content: center;\n                gap: 3px;\n                padding: 6px 4px 2px;\n                flex: 1;\n                min-width: 0;\n                cursor: pointer;\n                -webkit-tap-highlight-color: transparent;\n                border-radius: 12px;\n                transition: background 0.15s ease;\n                text-decoration: none;\n            }\n\n            .bnav-item:active {\n                background: rgba(0, 135, 81, 0.15);\n                transform: scale(0.95);\n            }\n\n            .bnav-icon {\n                width: 26px;\n                height: 26px;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                color: rgba(255, 255, 255, 0.4);\n                transition: color 0.15s;\n                font-size: 22px;\n            }\n\n            .bnav-icon.material-icons-round {\n                font-size: 22px;\n                width: auto;\n                height: auto;\n            }\n\n            .bnav-label {\n                font-size: 8px;\n                font-family: 'Outfit', sans-serif;\n                font-weight: 700;\n                letter-spacing: 0.06em;\n                text-transform: uppercase;\n                color: rgba(255, 255, 255, 0.35);\n                transition: color 0.15s;\n                white-space: nowrap;\n                overflow: hidden;\n                text-overflow: ellipsis;\n                max-width: 60px;\n                text-align: center;\n            }\n\n            .bnav-item.bnav-active .bnav-icon,\n            .bnav-item.bnav-active .bnav-icon.material-icons-round {\n                color: #4ade80;\n            }\n\n            .bnav-item.bnav-active .bnav-label {\n                color: #4ade80;\n            }\n        }\n    \n        \/* WOW EFFECT CSS *\/\n        html.lenis, html.lenis body { height: auto; }\n        .lenis.lenis-smooth { scroll-behavior: auto !important; }\n        .lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }\n        .lenis.lenis-stopped { overflow: hidden; }\n\n        .marquee-wrapper {\n            width: 100vw;\n            margin-left: calc(-50vw + 50%); \/* Full width bleed *\/\n            overflow: hidden;\n            background: linear-gradient(135deg, var(--primary), #ff7a00);\n            color: white;\n            padding: 20px 0;\n            transform: rotate(-3deg) scale(1.05);\n            position: relative;\n            z-index: 10;\n            box-shadow: 0 10px 30px rgba(0,0,0,0.3);\n            margin-top: 40px;\n            margin-bottom: 40px;\n        }\n        .marquee-content {\n            display: flex;\n            white-space: nowrap;\n            animation: scrollMarquee 20s linear infinite;\n            font-family: 'Outfit', sans-serif;\n            font-weight: 900;\n            font-size: 2.5rem;\n            letter-spacing: 3px;\n        }\n        .marquee-content span { padding: 0 30px; }\n        @keyframes scrollMarquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }\n\n        .bg-outline-text {\n            position: absolute;\n            top: 50%; left: 50%; transform: translate(-50%, -50%);\n            font-family: 'Outfit', sans-serif;\n            font-size: 18vw; font-weight: 900;\n            color: transparent;\n            -webkit-text-stroke: 2px rgba(0,0,0,0.03);\n            white-space: nowrap; pointer-events: none; z-index: 0;\n        }\n        .dark .bg-outline-text { -webkit-text-stroke: 2px rgba(255,255,255,0.03); }\n\n        .promo-box, .event-box, .ab-item { position: relative; }\n        .promo-box::before, .event-box::before, .ab-item::before {\n            content: \"\"; position: absolute; top: 0; left: 0; right: 0; bottom: 0;\n            border-radius: inherit; padding: 2px; \n            background: radial-gradient(800px circle at var(--mouse-x, 0) var(--mouse-y, 0), rgba(255,255,255,0.4), transparent 40%);\n            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n            -webkit-mask-composite: xor; mask-composite: exclude;\n            pointer-events: none; opacity: 0; transition: opacity 0.3s; z-index: 10;\n        }\n        .promo-box:hover::before, .event-box:hover::before, .ab-item:hover::before { opacity: 1; }\n\n        \/* Asymmetric grid modification \u2014 desktop only *\/\n        @media (min-width: 769px) {\n            .registration-grid {\n                grid-template-columns: 1fr 1.2fr 1fr !important;\n                align-items: center;\n            }\n        }\n        \n        .magnetic-btn { transition: transform 0.1s ease-out; }\n\n<\/style>\n\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/vanilla-tilt\/1.8.1\/vanilla-tilt.min.js\"><\/script>\n\n<\/head>\n\n<body>\n    <div id=\"custom-cursor\"><\/div>\n    <div id=\"page-bg\"><\/div>\n\n    <nav id=\"sidebar\">\n\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\">\n                <span class=\"material-icons-round\">groups<\/span>\n                <span class=\"nav-text\">Societ\u00e0<\/span>\n            <\/div>\n            <div class=\"submenu\">\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Storia', 'https:\/\/www.aviglianabasket.it\/?page_id=254')\">Storia<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Informazioni', 'https:\/\/www.aviglianabasket.it\/?page_id=274')\">\n                    Informazioni<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Privacy Policy', 'https:\/\/www.aviglianabasket.it\/?page_id=3')\">\n                    Privacy Policy<\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\" onclick=\"openDynamicPage('Stagione', 'https:\/\/www.aviglianabasket.it\/?page_id=139')\">\n                <span class=\"material-icons-round\">event_note<\/span>\n                <span class=\"nav-text\">Stagione<\/span>\n            <\/div>\n            <div class=\"submenu\">\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Squadre', 'https:\/\/www.aviglianabasket.it\/?page_id=179')\">Squadre<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Calendario', 'https:\/\/www.aviglianabasket.it\/?page_id=2192')\">Calendario\n                <\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Prossimi Incontri', 'https:\/\/www.aviglianabasket.it\/?page_id=107')\">\n                    Prossimi Incontri<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Statistiche', 'https:\/\/www.aviglianabasket.it\/?page_id=5473')\">\n                    Statistiche<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('News', 'https:\/\/www.aviglianabasket.it\/?page_id=151')\">News<\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\">\n                <span class=\"material-icons-round\">person_add<\/span>\n                <span class=\"nav-text\">Atleti<\/span>\n            <\/div>\n            <div class=\"submenu\">\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Iscrizioni Regular Season', 'https:\/\/www.cloud32.it\/GES\/pub\/corsisel\/210812?&#038;rpet=true')\">\n                    Iscrizioni Regular Season<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Iscrizioni Estate', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')\">\n                    Iscrizioni Estate<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Portale Atleta', 'https:\/\/www.aviglianabasket.cloud\/PORTALE\/index.html')\">\n                    Portale Atleta<\/div>\n                <div class=\"submenu-item\"\n                    onclick=\"openDynamicPage('Richiesta Info', 'https:\/\/www.aviglianabasket.it\/?page_id=274')\">\n                    Richiesta Info<\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\"\n                onclick=\"openDynamicPage('Merchandising', 'https:\/\/www.aviglianabasket.cloud\/ab-merch-ordini_sql\/')\">\n                <span class=\"material-icons-round\">shopping_bag<\/span>\n                <span class=\"nav-text\">Merchandising<\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\" onclick=\"openDynamicPage('Sponsor', 'https:\/\/www.aviglianabasket.it\/?page_id=454')\">\n                <span class=\"material-icons-round\">handshake<\/span>\n                <span class=\"nav-text\">Sponsor<\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"nav-group\">\n            <div class=\"nav-item\"\n                onclick=\"openDynamicPage('Area Riservata', 'https:\/\/www.aviglianabasket.it\/?page_id=427')\">\n                <span class=\"material-icons-round\">vpn_key<\/span>\n                <span class=\"nav-text\">Area Riservata<\/span>\n            <\/div>\n        <\/div>\n    <\/nav>\n\n    <header id=\"header-fixed\">\n        <div class=\"header-content-left\">\n\n            <div class=\"branding\">\n                <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.cloud\/wp-content\/uploads\/2025\/12\/AAA_NEW_LOGO-Photoroom.png\" alt=\"Logo\" class=\"logo\" onclick=\"showHome()\" style=\"cursor:pointer\" title=\"\">\n                <div class=\"brand-name\" onclick=\"showHome()\" style=\"cursor:pointer\">\n                    <span class=\"part1\" style=\"color:#4ade80\">Avigliana<\/span> <span class=\"part2\"\n                        style=\"color:#fff\">Basket<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"header-content-right\">\n            <div class=\"header-btn menu-btn\" id=\"header-menu-btn\" onclick=\"toggleMenu()\">\n                <span class=\"material-icons-round\">menu<\/span>\n            <\/div>\n        <\/div>\n    <\/header>\n\n    <div id=\"content-area\">\n        <section class=\"page-section hero-section\" id=\"home-hero\">\n            <video id=\"hero-bg\" class=\"hero-bg-img\" autoplay muted playsinline\n                poster=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/03\/NEW_DARKSFONDO-scaled.png\">\n                <source src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/03\/Sfondo_animato-1.mp4\"\n                    type=\"video\/mp4\">\n            <\/video>\n            <div class=\"hero-overlay\"><\/div>\n\n            <!-- Logo centrato visibile solo su smartphone -->\n            <div id=\"hero-mobile-logo\" style=\"display:none; position:relative; z-index:3; flex-direction:column; align-items:center; justify-content:center; gap:24px;\">\n                <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/05\/AB_LOGO_COMPACT-1.png\" alt=\"Avigliana Basket\" style=\"max-width:220px; width:70vw; height:auto; object-fit:contain; filter:drop-shadow(0 0 30px rgba(0,135,81,0.5));\" title=\"\">\n            <\/div>\n\n            <div class=\"scroll-indicator\">\n                <div class=\"mouse\">\n                    <div class=\"wheel\"><\/div>\n                <\/div>\n                <span>Scroll Down<\/span>\n            <\/div>\n        <\/section>\n\n        <style>\n            .scroll-indicator {\n                position: absolute;\n                bottom: 30px;\n                left: 50%;\n                transform: translateX(-50%);\n                color: white;\n                font-size: 2rem;\n                opacity: 0.6;\n                animation: scrollWiggle 2s infinite;\n                cursor: pointer;\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                gap: 5px;\n            }\n\n            @keyframes scrollWiggle {\n\n                0%,\n                100% {\n                    transform: translate(-50%, 0);\n                    opacity: 0.4;\n                }\n\n                50% {\n                    transform: translate(-50%, 10px);\n                    opacity: 1;\n                }\n            }\n\n            .scroll-indicator .mouse {\n                width: 25px;\n                height: 40px;\n                border: 2px solid white;\n                border-radius: 12px;\n                position: relative;\n                margin-bottom: 5px;\n            }\n\n            .scroll-indicator .wheel {\n                width: 3px;\n                height: 8px;\n                background: white;\n                position: absolute;\n                top: 8px;\n                left: 50%;\n                transform: translateX(-50%);\n                border-radius: 2px;\n                animation: wheelScroll 1.5s infinite;\n            }\n\n            @keyframes wheelScroll {\n                0% {\n                    opacity: 0;\n                    transform: translate(-50%, 0);\n                }\n\n                30% {\n                    opacity: 1;\n                }\n\n                100% {\n                    opacity: 0;\n                    transform: translate(-50%, 15px);\n                }\n            }\n        <\/style>\n\n        <section class=\"page-section\">\n            <div id=\"live-events-container\"><\/div>\n\n            <style>\n                #live-events-container h1 {\n                    font-family: 'Outfit', sans-serif;\n                    color: var(--primary);\n                    font-size: 2.2rem;\n                    font-weight: 900;\n                    margin-bottom: 20px;\n                    text-align: left;\n                    \/* Left aligned *\/\n                    text-transform: uppercase;\n                    letter-spacing: 2px;\n                    text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.1);\n                }\n\n                .dark #live-events-container h1 {\n                    text-shadow: 2px 2px 0px rgba(255, 255, 255, 0.05);\n                }\n\n                .event-box {\n                    background: var(--bg-card);\n                    border-radius: 20px;\n                    padding: 25px;\n                    margin-bottom: 20px;\n                    box-shadow: var(--shadow);\n                    border: 1px solid rgba(0, 0, 0, 0.05);\n                    position: relative;\n                    overflow: hidden;\n                }\n\n                .dark .event-box {\n                    border-color: rgba(255, 255, 255, 0.05);\n                }\n\n                .event-box::before {\n                    content: 'LIVE';\n                    position: absolute;\n                    right: -10px;\n                    bottom: -10px;\n                    font-size: 8rem;\n                    font-family: 'Outfit';\n                    font-weight: 900;\n                    opacity: 0.03;\n                    pointer-events: none;\n                }\n\n                .title-row {\n                    display: flex;\n                    justify-content: space-between;\n                    align-items: center;\n                    margin-bottom: 15px;\n                    flex-wrap: wrap;\n                    gap: 10px;\n                }\n\n                .teams {\n                    font-size: 1.4rem;\n                    font-weight: 800;\n                    color: var(--text-main);\n                    font-family: 'Outfit';\n                }\n\n                .start-time-container {\n                    font-size: 0.9rem;\n                    font-weight: 700;\n                    background: rgba(0, 0, 0, 0.03);\n                    padding: 5px 12px;\n                    border-radius: 10px;\n                }\n\n                .dark .start-time-container {\n                    background: rgba(255, 255, 255, 0.05);\n                }\n\n                .cat-location {\n                    font-size: 0.9rem;\n                    color: var(--text-muted);\n                    font-weight: 600;\n                    margin-bottom: 20px;\n                    display: flex;\n                    align-items: center;\n                    gap: 8px;\n                }\n\n                \/* TIMELINE *\/\n                .timeline-container {\n                    margin-top: 25px;\n                }\n\n                .timeline-track {\n                    position: relative;\n                    width: 100%;\n                    height: 14px;\n                    background: rgba(0, 0, 0, 0.05);\n                    border-radius: 20px;\n                    display: flex;\n                    overflow: hidden;\n                    border: 1px solid rgba(0, 0, 0, 0.05);\n                }\n\n                .dark .timeline-track {\n                    background: rgba(255, 255, 255, 0.05);\n                    border-color: rgba(255, 255, 255, 0.05);\n                }\n\n                .segment {\n                    height: 100%;\n                    transition: all 0.3s ease;\n                }\n\n                .ball {\n                    position: absolute;\n                    top: 50%;\n                    width: 30px;\n                    height: 30px;\n                    background: url(\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/7a\/Basketball.png\") no-repeat center;\n                    background-size: contain;\n                    transform: translate(-50%, -50%);\n                    z-index: 10;\n                    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));\n                    transition: left 1s ease-in-out;\n                }\n\n                .labels-row {\n                    display: flex;\n                    justify-content: space-between;\n                    margin-top: 10px;\n                    font-size: 0.65rem;\n                    position: relative;\n                    height: 20px;\n                    font-weight: 800;\n                    text-transform: uppercase;\n                    letter-spacing: 0.5px;\n                    color: var(--text-muted);\n                }\n\n                .label {\n                    position: absolute;\n                    transform: translateX(-50%);\n                    white-space: nowrap;\n                }\n            <\/style>\n\n            <script>\n                (function () {\n                    const CSV_URL = \"\/wp-content\/uploads\/2025\/INCONTRI.csv\";\n                    const REFRESH_MS = 60000;\n                    const TOTAL_DURATION_MIN = 140;\n\n                    function parseCSV(text) {\n                        const lines = text.trim().split(\"\\n\");\n                        return lines.map(l => l.split(\",\"));\n                    }\n\n                    function minutesSince(start) {\n                        return (new Date() - start) \/ 60000;\n                    }\n\n                    function getTimelineStructure(type) {\n                        if (type.includes(\"Seniores\")) {\n                            return [\n                                [\"Risc\", -20, 0], [\"1\u00b0Q\", 0, 20], [\"2\u00b0Q\", 20, 40],\n                                [\"INT\", 40, 56], [\"3\u00b0Q\", 56, 76], [\"4\u00b0Q\", 76, 96],\n                                [\"Fine\", 96, 120]\n                            ];\n                        } else if (type.includes(\"Giovanili\")) {\n                            return [\n                                [\"Risc\", -20, 0], [\"1\u00b0Q\", 0, 16], [\"2\u00b0Q\", 16, 32],\n                                [\"INT\", 32, 49], [\"3\u00b0Q\", 49, 65], [\"4\u00b0Q\", 65, 81],\n                                [\"Fine\", 81, 120]\n                            ];\n                        } else { \/\/ Minibasket\n                            return [\n                                [\"Risc\", -20, 0], [\"1\u00b0T\", 0, 25], [\"INT\", 25, 41],\n                                [\"2\u00b0T\", 41, 66], [\"Fine\", 66, 120]\n                            ];\n                        }\n                    }\n\n                    function getSegmentStyle(label) {\n                        let color = \"rgba(100, 100, 100, 0.1)\"; \/\/ Default\n                        if (label.includes(\"Q\") || label.includes(\"T\")) color = \"var(--primary)\";\n                        if (label.includes(\"INT\")) color = \"#ffa930\";\n                        if (label.includes(\"Fine\")) color = \"#e74c3c\";\n                        return `background-color: ${color}; opacity: 0.2;`;\n                    }\n\n                    function createTimeline(type, elapsed) {\n                        const structure = getTimelineStructure(type);\n                        let ballLeft = ((elapsed + 20) \/ TOTAL_DURATION_MIN) * 100;\n                        ballLeft = Math.max(0, Math.min(100, ballLeft));\n\n                        let segmentsHtml = structure.map(seg => {\n                            const [label, start, end] = seg;\n                            const width = ((end - start) \/ TOTAL_DURATION_MIN) * 100;\n                            return `<div class=\"segment\" style=\"width:${width}%; ${getSegmentStyle(label)}\"><\/div>`;\n                        }).join('');\n\n                        let labelsHtml = structure.map(seg => {\n                            const [label, start, end] = seg;\n                            const pos = (((start + end) \/ 2 + 20) \/ TOTAL_DURATION_MIN) * 100;\n                            const width = ((end - start) \/ TOTAL_DURATION_MIN) * 100;\n                            if (label === \"Fine\" || width < 5) return '';\n                            return `<div class=\"label\" style=\"left:${pos}%\">${label}<\/div>`;\n                        }).join('');\n\n                        return `\n                            <div class=\"timeline-container\">\n                                <div class=\"timeline-track\">\n                                    ${segmentsHtml}\n                                    <div class=\"ball\" style=\"left:${ballLeft}%\"><\/div>\n                                <\/div>\n                                <div class=\"labels-row\">${labelsHtml}<\/div>\n                            <\/div>\n                        `;\n                    }\n\n                    async function loadLiveEvents() {\n                        try {\n                            const r = await fetch(CSV_URL + \"?t=\" + Date.now());\n                            const text = await r.text();\n                            const rows = parseCSV(text);\n                            const container = document.getElementById(\"live-events-container\");\n\n                            const now = new Date();\n                            const today = now.toLocaleDateString('it-IT');\n\n                            let html = '';\n                            let found = false;\n\n                            rows.forEach((r, i) => {\n                                if (i === 0 || !r[2]) return;\n                                if (r[2] !== today) return;\n\n                                const [hh, mm] = r[7].split(\":\");\n                                const eventDate = new Date();\n                                eventDate.setHours(hh, mm, 0, 0);\n                                const elapsed = minutesSince(eventDate);\n\n                                if (elapsed < -20 || elapsed > 120) return;\n\n                                found = true;\n                                const title = (r[6] === \"C CASA\" || r[6] === \"CASA\") ? `${r[4]} vs ${r[5]}` : `${r[5]} vs ${r[4]}`;\n\n                                html += `\n                                    <div class=\"event-box\">\n                                        <div class=\"title-row\">\n                                            <div class=\"teams\">${title}<\/div>\n                                            <div class=\"start-time-container\">\n                                                <span style=\"opacity:0.7\">Inizio:<\/span> \n                                                <span style=\"color:var(--primary)\">${r[7]}<\/span>\n                                            <\/div>\n                                        <\/div>\n                                        <div class=\"cat-location\">\n                                            <span class=\"material-icons-round\" style=\"font-size:16px\">category<\/span> ${r[12]}\n                                            <span class=\"material-icons-round\" style=\"font-size:16px; margin-left:10px;\">place<\/span> ${r[8]}\n                                        <\/div>\n                                        ${createTimeline(r[12], elapsed)}\n                                    <\/div>\n                                `;\n                            });\n\n                            if (found) {\n                                container.innerHTML = `<h1><span class=\"material-icons-round\">sensors<\/span> Eventi Live<\/h1>` + html;\n                                container.style.display = 'block';\n                            } else {\n                                container.innerHTML = \"\";\n                                container.style.display = 'none';\n                            }\n                        } catch (e) { }\n                    }\n\n                    loadLiveEvents();\n                    setInterval(loadLiveEvents, REFRESH_MS);\n                })();\n            <\/script>\n\n            <style>\n                @keyframes pulse {\n                    0% {\n                        opacity: 1;\n                        transform: scale(1);\n                    }\n\n                    50% {\n                        opacity: 0.7;\n                        transform: scale(0.95);\n                    }\n\n                    100% {\n                        opacity: 1;\n                        transform: scale(1);\n                    }\n                }\n            <\/style>\n\n            \n        <div class=\"marquee-wrapper\">\n            <div class=\"marquee-content\">\n                <span>KEEP PUSHING \u2022 KEEP WINNING \u2022 AVIGLIANA BASKET \u2022 <\/span>\n                <span>KEEP PUSHING \u2022 KEEP WINNING \u2022 AVIGLIANA BASKET \u2022 <\/span>\n                <span>KEEP PUSHING \u2022 KEEP WINNING \u2022 AVIGLIANA BASKET \u2022 <\/span>\n            <\/div>\n        <\/div>\n\n        <section class=\"page-section\" id=\"registration-promo-section\" style=\"position:relative;\">\n            <div class=\"bg-outline-text\">AVIGLIANA<\/div>\n                <div class=\"registration-grid\">\n                    <div class=\"promo-box\">\n                        <div class=\"promo-img-wrap\">\n                            <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2025\/08\/ISCRIZIONE_20252026.jpg.webp\" alt=\"Regular Season\" title=\"\">\n                        <\/div>\n                        <button class=\"promo-btn\"\n                            onclick=\"openDynamicPage('ISCRIZIONE REGULAR SEASON', 'https:\/\/www.cloud32.it\/GES\/pub\/corsisel\/210812?&#038;rpet=true')\">ISCRIZIONE\n                            REGULAR SEASON<\/button>\n                    <\/div>\n                    <div class=\"promo-box\">\n                        <div class=\"promo-img-wrap\">\n                            <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/03\/INTERNATIONAL-CAMP.jpeg\" alt=\"International Camp\" title=\"\">\n                        <\/div>\n                        <button class=\"promo-btn\"\n                            onclick=\"openDynamicPage('ISCRIZIONE INTERNATIONAL CAMP', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')\">ISCRIZIONE\n                            INTERNATIONAL CAMP<\/button>\n                    <\/div>\n                    <div class=\"promo-box\">\n                        <div class=\"promo-img-wrap\">\n                            <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/03\/Summer_Sport_Camp.png\" alt=\"Summer Sport Camp\" title=\"\">\n                        <\/div>\n                        <button class=\"promo-btn\"\n                            onclick=\"openDynamicPage('ISCRIZIONI SUMMER SPORT CAMP', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/')\">ISCRIZIONI\n                            SUMMER SPORT CAMP<\/button>\n                    <\/div>\n                <\/div>\n\n                <style>\n                    .registration-grid {\n                        display: grid;\n                        grid-template-columns: repeat(3, 1fr);\n                        gap: 30px;\n                        margin-bottom: 60px;\n                        padding: 0 40px;\n                        max-width: 1400px;\n                        margin-left: auto;\n                        margin-right: auto;\n                    }\n\n                    .promo-box:nth-child(even) {\n                        transform: translateY(40px);\n                    }\n\n                    .reveal-on-scroll {\n                        opacity: 0;\n                        transform: translateY(30px);\n                        transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);\n                    }\n\n                    .reveal-on-scroll.active {\n                        opacity: 1;\n                        transform: translateY(0);\n                    }\n\n                    .promo-box {\n                        background: var(--bg-card);\n                        border-radius: 20px;\n                        overflow: hidden;\n                        display: flex;\n                        flex-direction: column;\n                        box-shadow: var(--shadow);\n                        border: 1px solid rgba(0, 0, 0, 0.05);\n                        transition: transform 0.3s ease;\n                        height: 100%;\n                    }\n\n                    .dark .promo-box {\n                        border-color: rgba(255, 255, 255, 0.05);\n                    }\n\n                    \n\n                    .promo-img-wrap {\n                        width: 100%;\n                        height: 250px;\n                        overflow: hidden;\n                    }\n\n                    .promo-img-wrap img {\n                        width: 100%;\n                        height: 100%;\n                        object-fit: cover;\n                        transition: transform 0.5s ease;\n                    }\n\n                    .promo-box:hover .promo-img-wrap img {\n                        transform: scale(1.05);\n                    }\n\n                    .promo-btn {\n                        margin: 20px;\n                        padding: 15px;\n                        background: var(--primary);\n                        color: white;\n                        border: none;\n                        border-radius: 12px;\n                        font-family: 'Outfit', sans-serif;\n                        font-weight: 900;\n                        text-transform: uppercase;\n                        letter-spacing: 1px;\n                        cursor: pointer;\n                        transition: all 0.3s;\n                        margin-top: auto;\n                        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);\n                    }\n\n                    .promo-btn:hover {\n                        background: var(--primary-dark);\n                        transform: translateY(-2px);\n                        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);\n                    }\n                <\/style>\n            <\/section>\n\n            <div class=\"home-block reveal-on-scroll\" id=\"news-section\">\n                <h2 class=\"block-title\">\n                    <span class=\"material-icons-round\">newspaper<\/span> NEWS\n                <\/h2>\n                <div style=\"max-width: 50%; margin: 0 auto; border-radius: 24px; overflow: hidden; box-shadow: var(--shadow); border: 1px solid rgba(255,255,255,0.05);\">\n                    <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/05\/SUMMERSPORTCAMP.jpeg\" alt=\"News Volantino\" style=\"width: 100%; height: auto; display: block; transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);\" onmouseover=\"this.style.transform=&#039;scale(1.02)&#039;\" onmouseout=\"this.style.transform=&#039;scale(1)&#039;\" title=\"\">\n                <\/div>\n            <\/div>\n\n            <div class=\"home-block\" id=\"timeline-container-block\">\n                <style>\n                    #timeline-widget {\n                        width: 100%;\n                        background: var(--bg-card);\n                        border-radius: 20px;\n                        overflow: hidden;\n                        border: 1px solid rgba(0, 0, 0, 0.05);\n                        box-shadow: var(--shadow);\n                        font-family: 'Inter', sans-serif;\n                        position: relative;\n                        display: flex;\n                        flex-direction: column;\n                    }\n\n                    .dark #timeline-widget {\n                        border-color: rgba(255, 255, 255, 0.05);\n                    }\n\n                    #timeline-header {\n                        padding: 20px;\n                        text-align: left;\n                        \/* Left aligned *\/\n                        border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n                        background: rgba(0, 0, 0, 0.02);\n                    }\n\n                    .dark #timeline-header {\n                        border-bottom-color: rgba(255, 255, 255, 0.05);\n                        background: rgba(255, 255, 255, 0.02);\n                    }\n\n                    #timeline-header h3 {\n                        font-family: 'Outfit';\n                        font-size: 1.2rem;\n                        font-weight: 900;\n                        text-transform: uppercase;\n                        letter-spacing: 1px;\n                        color: var(--text-main);\n                        margin-bottom: 10px;\n                    }\n\n                    .legend {\n                        display: flex;\n                        justify-content: center;\n                        gap: 20px;\n                        font-size: 0.7rem;\n                        font-weight: 800;\n                        text-transform: uppercase;\n                        letter-spacing: 1px;\n                        opacity: 0.8;\n                    }\n\n                    .legend-item {\n                        display: flex;\n                        align-items: center;\n                        gap: 6px;\n                    }\n\n                    .dot-home {\n                        width: 10px;\n                        height: 10px;\n                        border-radius: 50%;\n                        background: #10b981;\n                        box-shadow: 0 0 10px rgba(16, 185, 129, 0.5);\n                    }\n\n                    .dot-away {\n                        width: 10px;\n                        height: 10px;\n                        border-radius: 50%;\n                        background: #e11d48;\n                        box-shadow: 0 0 10px rgba(225, 29, 72, 0.5);\n                    }\n\n                    #timeline-main {\n                        padding: 20px;\n                        position: relative;\n                        height: 180px;\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        \/* Centered *\/\n                        overflow-x: auto;\n                        overflow-y: hidden;\n                        scrollbar-width: thin;\n                    }\n\n                    #timeline-main::-webkit-scrollbar {\n                        height: 4px;\n                    }\n\n                    #timeline-main::-webkit-scrollbar-thumb {\n                        background: var(--primary);\n                        border-radius: 10px;\n                    }\n\n                    #timeline-axis {\n                        position: absolute;\n                        top: 50%;\n                        left: 0;\n                        width: 100%;\n                        height: 1px;\n                        background: linear-gradient(90deg, transparent, var(--text-muted), transparent);\n                        opacity: 0.2;\n                        z-index: 1;\n                    }\n\n                    .timeline-days-wrap {\n                        display: flex;\n                        justify-content: center;\n                        \/* Centered items *\/\n                        gap: 20px;\n                        \/* Added gap for better spacing *\/\n                        height: 100%;\n                        position: relative;\n                        z-index: 2;\n                        padding: 0 40px;\n                    }\n\n                    .day-column {\n                        display: flex;\n                        flex-direction: column;\n                        align-items: center;\n                        justify-content: center;\n                        width: 80px;\n                        height: 100%;\n                        position: relative;\n                    }\n\n                    .day-badge {\n                        background: var(--bg-body);\n                        border: 1px solid rgba(0, 0, 0, 0.1);\n                        padding: 6px 10px;\n                        border-radius: 12px;\n                        text-align: center;\n                        min-width: 60px;\n                        z-index: 10;\n                        transition: all 0.3s ease;\n                    }\n\n                    .dark .day-badge {\n                        border-color: rgba(255, 255, 255, 0.1);\n                        background: #1a1a1a;\n                    }\n\n                    .day-badge.is-today {\n                        background: var(--primary);\n                        border-color: var(--primary);\n                        color: white !important;\n                        transform: scale(1.1);\n                        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\n                    }\n\n                    .day-badge.is-today span {\n                        color: white !important;\n                    }\n\n                    .day-name {\n                        display: block;\n                        font-size: 0.6rem;\n                        text-transform: uppercase;\n                        font-weight: 800;\n                        color: var(--text-muted);\n                        margin-bottom: 2px;\n                    }\n\n                    .day-num {\n                        display: block;\n                        font-size: 1.1rem;\n                        font-weight: 900;\n                        color: var(--text-main);\n                        font-family: 'Outfit';\n                    }\n\n                    .match-dot {\n                        width: 28px;\n                        height: 28px;\n                        border-radius: 50%;\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        color: white;\n                        font-weight: 900;\n                        font-size: 0.8rem;\n                        cursor: pointer;\n                        transition: all 0.3s;\n                        border: 2px solid rgba(255, 255, 255, 0.2);\n                        position: absolute;\n                        left: 50%;\n                        transform: translateX(-50%);\n                    }\n\n                    .match-dot:hover {\n                        transform: translateX(-50%) scale(1.2);\n                        z-index: 100;\n                        cursor: pointer;\n                    }\n\n                    .match-dot.home {\n                        background: linear-gradient(135deg, #10b981, #059669);\n                        bottom: 110px;\n                        box-shadow: 0 4px 10px rgba(16, 185, 129, 0.3);\n                    }\n\n                    .match-dot.away {\n                        background: linear-gradient(135deg, #e11d48, #be123c);\n                        top: 110px;\n                        box-shadow: 0 4px 10px rgba(225, 29, 72, 0.3);\n                    }\n\n                    .dashed-connector {\n                        position: absolute;\n                        width: 1px;\n                        height: 20px;\n                        border-left: 1px dashed var(--text-muted);\n                        opacity: 0.4;\n                        left: 50%;\n                    }\n\n                    .dashed-connector.up {\n                        bottom: 90px;\n                    }\n\n                    .dashed-connector.down {\n                        top: 90px;\n                    }\n\n                    \/* TICKER *\/\n                    #ticker-wrap {\n                        background: var(--primary-dark);\n                        height: 36px;\n                        display: flex;\n                        align-items: center;\n                        overflow: hidden;\n                        position: relative;\n                        border-top: 1px solid rgba(255, 255, 255, 0.05);\n                    }\n\n                    .ticker-label {\n                        background: var(--primary);\n                        color: white;\n                        font-size: 0.65rem;\n                        font-weight: 900;\n                        padding: 0 15px;\n                        height: 100%;\n                        display: flex;\n                        align-items: center;\n                        z-index: 10;\n                        box-shadow: 5px 0 15px rgba(0, 0, 0, 0.3);\n                        white-space: nowrap;\n                    }\n\n                    .ticker-content {\n                        display: flex;\n                        white-space: nowrap;\n                        animation: tickerSwipe 40s linear infinite;\n                        padding-left: 20px;\n                    }\n\n                    .ticker-item {\n                        display: inline-flex;\n                        align-items: center;\n                        gap: 10px;\n                        margin-right: 30px;\n                        color: rgba(255, 255, 255, 0.9);\n                        font-size: 0.75rem;\n                    }\n\n                    .ticker-time {\n                        font-weight: 900;\n                        color: #fff;\n                        background: rgba(255, 255, 255, 0.1);\n                        padding: 2px 6px;\n                        border-radius: 4px;\n                        font-family: monospace;\n                    }\n\n                    .ticker-desc {\n                        font-weight: 700;\n                        text-transform: uppercase;\n                    }\n\n                    @keyframes tickerSwipe {\n                        0% {\n                            transform: translateX(0);\n                        }\n\n                        100% {\n                            transform: translateX(-50%);\n                        }\n                    }\n\n                    \/* MODAL *\/\n                    #match-detail-modal {\n                        position: fixed;\n                        top: 0;\n                        left: 0;\n                        width: 100%;\n                        height: 100%;\n                        background: rgba(0, 0, 0, 0.85);\n                        backdrop-filter: blur(5px);\n                        z-index: 10000;\n                        display: none;\n                        align-items: center;\n                        justify-content: center;\n                        padding: 20px;\n                    }\n\n                    .modal-content {\n                        background: var(--bg-card);\n                        width: 100%;\n                        max-width: 600px;\n                        border-radius: 30px;\n                        overflow: hidden;\n                        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);\n                        border: 1px solid rgba(255, 255, 255, 0.1);\n                        animation: modalShow 0.3s ease-out;\n                    }\n\n                    @keyframes modalShow {\n                        from {\n                            opacity: 0;\n                            transform: translateY(20px);\n                        }\n\n                        to {\n                            opacity: 1;\n                            transform: translateY(0);\n                        }\n                    }\n\n                    .modal-header {\n                        padding: 20px;\n                        border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n                        display: flex;\n                        justify-content: center;\n                        \/* Centered *\/\n                        align-items: center;\n                        position: relative;\n                    }\n\n                    .modal-title {\n                        font-family: 'Outfit';\n                        font-weight: 900;\n                        text-transform: uppercase;\n                        color: var(--primary);\n                    }\n\n                    .modal-close {\n                        position: absolute;\n                        \/* Positioned absolute for centering title *\/\n                        right: 20px;\n                        cursor: pointer;\n                        opacity: 0.6;\n                    }\n\n                    .modal-body {\n                        padding: 25px;\n                        max-height: 70vh;\n                        overflow-y: auto;\n                        text-align: center;\n                        \/* Centered content *\/\n                    }\n\n                    .event-card {\n                        background: var(--bg-body);\n                        padding: 25px;\n                        border-radius: 20px;\n                        margin-bottom: 20px;\n                        border: 1px solid rgba(0, 0, 0, 0.05);\n                        display: flex;\n                        flex-direction: column;\n                        align-items: center;\n                        \/* Centered *\/\n                    }\n\n                    .event-time {\n                        font-family: monospace;\n                        font-weight: 900;\n                        color: var(--primary);\n                        font-size: 1.1rem;\n                        margin-bottom: 10px;\n                        display: block;\n                    }\n\n                    .event-summary {\n                        font-size: 1.2rem;\n                        font-weight: 800;\n                        color: var(--text-main);\n                        margin-bottom: 15px;\n                        display: block;\n                        line-height: 1.2;\n                    }\n\n                    .event-loc {\n                        font-size: 0.9rem;\n                        color: var(--text-muted);\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        gap: 5px;\n                        margin-bottom: 15px;\n                    }\n\n                    .event-desc {\n                        font-size: 0.85rem;\n                        color: var(--text-muted);\n                        border-top: 1px solid rgba(0, 0, 0, 0.05);\n                        padding-top: 15px;\n                        line-height: 1.5;\n                        white-space: pre-line;\n                        width: 100%;\n                    }\n\n                    @media (max-width: 768px) {\n                        #timeline-main {\n                            height: 220px;\n                        }\n\n                        .match-dot.home {\n                            bottom: 130px;\n                        }\n\n                        .match-dot.away {\n                            top: 130px;\n                        }\n\n                        .dashed-connector.up {\n                            bottom: 95px;\n                        }\n\n                        .dashed-connector.down {\n                            top: 95px;\n                        }\n                    }\n                <\/style>\n\n                <div id=\"timeline-widget\">\n                    <div id=\"timeline-header\">\n                        <h3>Match Timeline &#8211; Prossimi 7 Giorni<\/h3>\n                        <div class=\"legend\">\n                            <div class=\"legend-item\"><span class=\"dot-home\"><\/span> CASA<\/div>\n                            <div class=\"legend-item\"><span class=\"dot-away\"><\/span> TRASFERTA<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div id=\"timeline-main\">\n                        <div id=\"timeline-axis\"><\/div>\n                        <div class=\"timeline-days-wrap\" id=\"days-root\">\n                            <!-- Days populate here -->\n                        <\/div>\n                    <\/div>\n\n                    <div id=\"ticker-wrap\">\n                        <div class=\"ticker-label\"><span class=\"material-icons-round\"\n                                style=\"font-size: 14px; margin-right: 5px;\">sensors<\/span> LIVE OGGI<\/div>\n                        <div class=\"ticker-content\" id=\"ticker-root\">\n                            <!-- Today events populate here -->\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div id=\"match-detail-modal\">\n                    <div class=\"modal-content\">\n                        <div class=\"modal-header\">\n                            <div class=\"modal-title\" id=\"m-title\">Dettaglio Match<\/div>\n                            <span class=\"material-icons-round modal-close\" onclick=\"closeMatchModal()\">close<\/span>\n                        <\/div>\n                        <div class=\"modal-body\" id=\"m-body\">\n                            <!-- Detail content -->\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <script>\n                    (function () {\n                        const API_KEY = \"AIzaSyDVNulAR9V16JXIK2RSRXCv6uk6AO2Nk1I\";\n                        const CAL_HOME = \"0cd5fa89ab3f8bbd58fe500d95e9df8d2c04692dfdd11fed8a04889380049052@group.calendar.google.com\";\n                        const CAL_AWAY = \"eda6118d425bd15e8b5ec8defdb2ca2a99b94ef6be7b0ffa943fc371f48cf3d8@group.calendar.google.com\";\n\n                        let allEvents = { home: [], away: [] };\n\n                        async function fetchEvents(calId, type) {\n                            const timeMin = new Date();\n                            timeMin.setHours(0, 0, 0, 0);\n                            const timeMax = new Date();\n                            timeMax.setDate(timeMax.getDate() + 7);\n\n                            const url = `https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/${encodeURIComponent(calId)}\/events?key=${API_KEY}&singleEvents=true&orderBy=startTime&timeMin=${timeMin.toISOString()}&timeMax=${timeMax.toISOString()}`;\n\n                            try {\n                                const r = await fetch(url);\n                                const d = await r.json();\n                                return (d.items || []).map(ev => ({\n                                    summary: ev.summary || \"Match\",\n                                    location: ev.location || \"PalaAvigliana\",\n                                    description: ev.description || \"\",\n                                    start: new Date(ev.start.dateTime || ev.start.date),\n                                    type: type,\n                                    dateKey: (ev.start.dateTime || ev.start.date).split('T')[0]\n                                }));\n                            } catch (e) { return []; }\n                        }\n\n                        async function initTimeline() {\n                            allEvents.home = await fetchEvents(CAL_HOME, 'HOME');\n                            allEvents.away = await fetchEvents(CAL_AWAY, 'AWAY');\n                            renderTimeline();\n                        }\n\n                        function renderTimeline() {\n                            const daysRoot = document.getElementById('days-root');\n                            const tickerRoot = document.getElementById('ticker-root');\n                            daysRoot.innerHTML = '';\n                            tickerRoot.innerHTML = '';\n\n                            const today = new Date();\n                            const todayKey = today.toISOString().split('T')[0];\n                            let tickerHtml = '';\n\n                            for (let i = 0; i < 7; i++) {\n                                const d = new Date(today);\n                                d.setDate(today.getDate() + i);\n                                const key = d.toISOString().split('T')[0];\n                                const isToday = key === todayKey;\n\n                                const hMatches = allEvents.home.filter(e => e.dateKey === key);\n                                const aMatches = allEvents.away.filter(e => e.dateKey === key);\n\n                                \/\/ Add to ticker if today\n                                if (isToday) {\n                                    [...hMatches, ...aMatches].sort((a, b) => a.start - b.start).forEach(m => {\n                                        let desc = m.summary;\n                                        if (m.description) {\n                                            let clean = m.description.replace(\/Incontro in : (CASA|TRASFERTA) fra \/i, \"\").split('--')[0].trim();\n                                            if (clean) desc = clean;\n                                        }\n                                        tickerHtml += `\n                                            <div class=\"ticker-item\">\n                                                <span class=\"ticker-time\">${m.start.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}<\/span>\n                                                <span class=\"ticker-desc\">${desc}<\/span>\n                                            <\/div>\n                                        `;\n                                    });\n                                }\n\n                                const dayCol = document.createElement('div');\n                                dayCol.className = 'day-column';\n                                dayCol.innerHTML = `\n                                    <div class=\"day-badge ${isToday ? 'is-today' : ''}\">\n                                        <span class=\"day-name\">${d.toLocaleDateString('it-IT', { weekday: 'short' })}<\/span>\n                                        <span class=\"day-num\">${d.getDate()}<\/span>\n                                    <\/div>\n                                `;\n\n                                if (hMatches.length > 0) {\n                                    const dot = document.createElement('div');\n                                    dot.className = 'match-dot home';\n                                    dot.innerText = hMatches.length;\n                                    dot.onclick = () => showMatchModal(hMatches, `CASA - ${d.toLocaleDateString('it-IT', { day: 'numeric', month: 'short' })}`);\n                                    dayCol.appendChild(dot);\n                                    const conn = document.createElement('div');\n                                    conn.className = 'dashed-connector up';\n                                    dayCol.appendChild(conn);\n                                }\n\n                                if (aMatches.length > 0) {\n                                    const dot = document.createElement('div');\n                                    dot.className = 'match-dot away';\n                                    dot.innerText = aMatches.length;\n                                    dot.onclick = () => showMatchModal(aMatches, `TRASFERTA - ${d.toLocaleDateString('it-IT', { day: 'numeric', month: 'short' })}`);\n                                    dayCol.appendChild(dot);\n                                    const conn = document.createElement('div');\n                                    conn.className = 'dashed-connector down';\n                                    dayCol.appendChild(conn);\n                                }\n\n                                daysRoot.appendChild(dayCol);\n                            }\n\n                            tickerRoot.innerHTML = tickerHtml + tickerHtml; \/\/ Double for loop\n                            if (!tickerHtml) {\n                                document.getElementById('ticker-wrap').style.display = 'none';\n                            }\n                        }\n\n                        window.showMatchModal = (matches, title) => {\n                            document.getElementById('m-title').innerText = title;\n                            let html = '';\n                            matches.forEach(m => {\n                                const isUnconfirmed = m.summary.trim().startsWith('.');\n                                const displaySummary = isUnconfirmed ? m.summary.trim().substring(1).trim() : m.summary;\n\n                                html += `\n                                    <div class=\"event-card\">\n                                        <span class=\"event-time\">${m.start.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}<\/span>\n                                        <span class=\"event-summary\">${displaySummary} ${isUnconfirmed ? '<span style=\"color:#e74c3c; font-size:10px;\">[DA CONFERMARE]<\/span>' : ''}<\/span>\n                                        <div class=\"event-loc\"><span class=\"material-icons-round\" style=\"font-size:14px\">place<\/span> ${m.location}<\/div>\n                                        ${m.description ? `<div class=\"event-desc\">${m.description}<\/div>` : ''}\n                                    <\/div>\n                                `;\n                            });\n                            document.getElementById('m-body').innerHTML = html;\n                            document.getElementById('match-detail-modal').style.display = 'flex';\n                        };\n\n                        window.closeMatchModal = () => {\n                            document.getElementById('match-detail-modal').style.display = 'none';\n                        };\n\n                        initTimeline();\n                    })();\n                <\/script>\n            <\/div>\n\n            <div class=\"home-block\">\n                <h2 class=\"block-title\"><span class=\"material-icons-round\">photo_camera<\/span> Ultime FotoNews<\/h2>\n                <div id=\"ab-widget-wrap\">\n                    <style>\n                        #ab-widget-wrap {\n                            width: 100%;\n                            font-family: 'Inter', system-ui, sans-serif;\n                            margin: 10px 0;\n                        }\n\n                        #ab-grid {\n                            display: grid;\n                            grid-template-columns: repeat(5, 1fr);\n                            gap: 15px;\n                        }\n\n                        .ab-item {\n                            background: var(--bg-card);\n                            border-radius: 20px;\n                            overflow: hidden;\n                            cursor: pointer;\n                            border: 1px solid rgba(0, 0, 0, 0.05);\n                            display: flex;\n                            flex-direction: column;\n                            transition: all 0.3s ease;\n                            box-shadow: var(--shadow);\n                        }\n\n                        .dark .ab-item {\n                            border-color: rgba(255, 255, 255, 0.05);\n                        }\n\n                        .ab-img-container {\n                            aspect-ratio: 1 \/ 1;\n                            overflow: hidden;\n                            position: relative;\n                            background: #000;\n                        }\n\n                        .ab-item img {\n                            width: 100%;\n                            height: 100%;\n                            object-fit: cover;\n                            display: block;\n                        }\n\n                        .ab-item:hover {\n                            border-color: var(--primary);\n                            transform: translateY(-5px);\n                        }\n\n                        .ab-data-footer {\n                            padding: 12px;\n                            background: var(--bg-card);\n                            text-align: center;\n                            border-top: 1px solid rgba(0, 0, 0, 0.05);\n                        }\n\n                        .dark .ab-data-footer {\n                            border-top-color: rgba(255, 255, 255, 0.05);\n                        }\n\n                        .ab-team-name {\n                            display: block;\n                            font-size: 12px;\n                            font-weight: 800;\n                            color: var(--primary);\n                            text-transform: uppercase;\n                            white-space: nowrap;\n                            overflow: hidden;\n                            text-overflow: ellipsis;\n                            font-family: 'Outfit';\n                        }\n\n                        .ab-match-info {\n                            display: block;\n                            font-size: 11px;\n                            color: var(--text-muted);\n                            margin: 4px 0;\n                        }\n\n                        .ab-score-box {\n                            display: flex;\n                            justify-content: center;\n                            align-items: center;\n                            gap: 5px;\n                            margin-top: 6px;\n                        }\n\n                        .ab-score {\n                            font-size: 12px;\n                            font-weight: 700;\n                            color: var(--text-main);\n                        }\n\n                        .ab-result-badge {\n                            font-size: 9px;\n                            padding: 2px 6px;\n                            border-radius: 4px;\n                            font-weight: 800;\n                            color: white;\n                            text-transform: uppercase;\n                        }\n\n                        .badge-vinto {\n                            background: #00482c;\n                        }\n\n                        .badge-perso {\n                            background: #e74c3c;\n                        }\n\n                        .badge-nullo {\n                            background: #777;\n                        }\n\n                        \/* Lightbox *\/\n                        #ab-z-box {\n                            position: fixed;\n                            top: 0;\n                            left: 0;\n                            width: 100%;\n                            height: 100%;\n                            background: rgba(0, 0, 0, 0.9);\n                            display: none;\n                            align-items: center;\n                            justify-content: center;\n                            flex-direction: column;\n                            z-index: 10000;\n                            cursor: pointer;\n                            backdrop-filter: blur(10px);\n                        }\n\n                        #ab-z-img {\n                            max-width: 90vw;\n                            max-height: 75vh;\n                            border-radius: 20px;\n                            border: 4px solid white;\n                            box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);\n                            background: #111;\n                            object-fit: contain;\n                        }\n\n                        #ab-z-close {\n                            position: absolute;\n                            top: 30px;\n                            right: 30px;\n                            color: white;\n                            font-size: 30px;\n                            background: var(--primary);\n                            width: 50px;\n                            height: 50px;\n                            display: flex;\n                            align-items: center;\n                            justify-content: center;\n                            border-radius: 50%;\n                        }\n\n                        #ab-z-note {\n                            margin-top: 20px;\n                            color: white;\n                            font-size: 16px;\n                            text-align: center;\n                            max-width: 800px;\n                            padding: 15px 30px;\n                            background: rgba(255, 255, 255, 0.1);\n                            border-radius: 20px;\n                            line-height: 1.6;\n                            font-family: 'Inter';\n                        }\n\n                        \/* Filter Controls *\/\n                        #ab-controls {\n                            display: flex;\n                            justify-content: center;\n                            align-items: center;\n                            gap: 15px;\n                            margin-bottom: 30px;\n                            flex-wrap: wrap;\n                        }\n\n                        .ab-filter-label {\n                            color: var(--text-muted);\n                            font-size: 14px;\n                            font-weight: 600;\n                        }\n\n                        .ab-select {\n                            background: var(--bg-card);\n                            color: var(--text-main);\n                            border: 1px solid rgba(0, 0, 0, 0.1);\n                            padding: 10px 15px;\n                            border-radius: 12px;\n                            font-size: 14px;\n                            outline: none;\n                            cursor: pointer;\n                            min-width: 200px;\n                            box-shadow: var(--shadow);\n                        }\n\n                        .dark .ab-select {\n                            border-color: rgba(255, 255, 255, 0.1);\n                        }\n\n                        .ab-reset-btn {\n                            background: var(--primary);\n                            color: white;\n                            border: none;\n                            padding: 10px 20px;\n                            border-radius: 12px;\n                            font-size: 14px;\n                            font-weight: 700;\n                            cursor: pointer;\n                            transition: all 0.3s;\n                            box-shadow: var(--shadow);\n                        }\n\n                        .ab-reset-btn:hover {\n                            background: var(--primary-dark);\n                            transform: scale(1.05);\n                        }\n\n                        @media (max-width: 1200px) {\n                            #ab-grid {\n                                grid-template-columns: repeat(3, 1fr);\n                            }\n                        }\n\n                        @media (max-width: 900px) {\n                            #ab-grid {\n                                grid-template-columns: repeat(2, 1fr);\n                            }\n                        }\n\n                        @media (max-width: 500px) {\n                            #ab-grid {\n                                grid-template-columns: 1fr;\n                            }\n                        }\n                    <\/style>\n\n                    <div id=\"ab-controls\">\n                        <label class=\"ab-filter-label\">Filtra per squadra:<\/label>\n                        <select id=\"team-filter\" class=\"ab-select\">\n                            <option value=\"\">Tutte le squadre<\/option>\n                        <\/select>\n                        <button id=\"reset-filter\" class=\"ab-reset-btn\">Reset<\/button>\n                    <\/div>\n\n                    <div id=\"ab-grid\"><\/div>\n\n                    <div id=\"ab-z-box\" onclick=\"this.style.display='none'\">\n                        <div id=\"ab-z-close\">\u00d7<\/div>\n                        <div id=\"ab-load-msg\" style=\"color:white; position:absolute; font-size:12px;\">Caricamento&#8230;\n                        <\/div>\n                        <img decoding=\"async\" id=\"ab-z-img\" src=\"\" referrerpolicy=\"no-referrer\" onload=\"document.getElementById(&#039;ab-load-msg&#039;).style.display=&#039;none&#039;\" alt=\"\" title=\"\">\n                        <div id=\"ab-z-note\"><\/div>\n                    <\/div>\n\n                    <script>\n                        (function () {\n                            const api = 'https:\/\/www.aviglianabasket.cloud\/apiF.php?action=photos';\n                            const b1 = 'https:\/\/www.aviglianabasket.cloud\/uploads\/';\n                            const b2 = 'https:\/\/aviglianabasket.cloud\/uploads\/';\n\n                            let allPhotos = [];\n                            const grid = document.getElementById('ab-grid');\n                            const teamFilter = document.getElementById('team-filter');\n                            const resetBtn = document.getElementById('reset-filter');\n\n                            function formatDate(d) {\n                                if (!d) return '';\n                                const p = d.split('-');\n                                return p.length === 3 ? p[2] + '\/' + p[1] : d;\n                            }\n\n                            function renderPhotos(data) {\n                                if (!Array.isArray(data)) return;\n\n                                console.log('FotoNews Data:', data);\n                                const publishedData = data;\n\n                                if (publishedData.length === 0) {\n                                    grid.innerHTML = '<p style=\"color:var(--text-muted); font-size:14px; text-align:center; grid-column:1\/-1; padding: 40px;\">Nessuna foto trovata.<\/p>';\n                                    return;\n                                }\n\n                                grid.innerHTML = publishedData.slice(0, 10).map(p => {\n                                    const file = p.filename;\n                                    const date = formatDate(p.data_partita);\n                                    const res = p.risultato || 'Nullo';\n                                    const badge = res.toLowerCase() === 'vinto' ? 'badge-vinto' : (res.toLowerCase() === 'perso' ? 'badge-perso' : 'badge-nullo');\n                                    const safeNote = (p.note || '').replace(\/'\/g, \"&#39;\").replace(\/\"\/g, \"&quot;\");\n\n                                    return `\n                                        <div class=\"ab-item\" onclick=\"abOpen(this)\" data-note=\"${safeNote}\">\n                                            <div class=\"ab-img-container\">\n                                                <img decoding=\"async\" src=\"${b1}${file}\" \n                                                     referrerpolicy=\"no-referrer\" \n                                                     onerror=\"if(this.src.includes('www.')){this.src='${b2}${file}';}\">\n                                            <\/div>\n                                            <div class=\"ab-data-footer\">\n                                                <span class=\"ab-team-name\">${p.nome_squadra || 'Squadra'}<\/span>\n                                                <span class=\"ab-match-info\">${date} vs ${p.avversario || '?'}<\/span>\n                                                <div class=\"ab-score-box\">\n                                                    <span class=\"ab-score\">${p.punteggio || '-'}<\/span>\n                                                    ${res !== 'Nullo' ? `<span class=\"ab-result-badge ${badge}\">${res}<\/span>` : ''}\n                                                <\/div>\n                                            <\/div>\n                                        <\/div>\n                                    `;\n                                }).join('');\n                            }\n\n                            function populateFilter(data) {\n                                if (!Array.isArray(data)) return;\n                                const teams = [...new Set(data.map(p => p.nome_squadra).filter(Boolean))].sort();\n                                teams.forEach(team => {\n                                    const opt = document.createElement('option');\n                                    opt.value = team;\n                                    opt.textContent = team;\n                                    teamFilter.appendChild(opt);\n                                });\n                            }\n\n                            async function init() {\n                                const cacheBuster = `t=${Date.now()}`;\n                                const urls = [\n                                    `${api}&${cacheBuster}`,\n                                    `https:\/\/aviglianabasket.cloud\/apiF.php?action=photos&${cacheBuster}`\n                                ];\n\n                                for (const url of urls) {\n                                    try {\n                                        console.log(`FotoNews: Tentativo fetch da ${url}`);\n                                        const d = await jQuery.ajax({\n                                            url: url,\n                                            method: 'GET',\n                                            dataType: 'json',\n                                            xhrFields: { withCredentials: false }\n                                        });\n\n                                        console.log('FotoNews RAW Response:', d);\n                                        const dataArr = Array.isArray(d) ? d : (d && d.status === 'success' ? d.data : null);\n\n                                        if (Array.isArray(dataArr) && dataArr.length > 0) {\n                                            allPhotos = dataArr;\n                                            populateFilter(allPhotos);\n                                            renderPhotos(allPhotos);\n                                            console.log(`FotoNews: Successo con ${dataArr.length} elementi.`);\n                                            return; \/\/ Success!\n                                        } else {\n                                            console.warn(`FotoNews: Risposta vuota o non valida da ${url}`, d);\n                                        }\n                                    } catch (err) {\n                                        console.error(`FotoNews: Errore durante il caricamento da ${url}`, err);\n                                    }\n                                }\n\n                                grid.innerHTML = '<p style=\"color:var(--text-muted); font-size:14px; text-align:center; grid-column:1\/-1; padding: 40px;\">Nessuna foto trovata o errore di connessione API.<\/p>';\n                            }\n\n                            teamFilter.addEventListener('change', (e) => {\n                                const selectedTeam = e.target.value;\n                                if (!selectedTeam) {\n                                    renderPhotos(allPhotos);\n                                } else {\n                                    const filtered = allPhotos.filter(p => p.nome_squadra === selectedTeam);\n                                    renderPhotos(filtered);\n                                }\n                            });\n\n                            resetBtn.addEventListener('click', () => {\n                                teamFilter.value = \"\";\n                                renderPhotos(allPhotos);\n                            });\n\n                            window.abOpen = (el) => {\n                                const thumb = el.querySelector('img');\n                                const box = document.getElementById('ab-z-box');\n                                const img = document.getElementById('ab-z-img');\n                                const load = document.getElementById('ab-load-msg');\n                                const noteBox = document.getElementById('ab-z-note');\n\n                                const noteText = el.getAttribute('data-note');\n\n                                if (thumb && thumb.src) {\n                                    load.style.display = 'block';\n                                    img.src = '';\n                                    img.src = thumb.src;\n\n                                    if (noteBox) {\n                                        noteBox.innerText = noteText || '';\n                                        noteBox.style.display = noteText ? 'block' : 'none';\n                                    }\n\n                                    box.style.display = 'flex';\n                                }\n                            };\n\n                            init();\n                        })();\n                    <\/script>\n                <\/div>\n            <\/div>\n\n            <!-- ULTIMI RISULTATI SECTION -->\n            <div class=\"home-block reveal-on-scroll\" id=\"results-block\" style=\"margin-top: 40px;\">\n                <h2 class=\"block-title\">\n                    <span class=\"material-icons-round\">emoji_events<\/span> ULTIMI RISULTATI\n                <\/h2>\n                <div class=\"results-marquee\">\n                    <div class=\"results-track\" id=\"results-track\">\n                        <div style=\"padding: 20px; color: var(--text-muted); font-family: 'Outfit'; font-weight: 600;\">\n                            <span class=\"material-icons-round\" style=\"vertical-align: middle; margin-right: 5px; animation: spin 2s linear infinite;\">sync<\/span>\n                            Caricamento risultati in corso&#8230;\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <script>\n                (function() {\n                    async function fetchLastResults() {\n                        const track = document.getElementById('results-track');\n                        if (!track) return;\n                        \n                        try {\n                            const response = await fetch('https:\/\/www.aviglianabasket.cloud\/apiCALL.php?action=read&table=CAL_Matches');\n                            const data = await response.json();\n                            \n                            const matches = Array.isArray(data) ? data : (data.data || []);\n                            \n                            \/\/ Filter for matches with results and sort by date descending\n                            const results = matches\n                                .filter(m => m.punti_casa !== null && m.punti_ospiti !== null && m.punti_casa !== \"\" && m.punti_ospiti !== \"\")\n                                .sort((a, b) => new Date(b.data_incontro) - new Date(a.data_incontro))\n                                .slice(0, 15); \/\/ Last 15 results\n\n                            if (results.length === 0) {\n                                track.innerHTML = '<div style=\"padding: 20px; color: var(--text-muted);\">Nessun risultato recente disponibile.<\/div>';\n                                return;\n                            }\n\n                            const cardsHtml = results.map(m => {\n                                const pc = parseInt(m.punti_casa) || 0;\n                                const po = parseInt(m.punti_ospiti) || 0;\n                                const isCasa = m.is_casa == 1;\n                                \n                                \/\/ Logic for Win\/Loss: if isCasa, we win if pc > po. If not isCasa, we win if po > pc.\n                                const isWin = isCasa ? (pc > po) : (po > pc);\n                                const dateStr = new Date(m.data_incontro).toLocaleDateString('it-IT', { day: '2-digit', month: '2-digit' });\n                                \n                                const homeTeam = isCasa ? 'Avigliana' : (m.avversario_nome || 'Avversario');\n                                const awayTeam = isCasa ? (m.avversario_nome || 'Avversario') : 'Avigliana';\n                                \n                                return `\n                                    <div class=\"result-card\">\n                                        <div class=\"result-header\">\n                                            <span>${m.squadra_nome || 'Team'}<\/span>\n                                            <span class=\"result-badge ${isWin ? 'badge-win' : 'badge-loss'}\">${isWin ? 'VITTORIA' : 'SCONFITTA'}<\/span>\n                                        <\/div>\n                                        <div class=\"result-teams\">\n                                            <span class=\"result-team\">${homeTeam}<\/span>\n                                            <div class=\"result-score-wrap\">\n                                                <div class=\"result-score\">${pc} - ${po}<\/div>\n                                            <\/div>\n                                            <span class=\"result-team\">${awayTeam}<\/span>\n                                        <\/div>\n                                        <div class=\"result-footer\">\n                                            <span class=\"material-icons-round\" style=\"font-size: 14px;\">calendar_today<\/span>\n                                            ${dateStr} \u2022 ${m.tipo_incontro || 'Campionato'}\n                                        <\/div>\n                                    <\/div>\n                                `;\n                            }).join('');\n\n                            \/\/ Duplicate content for seamless loop\n                            track.innerHTML = cardsHtml + cardsHtml;\n                            \n                        } catch (error) {\n                            console.error('Error fetching results:', error);\n                            track.innerHTML = '<div style=\"padding: 20px; color: var(--text-muted);\">Errore nel caricamento dei risultati.<\/div>';\n                        }\n                    }\n                    \n                    \/\/ Initialize after a short delay to ensure DOM is ready and animations can start smoothly\n                    setTimeout(fetchLastResults, 500);\n                })();\n            <\/script>\n\n            <div id=\"merchandising-section\" class=\"home-block merchandising-parallax\">\n                <div class=\"merch-overlay\"><\/div>\n                <div class=\"merch-content\">\n                    <h2 class=\"block-title\" style=\"color: white; margin-bottom: 10px;\">\n                        <span class=\"material-icons-round\">shopping_cart<\/span> Merchandising\n                    <\/h2>\n                    <h3\n                        style=\"font-family: 'Outfit'; font-weight: 900; color: var(--primary); font-size: 2rem; margin-bottom: 15px; text-transform: uppercase; background: white; display: inline-block; padding: 5px 20px; border-radius: 10px;\">\n                        STAGIONE 2026 &#8211; 2027<\/h3>\n                    <p style=\"font-size: 1.2rem; margin-bottom: 30px; font-weight: 600;\">Vesti i colori della tua\n                        squadra. Scopri il nuovo kit ufficiale.<\/p>\n                    <button class=\"merch-btn\" style=\"border:none; cursor:pointer;\"\n                        onclick=\"openDynamicPage('Merchandising', 'https:\/\/www.aviglianabasket.cloud\/ab-merch-ordini_sql\/')\">VAI\n                        ALLO\n                        STORE UFFICIALE<\/button>\n                <\/div>\n            <\/div>\n\n            <style>\n                .merchandising-parallax {\n                    position: relative;\n                    min-height: 400px;\n                    background-image: url('https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2025\/08\/AA_MERCHANDISING.jpg');\n                    background-attachment: fixed;\n                    background-position: center;\n                    background-repeat: no-repeat;\n                    background-size: cover;\n                    display: flex;\n                    align-items: center;\n                    justify-content: flex-start;\n                    \/* Left aligned content *\/\n                    text-align: left;\n                    \/* Left aligned text *\/\n                    padding: 60px 50px;\n                    \/* Increased side padding *\/\n                    border: none;\n                    overflow: hidden;\n                    border-radius: 30px;\n                    color: white;\n                }\n\n                .merch-overlay {\n                    position: absolute;\n                    top: 0;\n                    left: 0;\n                    width: 100%;\n                    height: 100%;\n                    background: rgba(0, 0, 0, 0.4);\n                    z-index: 1;\n                }\n\n                .merch-content {\n                    position: relative;\n                    z-index: 2;\n                    max-width: 800px;\n                }\n\n                .merch-btn {\n                    background: var(--primary);\n                    color: white;\n                    padding: 15px 40px;\n                    border-radius: 50px;\n                    font-weight: 900;\n                    text-decoration: none;\n                    text-transform: uppercase;\n                    letter-spacing: 1px;\n                    transition: all 0.3s ease;\n                    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);\n                    display: inline-block;\n                }\n\n                .merch-btn:hover {\n                    background: white;\n                    color: var(--primary);\n                    transform: translateY(-5px);\n                    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);\n                }\n            <\/style>\n            <!-- SAFEGUARDING SECTION -->\n            <div class=\"home-block safeguarding-section\">\n                <div class=\"safeguarding-bg\"><\/div>\n                <div class=\"safeguarding-content\">\n                    <h2 class=\"safeguarding-title\">SAFEGUARDING<\/h2>\n                    <p class=\"safeguarding-text\">\n                        La polisportiva Avigliana Basket ha adottato le linee guida per la predisposizione dei modelli\n                        organizzativi e di controllo dell&#8217;attivit\u00e0 sportiva e dei codici di condotta a tutela dei minori\n                        e per la prevenzione delle molestie, della violenza di genere e di ogni altra forma e condizione\n                        di discriminazione. Avigliana Basket\n                    <\/p>\n                    <button onclick=\"openDynamicPage('Safeguarding', 'https:\/\/www.aviglianabasket.it\/?page_id=433')\"\n                        class=\"safeguarding-btn\" style=\"border:none; cursor:pointer;\">\n                        <span class=\"material-icons-round\">info<\/span>\n                        APPROFONDISCI\n                    <\/button>\n                <\/div>\n            <\/div>\n\n            <style>\n                .safeguarding-section {\n                    position: relative;\n                    padding: 60px 40px;\n                    border-radius: 30px;\n                    overflow: hidden;\n                    text-align: center;\n                    background: #050505;\n                    \/* Black as per image *\/\n                    color: white;\n                    margin-bottom: 20px;\n                    border: 1px solid rgba(255, 255, 255, 0.05);\n                }\n\n                .dark .safeguarding-section {\n                    background: #000;\n                    border-color: rgba(255, 255, 255, 0.05);\n                }\n\n                \/* Light mode adjustment *\/\n                html:not(.dark) .safeguarding-section {\n                    background: var(--bg-card);\n                    color: var(--text-main);\n                    border-color: rgba(0, 0, 0, 0.05);\n                }\n\n                .safeguarding-bg {\n                    position: absolute;\n                    top: 0;\n                    left: 0;\n                    width: 100%;\n                    height: 100%;\n                    background-image: url('data:image\/svg+xml;utf8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"800\" height=\"400\" viewBox=\"0 0 800 400\"><rect width=\"800\" height=\"400\" fill=\"none\"\/><circle cx=\"400\" cy=\"200\" r=\"60\" stroke=\"rgba(0, 255, 90, 0.1)\" stroke-width=\"2\" fill=\"none\"\/><line x1=\"400\" y1=\"0\" x2=\"400\" y2=\"400\" stroke=\"rgba(0, 255, 90, 0.1)\" stroke-width=\"2\"\/><circle cx=\"0\" cy=\"200\" r=\"100\" stroke=\"rgba(0, 255, 90, 0.1)\" stroke-width=\"2\" fill=\"none\"\/><circle cx=\"800\" cy=\"200\" r=\"100\" stroke=\"rgba(0, 255, 90, 0.1)\" stroke-width=\"2\" fill=\"none\"\/><\/svg>');\n                    background-size: cover;\n                    background-position: center;\n                    opacity: 0.3;\n                    z-index: 1;\n                    pointer-events: none;\n                }\n\n                .safeguarding-content {\n                    position: relative;\n                    z-index: 2;\n                    max-width: 900px;\n                    margin: 0 auto;\n                }\n\n                .safeguarding-title {\n                    font-family: 'Outfit';\n                    font-size: 3.5rem;\n                    font-weight: 900;\n                    color: #00ff5a;\n                    \/* Bright green as per original *\/\n                    margin-bottom: 30px;\n                    letter-spacing: 2px;\n                    text-shadow: 0 0 20px rgba(0, 255, 90, 0.2);\n                }\n\n                .safeguarding-text {\n                    font-size: 1.1rem;\n                    line-height: 1.8;\n                    margin-bottom: 40px;\n                    opacity: 0.9;\n                    font-weight: 500;\n                }\n\n                .safeguarding-btn {\n                    display: inline-flex;\n                    align-items: center;\n                    gap: 10px;\n                    background: #50d06b;\n                    \/* Soft green button as per image *\/\n                    color: white;\n                    padding: 12px 35px;\n                    border-radius: 10px;\n                    text-decoration: none;\n                    font-weight: 800;\n                    font-size: 1rem;\n                    transition: all 0.3s ease;\n                    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\n                    text-transform: uppercase;\n                }\n\n                .safeguarding-btn:hover {\n                    transform: translateY(-3px);\n                    filter: brightness(1.1);\n                    box-shadow: 0 8px 25px rgba(80, 208, 107, 0.3);\n                }\n\n                @media (max-width: 768px) {\n                    .safeguarding-title {\n                        font-size: 2rem;\n                    }\n\n                    .safeguarding-text {\n                        font-size: 0.95rem;\n                    }\n\n                    .safeguarding-section {\n                        padding: 40px 20px;\n                    }\n                }\n            <\/style>\n\n            <!-- SPONSOR SECTION -->\n            <div id=\"sponsor-section\" class=\"home-block sponsor-section\">\n                <h2 class=\"block-title\">\n                    <span class=\"material-icons-round\">handshake<\/span> SPONSOR\n                <\/h2>\n                <div class=\"sponsor-slider\">\n                    <div class=\"track\">\n                        <!-- FIRST SET -->\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/tecnocasa.jpg\"\n                                alt=\"Tecnocasa\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Bluenergy-300x300.jpg\"\n                                alt=\"Bluenergy\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_BORDONE-300x300.jpg\"\n                                alt=\"Bordone\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_GERVASI-300x300.jpg\"\n                                alt=\"Gervasi\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_GIUGLAR-300x300.jpg\"\n                                alt=\"Giuglar\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LACROTA-300x300.jpg\"\n                                alt=\"La Crota\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LAROSA-300x300.jpg\"\n                                alt=\"La Rosa\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LCN-300x300.jpg\"\n                                alt=\"LCN\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_MASOERO-300x300.jpg\"\n                                alt=\"Masoero\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Medical_LAB-300x300.jpg\"\n                                alt=\"Medical Lab\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Prometeus-300x300.jpg\"\n                                alt=\"Prometeus\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_SIKONS-300x300.jpg\"\n                                alt=\"Sikons\"><\/div>\n\n                        <!-- DUPLICATED SET FOR LOOP -->\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/tecnocasa.jpg\"\n                                alt=\"Tecnocasa\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Bluenergy-300x300.jpg\"\n                                alt=\"Bluenergy\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_BORDONE-300x300.jpg\"\n                                alt=\"Bordone\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_GERVASI-300x300.jpg\"\n                                alt=\"Gervasi\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_GIUGLAR-300x300.jpg\"\n                                alt=\"Giuglar\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LACROTA-300x300.jpg\"\n                                alt=\"La Crota\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LAROSA-300x300.jpg\"\n                                alt=\"La Rosa\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_LCN-300x300.jpg\"\n                                alt=\"LCN\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_MASOERO-300x300.jpg\"\n                                alt=\"Masoero\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Medical_LAB-300x300.jpg\"\n                                alt=\"Medical Lab\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_Prometeus-300x300.jpg\"\n                                alt=\"Prometeus\"><\/div>\n                        <div class=\"sponsor\"><img decoding=\"async\"\n                                src=\"https:\/\/www.aviglianabasket.it\/wp-content\/uploads\/2026\/02\/SPONSOR_SIKONS-300x300.jpg\"\n                                alt=\"Sikons\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <footer>\n            <div>AVIGLIANA BASKET | Powered by R.ROSSINO<\/div>\n        <\/footer>\n    <\/div>\n\n    <!-- DYNAMIC OVERLAY -->\n    <div id=\"overlay-screen\">\n        <div id=\"overlay-body\"\n            style=\"background: var(--bg-card); padding: 0; border-radius: 0; box-shadow: none; height: 100%; width: 100%; display: flex; flex-direction: column;\">\n            <!-- Scripts will be loaded here -->\n            <p>Caricamento contenuti dinamici&#8230;<\/p>\n        <\/div>\n    <\/div>\n\n    <!-- BOOK SPLIT OVERLAY -->\n    <div id=\"book-split\">\n        <div class=\"split-panel split-left\"><\/div>\n        <div id=\"split-logo-wrap\">\n            <img decoding=\"async\" src=\"https:\/\/www.aviglianabasket.cloud\/wp-content\/uploads\/2025\/12\/AAA_NEW_LOGO-Photoroom.png\" alt=\"Logo\" class=\"split-logo\" title=\"\">\n        <\/div>\n        <div class=\"split-panel split-right\"><\/div>\n    <\/div>\n\n    <script>\n        \/\/ Removed toggleTheme to streamline to Dark Mode Only\n\n        function closeSidebar() {\n            const sidebar = document.getElementById('sidebar');\n            if (sidebar) sidebar.classList.remove('sidebar-overlay-active');\n            const menuBtn = document.getElementById('header-menu-btn');\n            if (menuBtn) {\n                const icon = menuBtn.querySelector('.material-icons-round');\n                if (icon) icon.textContent = 'menu';\n                menuBtn.style.removeProperty('background'); \/\/ CSS mobile gestisce il colore\n            }\n        }\n\n        \/\/ GESTIONE PAGINE DINAMICHE\n        function openDynamicPage(title, url) {\n            \/\/ Il Portale Atleta richiede i cookie di sessione. Negli iframe i browser bloccano i cookie (anti-tracking).\n            \/\/ Quindi lo apriamo in una nuova scheda dedicata.\n            if (title === 'Portale Atleta' || url.includes('PORTALE')) {\n                window.open(url, '_blank');\n                return;\n            }\n\n            closeSidebar();\n\n            const split = document.getElementById('book-split');\n            split.classList.add('active');\n\n            setTimeout(() => {\n                document.body.classList.add('overlay-open');\n                const overlay = document.getElementById('overlay-screen');\n                const body = document.getElementById('overlay-body');\n\n                if (url) {\n                    body.style.padding = \"0\";\n                    body.style.height = \"100%\";\n                    body.style.flex = \"1\";\n                    body.style.overflow = \"hidden\";\n                    body.style.maxWidth = \"100%\";\n                    overlay.style.overflow = \"hidden\";\n                    \/\/ Su mobile usiamo 100vw esplicito per evitare offset laterali\n                    const isMobile = window.innerWidth <= 1024;\n                    const iframeW = isMobile ? '100vw' : '100%';\n                    body.innerHTML = `<iframe src=\"${url}\" style=\"width: ${iframeW}; max-width: 100%; height: 100%; border: none; border-radius: 0; background: white; display: block;\"><\/iframe>`;\n                } else {\n                    body.style.padding = \"100px 50px\";\n                    body.style.height = \"auto\";\n                    body.style.flex = \"none\";\n                    overlay.style.overflow = \"auto\";\n                    body.innerHTML = `\n                        <div style=\"text-align: center; max-width: 800px; margin: 0 auto;\">\n                            <span class=\"material-icons-round\" style=\"font-size: 100px; color: var(--primary); margin-bottom: 20px;\">construction<\/span>\n                            <h2>Sezione ${title}<\/h2>\n                            <p style=\"color: var(--text-muted); margin-top: 15px;\">\n                                Questa sezione caricher\u00e0 lo script esterno fornito tramite link.<br>\n                                Il contenitore a tutto schermo assicura la massima visibilit\u00e0 dei contenuti.\n                            <\/p>\n                        <\/div>\n                    `;\n                }\n\n                overlay.classList.add('active');\n\n                setTimeout(() => {\n                    split.classList.remove('active');\n                }, 400);\n            }, 800);\n        }\n\n        function toggleMenu() {\n            const sidebar = document.getElementById('sidebar');\n            const btn = document.getElementById('header-menu-btn');\n            const isActive = sidebar.classList.toggle('sidebar-overlay-active');\n            const icon = btn.querySelector('.material-icons-round');\n\n            if (isActive) {\n                icon.textContent = 'close';\n                btn.style.background = '#e74c3c';\n                btn.style.boxShadow = '0 4px 15px rgba(231,76,60,0.4)';\n                \/\/ reset bottom nav menu item\n                const bnavMenu = document.getElementById('bnav-menu');\n                if (bnavMenu) bnavMenu.classList.add('bnav-active');\n            } else {\n                icon.textContent = 'menu';\n                btn.style.removeProperty('background');\n                btn.style.removeProperty('box-shadow');\n                const bnavMenu = document.getElementById('bnav-menu');\n                if (bnavMenu) bnavMenu.classList.remove('bnav-active');\n            }\n        }\n\n        function showHome() {\n            closeSidebar();\n\n            if (document.body.classList.contains('overlay-open')) {\n                const split = document.getElementById('book-split');\n                const overlay = document.getElementById('overlay-screen');\n                split.classList.add('active');\n\n                setTimeout(() => {\n                    document.body.classList.remove('overlay-open');\n                    overlay.classList.remove('active');\n\n                    \/\/ Trigger home entry animation\n                    const hero = document.getElementById('home-hero');\n                    if (hero) {\n                        hero.classList.remove('home-slide-entry');\n                        void hero.offsetWidth;\n                        hero.classList.add('home-slide-entry');\n                    }\n\n                    setTimeout(() => {\n                        split.classList.remove('active');\n                    }, 400);\n                }, 800);\n            } else {\n                \/\/ If already on homepage, just scroll to top\n                const content = document.getElementById('content-area');\n                if (content) content.scrollTo({ top: 0, behavior: 'smooth' });\n            }\n        }\n\n        function scrollToSection(id) {\n            closeSidebar();\n            const overlay = document.getElementById('overlay-screen');\n            if (overlay.classList.contains('active')) {\n                showHome();\n                \/\/ Wait for transition then scroll\n                setTimeout(() => {\n                    const section = document.getElementById(id);\n                    if (section) section.scrollIntoView({ behavior: 'smooth' });\n                }, 900);\n            } else {\n                const section = document.getElementById(id);\n                if (section) section.scrollIntoView({ behavior: 'smooth' });\n            }\n        }\n\n        window.onload = () => {\n            document.getElementById('home-hero').classList.add('home-slide-entry');\n        };\n\n        \/\/ CUSTOM CURSOR LOGIC\n        const cursor = document.getElementById('custom-cursor');\n        const contentArea = document.getElementById('content-area');\n\n        document.addEventListener('mousemove', (e) => {\n            cursor.style.left = e.clientX + 'px';\n            cursor.style.top = e.clientY + 'px';\n        });\n\n        const updateHoverables = () => {\n            const hoverables = document.querySelectorAll('a, button, .nav-item, .submenu-item, .promo-box, .h-card, .event-box, .day-badge');\n            hoverables.forEach(item => {\n                item.addEventListener('mouseenter', () => cursor.classList.add('cursor-hover'));\n                item.addEventListener('mouseleave', () => cursor.classList.remove('cursor-hover'));\n            });\n        };\n        updateHoverables();\n\n        \/\/ PARALLAX & ENTRANCE ANIMATIONS\n        const observerOptions = {\n            threshold: 0.1\n        };\n\n        const revealObserver = new IntersectionObserver((entries) => {\n            entries.forEach(entry => {\n                if (entry.isIntersecting) {\n                    entry.target.classList.add('active');\n                    revealObserver.unobserve(entry.target);\n                }\n            });\n        }, observerOptions);\n\n        const initScrollAnimations = () => {\n            document.querySelectorAll('.promo-box, .home-block, .event-box, .sponsor-slider').forEach(el => {\n                el.classList.add('reveal-on-scroll');\n                revealObserver.observe(el);\n            });\n        };\n        initScrollAnimations();\n\n        contentArea.addEventListener('scroll', () => {\n            const scrolled = contentArea.scrollTop;\n            const heroBg = document.getElementById('hero-bg');\n            if (heroBg) {\n                heroBg.style.transform = `translateY(${scrolled * 0.4}px) scale(${1 + scrolled * 0.0003})`;\n            }\n        });\n\n        \/\/ Re-init hoverables when dynamic content is loaded (for LIVE events)\n        const observer = new MutationObserver(updateHoverables);\n        const liveContainer = document.getElementById('live-events-container');\n        if (liveContainer) {\n            observer.observe(liveContainer, { childList: true });\n        }\n    <\/script>\n<script>\n        \/\/ WOW EFFECT JS\n        \/\/ Lo smooth scrolling \u00e8 ora gestito nativamente via CSS per massimizzare la compatibilit\u00e0 coi touchpad\n\n        VanillaTilt.init(document.querySelectorAll(\".promo-box, .event-box\"), {\n            max: 5,\n            speed: 400,\n            glare: true,\n            \"max-glare\": 0.15,\n            scale: 1.02\n        });\n        \n        \/\/ Re-init tilt for dynamic content (ab-item is dynamic)\n        const initDynamicTilt = () => {\n            const items = document.querySelectorAll(\".ab-item\");\n            if(items.length > 0 && !items[0].vanillaTilt) {\n                VanillaTilt.init(items, { max: 5, speed: 400, glare: true, \"max-glare\": 0.15, scale: 1.02 });\n            }\n        };\n        setInterval(initDynamicTilt, 2000);\n\n        \/\/ Spotlight Glow\n        const applySpotlight = () => {\n            document.querySelectorAll('.promo-box, .event-box, .ab-item').forEach(card => {\n                card.addEventListener('mousemove', e => {\n                    const rect = card.getBoundingClientRect();\n                    const x = e.clientX - rect.left;\n                    const y = e.clientY - rect.top;\n                    card.style.setProperty('--mouse-x', `${x}px`);\n                    card.style.setProperty('--mouse-y', `${y}px`);\n                });\n            });\n        };\n        applySpotlight();\n        setInterval(applySpotlight, 2000);\n\n        \/\/ Magnetic Buttons\n        document.querySelectorAll('.promo-btn, .merch-btn').forEach(btn => {\n            btn.classList.add('magnetic-btn');\n            btn.addEventListener('mousemove', e => {\n                const rect = btn.getBoundingClientRect();\n                const h = rect.width \/ 2;\n                const v = rect.height \/ 2;\n                const x = e.clientX - rect.left - h;\n                const y = e.clientY - rect.top - v;\n                btn.style.transform = `translate(${x * 0.3}px, ${y * 0.3}px)`;\n            });\n            btn.addEventListener('mouseleave', () => {\n                btn.style.transform = `translate(0px, 0px)`;\n            });\n        });\n<\/script>\n\n    <!-- ===== MOBILE BOTTOM NAVIGATION BAR ===== -->\n    <nav id=\"mobile-bottom-nav\" aria-label=\"Navigazione mobile\">\n        <div class=\"bnav-item bnav-active\" id=\"bnav-home\" onclick=\"bnavGo('home')\">\n            <span class=\"material-icons-round bnav-icon\">home<\/span>\n            <span class=\"bnav-label\">Home<\/span>\n        <\/div>\n        <div class=\"bnav-item\" id=\"bnav-stagione\" onclick=\"openDynamicPage('Stagione', 'https:\/\/www.aviglianabasket.it\/?page_id=139'); bnavGo('stagione')\">\n            <span class=\"material-icons-round bnav-icon\">event_note<\/span>\n            <span class=\"bnav-label\">Stagione<\/span>\n        <\/div>\n        <div class=\"bnav-item\" id=\"bnav-iscrizioni\" onclick=\"openDynamicPage('Iscrizioni', 'https:\/\/www.aviglianabasket.cloud\/ab-iscrizioni\/'); bnavGo('iscrizioni')\">\n            <span class=\"material-icons-round bnav-icon\">person_add<\/span>\n            <span class=\"bnav-label\">Iscriviti<\/span>\n        <\/div>\n        <div class=\"bnav-item\" id=\"bnav-merch\" onclick=\"openDynamicPage('Merchandising', 'https:\/\/www.aviglianabasket.cloud\/ab-merch-ordini_sql\/'); bnavGo('merch')\">\n            <span class=\"material-icons-round bnav-icon\">shopping_bag<\/span>\n            <span class=\"bnav-label\">Merch<\/span>\n        <\/div>\n        <div class=\"bnav-item\" id=\"bnav-menu\" onclick=\"toggleMenu(); bnavGo('menu')\" style=\"position:relative;\">\n            <span class=\"material-icons-round bnav-icon\">menu<\/span>\n            <span class=\"bnav-label\">Menu<\/span>\n        <\/div>\n    <\/nav>\n\n    <script>\n        function bnavGo(id) {\n            document.querySelectorAll('.bnav-item').forEach(el => el.classList.remove('bnav-active'));\n            const el = document.getElementById('bnav-' + id);\n            if (el) el.classList.add('bnav-active');\n        }\n        \/\/ Se l'overlay viene chiuso, torna Home attivo\n        document.addEventListener('DOMContentLoaded', function() {\n            const origShowHome = window.showHome;\n            window.showHome = function() {\n                if (origShowHome) origShowHome();\n                bnavGo('home');\n            };\n        });\n    <\/script>\n<\/body>\n\n<\/html>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Avigliana Basket &#8211; Keep Pushing. Keep Winning. groups Societ\u00e0 Storia Informazioni Privacy Policy event_note Stagione Squadre Calendario Prossimi Incontri Statistiche [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"default","ast-global-header-display":"disabled","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"disabled","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5748","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/pages\/5748","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5748"}],"version-history":[{"count":90,"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/pages\/5748\/revisions"}],"predecessor-version":[{"id":6199,"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=\/wp\/v2\/pages\/5748\/revisions\/6199"}],"wp:attachment":[{"href":"https:\/\/www.aviglianabasket.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}