{"id":167971,"date":"2026-01-15T00:10:42","date_gmt":"2026-01-14T23:10:42","guid":{"rendered":"https:\/\/www.ciclocolor.com\/?page_id=167971"},"modified":"2026-07-11T20:38:05","modified_gmt":"2026-07-11T18:38:05","slug":"torneo-province","status":"publish","type":"page","link":"https:\/\/ciclocolor.com\/torneo-province\/","title":{"rendered":"TORNEO PROVINCE 2026"},"content":{"rendered":"\n<style>\n    :root {\n        --tp-primary: #0056b3;\n        --tp-primary-dark: #002d5a;\n        --tp-accent: #ff8800;\n        --tp-border: #cbd5e0;\n        --tp-radius: 4px;\n        --tp-bg-hover: #f0f7ff;\n    }\n\n    \/* HEADER PULITO E SOTTILE *\/\n    .tp-premium-header {\n        background: linear-gradient(135deg, #001a33 0%, #004494 100%);\n        padding: 15px 20px;\n        display: flex;\n        flex-direction: row;\n        align-items: center;\n        justify-content: center;\n        gap: 20px;\n        font-family: 'Inter', -apple-system, sans-serif;\n        border-bottom: 1px solid rgba(255,255,255,0.1);\n    }\n\n    .tp-logo-hero {\n        width: 80px;\n        height: auto;\n        filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));\n    }\n\n    .tp-title-group h1 {\n        color: #ffffff;\n        font-size: clamp(18px, 3vw, 26px);\n        font-weight: 1000;\n        text-transform: uppercase;\n        margin: 0;\n        letter-spacing: 1px;\n    }\n\n    \/* NAV STICKY CON ETICHETTE CONTORNATE *\/\n    .nav-sticky {\n        position: sticky;\n        top: 0;\n        z-index: 10000;\n        background: #ffffff;\n        border-bottom: 2px solid var(--tp-primary);\n        box-shadow: 0 2px 10px rgba(0,0,0,0.08);\n    }\n\n    .nav-inner {\n        max-width: 1200px;\n        margin: 0 auto;\n        display: flex;\n        justify-content: center;\n        overflow-x: auto;\n        padding: 10px 10px;\n        gap: 6px;\n        scrollbar-width: none;\n    }\n    .nav-inner::-webkit-scrollbar { display: none; }\n\n    .nav-item {\n        color: #2d3748;\n        text-decoration: none;\n        padding: 8px 14px;\n        font-size: 10px;\n        font-weight: 800;\n        text-transform: uppercase;\n        white-space: nowrap;\n        background: #ffffff;\n        border-radius: var(--tp-radius);\n        border: 1px solid var(--tp-border); \/* RIPRISTINATO IL CONTORNO *\/\n        transition: all 0.25s ease;\n        cursor: pointer;\n    }\n\n    .nav-item:hover {\n        background-color: var(--tp-bg-hover);\n        border-color: var(--tp-primary);\n        color: var(--tp-primary);\n        transform: translateY(-1px);\n    }\n\n    .nav-item.is-active {\n        background: var(--tp-accent) !important;\n        color: #ffffff !important;\n        border-color: var(--tp-accent) !important;\n    }\n\n    @media (max-width: 600px) {\n        .tp-premium-header {\n            flex-direction: column;\n            padding: 10px;\n            gap: 8px;\n        }\n        .tp-logo-hero { width: 60px; }\n        .tp-title-group h1 { font-size: 16px; }\n        .nav-inner { justify-content: flex-start; }\n        .nav-item { padding: 6px 10px; font-size: 9px; }\n    }\n<\/style>\n\n<header class=\"tp-premium-header\">\n    <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/1JeNWoNho2c4abfTu8iUbtNze7mWMAb57=w500\" alt=\"Logo\" class=\"tp-logo-hero\">\n    <div class=\"tp-title-group\">\n        <h1>Torneo delle Province 2026<\/h1>\n    <\/div>\n<\/header>\n\n<nav class=\"nav-sticky\">\n    <div class=\"nav-inner\">\n        <a href=\"#cos-e\" class=\"nav-item\">Scopo<\/a>\n        <a href=\"#ultime-notizie\" class=\"nav-item\">News<\/a>\n        <a href=\"#calendario\" class=\"nav-item\">Calendario<\/a>\n        <a href=\"#iscrizioni\" class=\"nav-item\">Iscrizione<\/a>\n        <a href=\"#atleti-societa-iscritti\" class=\"nav-item\">Iscritti<\/a>\n        <a href=\"#sponsor\" class=\"nav-item\">Sponsor<\/a>\n        <a href=\"#maglie\" class=\"nav-item\">Maglie<\/a>\n        <a href=\"#info\" class=\"nav-item\">Info e Regolamento<\/a>\n    <\/div>\n<\/nav>\n\n<script>\n(function() {\n    const nav = document.querySelector('.nav-sticky');\n    const links = document.querySelectorAll('.nav-item');\n\n    links.forEach(link => {\n        link.addEventListener('click', function(e) {\n            const href = this.getAttribute('href');\n            const navHeight = nav.offsetHeight;\n\n            const scrollToElement = (element) => {\n                if (!element) return;\n                const elementPosition = element.getBoundingClientRect().top + window.pageYOffset;\n                const offsetPosition = elementPosition - navHeight - 10;\n                window.scrollTo({ top: offsetPosition, behavior: 'smooth' });\n            };\n\n            if (href && href.startsWith('#')) {\n                const targetById = document.querySelector(href);\n                if (targetById) {\n                    e.preventDefault();\n                    scrollToElement(targetById);\n                    return;\n                }\n            }\n\n            e.preventDefault();\n            const searchText = this.textContent.trim().toLowerCase();\n            let finalSearchText = (searchText === 'news') ? 'ultime notizie' : \n                                 (searchText === 'iscritti') ? 'individuale iscritto' : searchText;\n            \n            const elements = document.querySelectorAll('h1, h2, h3, .tp-header-full, .tpv-header, .tp-section-title');\n            for (let el of elements) {\n                if (el.textContent.toLowerCase().includes(finalSearchText)) {\n                    scrollToElement(el);\n                    break;\n                }\n            }\n        });\n    });\n\n    const observer = new IntersectionObserver((entries) => {\n        entries.forEach(entry => {\n            if (entry.isIntersecting) {\n                const sectionId = entry.target.id;\n                const sectionText = entry.target.textContent.toLowerCase();\n                links.forEach(link => {\n                    const linkText = link.textContent.toLowerCase();\n                    const linkHref = link.getAttribute('href').replace('#','');\n                    link.classList.remove('is-active');\n                    if (sectionId === linkHref || sectionText.includes(linkText) ||\n                        (linkText === 'news' && sectionText.includes('ultime notizie')) ||\n                        (linkText === 'iscritti' && (sectionText.includes('individuale iscritto') || sectionId === 'atleti-societa-iscritti'))) {\n                        link.classList.add('is-active');\n                    }\n                });\n            }\n        });\n    }, { rootMargin: '-10% 0px -70% 0px' });\n\n    document.querySelectorAll('.tp-header-full, .tpv-header, .tp-section-title, #atleti-societa-iscritti, #iscrizioni, #info, #ultime-notizie').forEach(s => observer.observe(s));\n})();\n<\/script>\n\n\n\n<style>\n    :root {\n        --tp-primary: #0066cc;\n        --tp-primary-dark: #004499;\n        --tp-accent: #ff8800;\n        --tp-text-dark: #2c3e50;\n        --tp-text-light: #666666;\n    }\n\n    .tp-main-wrapper {\n        max-width: 1200px;\n        margin: 40px auto;\n        padding: 0 20px;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    }\n\n    \/* Titolo principale con linea larga *\/\n    .tp-section-title {\n        color: var(--tp-primary) !important;\n        font-size: clamp(18px, 3vw, 30px) !important;\n        font-weight: 600 !important;\n        margin: 0 0 25px 0 !important;\n        padding-bottom: 12px !important;\n        border-bottom: 5px solid var(--tp-primary) !important;\n        border-top: none !important;\n        border-left: none !important;\n        border-right: none !important;\n    }\n\n    \/* Accordion *\/\n    .tp-acc-item {\n        margin-bottom: 10px;\n        border-radius: 8px;\n        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);\n        overflow: hidden;\n        border: 1px solid #eee;\n    }\n\n    .tp-trigger {\n        width: 100%;\n        padding: 15px 20px;\n        background: linear-gradient(135deg, #f9f9f9 0%, #f0f0f0 100%);\n        border: none !important;\n        border-left: 4px solid var(--tp-primary) !important;\n        text-align: left;\n        font-size: 17px;\n        font-weight: 700;\n        color: var(--tp-primary);\n        cursor: pointer;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        transition: background 0.3s ease;\n    }\n\n    .tp-trigger.active {\n        background: var(--tp-primary);\n        color: white;\n        border-left-color: var(--tp-accent) !important;\n    }\n\n    .tp-arrow {\n        font-size: 14px;\n        transition: transform 0.3s ease;\n    }\n\n    .tp-trigger.active .tp-arrow {\n        transform: rotate(180deg);\n    }\n\n    .tp-panel {\n        max-height: 0;\n        overflow: hidden;\n        transition: max-height 0.3s ease-out;\n        background: white;\n    }\n\n    .tp-panel.show {\n        max-height: 2500px;\n    }\n\n    .tp-inner-body {\n        padding: 20px;\n    }\n\n    \/* Grid Interna *\/\n    .tp-info-grid {\n        display: grid;\n        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n        gap: 15px;\n    }\n\n    .tp-info-card {\n        background: #f8f9fa;\n        padding: 20px;\n        border-radius: 8px;\n        border-top: 3px solid var(--tp-primary);\n    }\n\n    .tp-info-card h4 {\n        color: var(--tp-primary);\n        font-size: 16px;\n        margin-bottom: 8px;\n    }\n\n    .tp-info-card p {\n        font-size: 14px;\n        line-height: 1.5;\n        color: var(--tp-text-light);\n        margin: 0;\n    }\n\n    \/* Liste *\/\n    .tp-list {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n    }\n\n    .tp-list li {\n        margin-bottom: 10px;\n        padding-left: 25px;\n        position: relative;\n        font-size: 14px;\n        color: var(--tp-text-light);\n    }\n\n    .tp-list li::before {\n        content: '\u2713';\n        position: absolute;\n        left: 0;\n        color: var(--tp-accent);\n        font-weight: 700;\n    }\n\n    \/* Statistiche in riga - Testo pi\u00f9 grande su PC *\/\n    .tp-stats-row {\n        display: flex;\n        flex-wrap: nowrap;\n        gap: 10px;\n        margin-top: 25px;\n    }\n\n    .tp-stat-item {\n        flex: 1;\n        background: white;\n        padding: 20px 10px; \/* Pi\u00f9 spaziosi su PC *\/\n        border-radius: 8px;\n        text-align: center;\n        border-top: 3px solid var(--tp-primary);\n        box-shadow: 0 2px 8px rgba(0,0,0,0.05);\n        min-width: 0;\n    }\n\n    .tp-stat-val {\n        display: block;\n        font-size: 32px; \/* Molto pi\u00f9 grande su PC *\/\n        font-weight: 800;\n        color: var(--tp-accent);\n        line-height: 1;\n        margin-bottom: 5px;\n    }\n\n    .tp-stat-lbl {\n        display: block;\n        font-size: 13px; \/* Pi\u00f9 leggibile su PC *\/\n        color: var(--tp-text-light);\n        text-transform: uppercase;\n        font-weight: 700;\n        letter-spacing: 0.5px;\n    }\n\n    \/* Ottimizzazione Mobile *\/\n    @media (max-width: 600px) {\n        .tp-main-wrapper {\n            padding: 0;\n        }\n        \n        .tp-section-title {\n            padding-left: 15px;\n            padding-right: 15px;\n        }\n\n        .tp-acc-item {\n            border-radius: 0;\n            border-left: none;\n            border-right: none;\n        }\n\n        .tp-inner-body {\n            padding: 15px;\n        }\n\n        .tp-trigger {\n            font-size: 16px;\n            padding: 15px;\n        }\n\n        \/* Ridimensionamento statistiche per smartphone *\/\n        .tp-stat-item {\n            padding: 10px 2px;\n        }\n\n        .tp-stat-val {\n            font-size: 18px;\n        }\n\n        .tp-stat-lbl {\n            font-size: 8px;\n            letter-spacing: 0;\n        }\n    }\n<\/style>\n\n<div class=\"tp-main-wrapper\">\n    <h2 class=\"tp-section-title\">\ud83d\udccc SCOPO DEL TORNEO<\/h2>\n\n    <div class=\"tp-accordion-group\">\n        <div class=\"tp-acc-item\">\n            <button class=\"tp-trigger\" onclick=\"tpToggle(this)\">\n                <span>\ud83d\udcd6 Cos&#8217;\u00e8 il Torneo<\/span>\n                <span class=\"tp-arrow\">\u25bc<\/span>\n            <\/button>\n            <div class=\"tp-panel\">\n                <div class=\"tp-inner-body\">\n                    <p style=\"font-size:15px; color:var(--tp-text-light); line-height:1.6; margin-bottom:15px;\">\n                        Il <strong>Torneo Ciclistico delle Province Venete 2026<\/strong> \u00e8 un campionato ciclistico interregionale \n                        affiliato all&#8217;<strong>ACSI Settore Ciclismo del Veneto<\/strong>. Si tratta di una competizione strutturata \n                        che unisce il territorio veneto attraverso le sue province, offrendo ai cicloamatori l&#8217;opportunit\u00e0 di \n                        gareggiare in un contesto competitivo e inclusivo.\n                    <\/p>\n                    <p style=\"font-size:15px; color:var(--tp-text-light); line-height:1.6; margin-bottom:15px;\">\n                        Il torneo \u00e8 caratterizzato da una lunga stagione agonistica che si estende da <strong>marzo a settembre 2026<\/strong>, \n                        con un totale di <strong>21 gare<\/strong> suddivise tra <strong>1\u00aa e 2\u00aa serie<\/strong>.\n                    <\/p>\n                    <p style=\"font-size:15px; color:var(--tp-text-light); line-height:1.6;\">\n                        Aperto a tutte le societ\u00e0 ciclistiche tesserate e ai corridori individuali affiliati con enti convenzionati \n                        (ACSI, UISP, FCI, CSAIN, CSI, ACLI).\n                    <\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"tp-acc-item\">\n            <button class=\"tp-trigger\" onclick=\"tpToggle(this)\">\n                <span>\ud83c\udfc1 Struttura del Torneo<\/span>\n                <span class=\"tp-arrow\">\u25bc<\/span>\n            <\/button>\n            <div class=\"tp-panel\">\n                <div class=\"tp-inner-body\">\n                    <div class=\"tp-info-grid\">\n                        <div class=\"tp-info-card\">\n                            <h4>1\u00aa SERIE<\/h4>\n                            <p>Gare di 70-90 km, percorsi mediofondo e circuito per massimi livelli competitivi.<\/p>\n                        <\/div>\n                        <div class=\"tp-info-card\">\n                            <h4>2\u00aa SERIE<\/h4>\n                            <p>Gare di 60-80 km, percorsi tecnici per principianti e amatori in crescita.<\/p>\n                        <\/div>\n                        <div class=\"tp-info-card\">\n                            <h4>13 Categorie<\/h4>\n                            <p>Dai debuttanti ai super gentleman, incluse due categorie femminili dedicate.<\/p>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"tp-acc-item\">\n            <button class=\"tp-trigger\" onclick=\"tpToggle(this)\">\n                <span>\ud83c\udfaf Obiettivi e Scopo<\/span>\n                <span class=\"tp-arrow\">\u25bc<\/span>\n            <\/button>\n            <div class=\"tp-panel\">\n                <div class=\"tp-inner-body\">\n                    <ul class=\"tp-list\">\n                        <li><strong>Promozione:<\/strong> Ciclismo amatoriale prestigioso a livello regionale.<\/li>\n                        <li><strong>Coesione:<\/strong> Unione delle province venete e dei club locali.<\/li>\n                        <li><strong>Sviluppo:<\/strong> Crescita agonistica su percorsi variati e tecnici.<\/li>\n                        <li><strong>Lealt\u00e0:<\/strong> Competizione trasparente regolamentata ACSI.<\/li>\n                    <\/ul>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <div class=\"tp-stats-row\">\n        <div class=\"tp-stat-item\">\n            <span class=\"tp-stat-val\">21<\/span>\n            <span class=\"tp-stat-lbl\">Gare<\/span>\n        <\/div>\n        <div class=\"tp-stat-item\">\n            <span class=\"tp-stat-val\">2<\/span>\n            <span class=\"tp-stat-lbl\">Serie<\/span>\n        <\/div>\n        <div class=\"tp-stat-item\">\n            <span class=\"tp-stat-val\">13<\/span>\n            <span class=\"tp-stat-lbl\">Categorie<\/span>\n        <\/div>\n        <div class=\"tp-stat-item\">\n            <span class=\"tp-stat-val\">5<\/span>\n            <span class=\"tp-stat-lbl\">Province<\/span>\n        <\/div>\n        <div class=\"tp-stat-item\">\n            <span class=\"tp-stat-val\">7<\/span>\n            <span class=\"tp-stat-lbl\">Mesi<\/span>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n    function tpToggle(btn) {\n        const panel = btn.nextElementSibling;\n        const isActive = btn.classList.contains('active');\n\n        document.querySelectorAll('.tp-trigger').forEach(el => {\n            el.classList.remove('active');\n            el.nextElementSibling.classList.remove('show');\n        });\n\n        if (!isActive) {\n            btn.classList.add('active');\n            panel.classList.add('show');\n        }\n    }\n<\/script>\n\n\n\n<div class=\"news-standard-container\">\n    <style>\n        \/* Contenitore semplificato che rispetta i margini del tema *\/\n        .news-standard-container { \n            width: 100%; \n            margin: 30px 0;\n            font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; \n            background: #f4f7f9; \n            padding: 20px;\n            border-radius: 12px;\n            box-sizing: border-box; \/* Fondamentale per non uscire dai bordi *\/\n            clear: both;\n        }\n        \n        .news-inner-wrapper { \n            width: 100%;\n            margin: 0 auto;\n        }\n\n        .news-header-compact { \n            display: flex; \n            align-items: center; \n            margin-bottom: 20px; \n            border-bottom: 3px solid #0066cc; \n            padding-bottom: 10px; \n        }\n        .news-header-compact h2 { color: #003366; margin: 0; text-transform: uppercase; font-weight: 900; font-size: 19px; letter-spacing: 0.5px; }\n        \n        \/* Griglia Desktop - 3 Colonne *\/\n        .news-grid-compact { \n            display: grid; \n            grid-template-columns: repeat(3, 1fr); \n            gap: 15px; \n        }\n\n        .news-card-compact { \n            background: #fff; \n            border-radius: 10px; \n            overflow: hidden; \n            text-decoration: none; \n            color: #333; \n            transition: all 0.3s ease;\n            display: flex;\n            flex-direction: column;\n            border: 1px solid #e0e0e0;\n            box-shadow: 0 4px 10px rgba(0,0,0,0.05);\n            position: relative;\n        }\n\n        .news-img-compact {\n            width: 100%;\n            height: 145px; \n            background-size: cover;\n            background-position: center;\n            position: relative;\n        }\n\n        .news-img-overlay-small {\n            position: absolute;\n            bottom: 0;\n            left: 0;\n            right: 0;\n            background: linear-gradient(transparent, rgba(0,0,0,0.7));\n            padding: 8px;\n            color: white;\n            font-size: 18px;\n        }\n\n        .news-content-compact { padding: 12px; flex-grow: 1; }\n\n        \/* Mobile: Scorrimento orizzontale fluido *\/\n        @media (max-width: 768px) {\n            .news-grid-compact {\n                display: flex;\n                overflow-x: auto;\n                scroll-snap-type: x mandatory;\n                gap: 15px;\n                padding-bottom: 10px;\n                -webkit-overflow-scrolling: touch;\n            }\n            .news-grid-compact::-webkit-scrollbar { height: 4px; }\n            .news-grid-compact::-webkit-scrollbar-thumb { background: #0066cc; border-radius: 10px; }\n            \n            .news-card-compact { min-width: 85%; scroll-snap-align: center; }\n        }\n\n        .badge-new-small {\n            position: absolute;\n            top: 10px;\n            right: 10px;\n            background: #ffcc00;\n            color: #000;\n            font-size: 9px;\n            font-weight: 800;\n            padding: 3px 8px;\n            border-radius: 4px;\n            z-index: 10;\n        }\n\n        .news-date-small { font-size: 11px; font-weight: 700; color: #0066cc; margin-bottom: 5px; display: block; }\n        .news-title-small { font-size: 14px; font-weight: 700; line-height: 1.4; color: #1a1a1a; margin: 0; }\n\n        .news-card-compact:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0,102,204,0.12); border-color: #0066cc; }\n    <\/style>\n\n    <div class=\"news-inner-wrapper\">\n        <div class=\"news-header-compact\">\n            <span style=\"margin-right:12px; font-size:24px;\">\ud83d\udcf0<\/span>\n            <h2>Ultime Notizie<\/h2>\n        <\/div>\n        \n        <div id=\"compact-news-target\" class=\"news-grid-compact\">\n            <div style=\"padding:30px; text-align:center; grid-column: 1 \/ -1; color: #666;\">\n                Sincronizzazione comunicati in corso&#8230;\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n(function() {\n    const siteUrl = \"https:\/\/www.ciclocolor.com\";\n    const tagSlug = \"torneo-province-venete\"; \n\n    async function loadNewsLayout() {\n        const target = document.getElementById('compact-news-target');\n        try {\n            const tagRes = await fetch(`${siteUrl}\/wp-json\/wp\/v2\/tags?slug=${tagSlug}`);\n            const tags = await tagRes.json();\n            if (!tags || tags.length === 0) return;\n\n            const postsRes = await fetch(`${siteUrl}\/wp-json\/wp\/v2\/posts?_embed&per_page=3&tags=${tags[0].id}&status=publish`);\n            const posts = await postsRes.json();\n\n            if (!posts || posts.length === 0) {\n                target.innerHTML = \"<div style='padding:20px;'>Nessun comunicato trovato.<\/div>\";\n                return;\n            }\n\n            target.innerHTML = \"\";\n            posts.forEach((post, index) => {\n                const date = new Date(post.date).toLocaleDateString('it-IT', { day: '2-digit', month: 'long', year: 'numeric' });\n                const title = post.title.rendered;\n                \n                let img = \"https:\/\/via.placeholder.com\/600x400?text=Torneo+Province\";\n                if (post._embedded && post._embedded['wp:featuredmedia']) {\n                    img = post._embedded['wp:featuredmedia'][0].source_url;\n                }\n\n                const showBadge = (index === 0);\n                let icon = \"\ud83d\udcc4\";\n                const t = title.toLowerCase();\n                if(t.includes(\"iscrizion\")) icon = \"\ud83d\udcdd\";\n                if(t.includes(\"classifica\")) icon = \"\ud83c\udfc6\";\n                if(t.includes(\"tappa\")) icon = \"\ud83d\udeb4\";\n\n                target.innerHTML += `\n                    <a href=\"${post.link}\" class=\"news-card-compact\">\n                        ${showBadge ? '<span class=\"badge-new-small\">NEW<\/span>' : ''}\n                        <div class=\"news-img-compact\" style=\"background-image: url('${img}')\">\n                            <div class=\"news-img-overlay-small\">${icon}<\/div>\n                        <\/div>\n                        <div class=\"news-content-compact\">\n                            <span class=\"news-date-small\">${date}<\/span>\n                            <h3 class=\"news-title-small\">${title}<\/h3>\n                        <\/div>\n                    <\/a>\n                `;\n            });\n        } catch (error) { \n            target.innerHTML = \"<div style='padding:20px;'>Errore di caricamento.<\/div>\";\n        }\n    }\n    loadNewsLayout();\n})();\n<\/script>\n\n\n\n<div class=\"tpv-calendar-2026\">\n    <style>\n        :root { \n            --s1-color: #ff8800; \n            --s2-color: #00aa44; \n            --blue-title: #004a99; \n            --bg-light: #f8f9fa;\n        }\n\n        .tpv-calendar-2026 { max-width: 1150px; margin: 0 auto 40px auto; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\n        \n        \/* Header: Allineato a sinistra con linea blu *\/\n        .tpv-header { \n            margin-bottom: 20px; \n            padding-bottom: 8px;\n            border-bottom: 3px solid var(--blue-title);\n        }\n        .tpv-title { \n            font-size: 24px; \n            font-weight: 800; \n            color: var(--blue-title); \n            margin: 0; \n            display: flex; \n            align-items: center; \n            gap: 10px; \n            text-transform: uppercase;\n        }\n        .tpv-subtitle { font-size: 13px; color: #d32f2f; font-style: italic; margin-top: 4px; }\n\n        \/* Tabs Nav *\/\n        .tpv-tabs { display: flex; gap: 4px; margin-bottom: 0; }\n        .tpv-tab { \n            flex: 1; padding: 12px 5px; cursor: pointer; border: none; background: #e0e0e0; \n            font-weight: 700; border-radius: 10px 10px 0 0; transition: 0.3s; \n            font-size: 13px; text-transform: uppercase; color: #666;\n        }\n        .tpv-tab.active.s1 { background: var(--s1-color); color: white; }\n        .tpv-tab.active.s2 { background: var(--s2-color); color: white; }\n\n        \/* Table Container *\/\n        .tpv-table-wrapper { \n            background: white; \n            border-radius: 0 0 10px 10px; \n            box-shadow: 0 2px 10px rgba(0,0,0,0.1); \n            overflow: hidden;\n            margin-bottom: 30px; \n        }\n        \n        table.tpv-table { width: 100%; border-collapse: collapse; table-layout: fixed; }\n        .tpv-table th { background: var(--bg-light); padding: 12px; text-align: left; font-size: 11px; color: #888; border-bottom: 1px solid #eee; }\n        .tpv-table td { padding: 12px; border-bottom: 1px solid #f0f0f0; font-size: 14px; vertical-align: middle; }\n\n        \/* Styling *\/\n        .date-main { font-weight: 700; color: #333; display: block; }\n        .date-sub { font-size: 11px; color: #999; text-transform: capitalize; }\n        .city-link { color: #0066cc; text-decoration: none; font-weight: 600; display: flex; align-items: center; gap: 4px; }\n        .label-tipo { padding: 2px 6px; border-radius: 4px; font-size: 10px; font-weight: 800; background: #eee; color: #555; }\n        .label-tipo.finale { background: #d32f2f; color: white; }\n\n        \/* Document Buttons *\/\n        .tpv-docs { display: flex; gap: 4px; }\n        .btn-doc { \n            flex: 1; padding: 7px 2px; border-radius: 4px; font-size: 10px; font-weight: 700; \n            text-align: center; border: 1px solid #e0e0e0; background: #fafafa; color: #ccc; \n            cursor: default;\n        }\n        .btn-doc.active { background: white; color: #333; border-color: #bbb; cursor: pointer; }\n        .btn-doc.active.classifica { background: #00d2ff; color: white; border-color: #00b8e6; }\n\n        \/* Mobile Optimized (Compact Card) *\/\n        @media (max-width: 600px) {\n            .tpv-table thead { display: none; }\n            .tpv-table tr { \n                display: flex; flex-wrap: wrap; padding: 12px; border-bottom: 1px solid #eee;\n            }\n            .tpv-table td { border: none; padding: 2px; height: auto; }\n            \n            td:nth-child(1) { width: 30px; font-weight: 800; color: #bbb; } \n            td:nth-child(2) { width: calc(50% - 30px); } \n            td:nth-child(4) { width: 50%; text-align: right; } \n            td:nth-child(3) { width: 100%; padding: 5px 0; font-size: 15px; } \n            td:nth-child(5) { width: 100%; color: #888; font-size: 12px; margin-bottom: 8px; } \n            td:nth-child(6) { width: 100%; } \n            \n            .tpv-docs { gap: 8px; }\n            .btn-doc { padding: 10px; font-size: 11px; }\n        }\n    <\/style>\n\n    <header class=\"tpv-header\">\n        <h1 class=\"tpv-title\"><span>\ud83d\udcc5<\/span> Calendario gare 2026<\/h1>\n        <p class=\"tpv-subtitle\">*Definitivo al 15 marzo<\/p>\n    <\/header>\n\n    <div class=\"tpv-tabs\">\n        <button id=\"tab1\" class=\"tpv-tab active s1\" onclick=\"switchSerie(1)\">1\u00aa Serie<\/button>\n        <button id=\"tab2\" class=\"tpv-tab\" onclick=\"switchSerie(2)\">2\u00aa Serie<\/button>\n    <\/div>\n\n    <div class=\"tpv-table-wrapper\">\n        <table class=\"tpv-table\">\n            <thead>\n                <tr>\n                    <th style=\"width: 40px;\">N.<\/th>\n                    <th style=\"width: 120px;\">DATA<\/th>\n                    <th>CITT\u00c0<\/th>\n                    <th style=\"width: 100px;\">TIPO<\/th>\n                    <th>ORGANIZZATORE<\/th>\n                    <th style=\"width: 180px;\">DOCUMENTI<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody id=\"calendar-body\"><\/tbody>\n        <\/table>\n    <\/div>\n<\/div>\n\n<script>\nconst linksS1 = {\n    \"1\": { \n        loc: \"https:\/\/www.ciclocolor.com\/events\/7a-mediofondo-del-graticolato-3-g-p-cube-luxury-store-by-bertoldo-1a-prova-criterium-triveneto-mediofondo-1a-prova-torneo-province-1a-serie\/\", \n        class: \"https:\/\/www.ciclocolor.com\/risultati\/01-03-2026-acsi-strada-7a-mediofondo-del-graticolato-a-massanzago-pd\/\" \n   , },\n\"2\": { loc: \"https:\/\/www.ciclocolor.com\/events\/9a-coppa-san-martino-2a-prova-torneo-province-1a-serie-3a-prova-criterium-triveneto-mediofondo-2026\/\", \n  class: \"https:\/\/www.ciclocolor.com\/risultati\/12-04-2026-acsi-strada-9a-coppa-san-martino-a-passons-pasian-di-prato-ud\/\" \n   , },\n\"3\": { loc: \"https:\/\/www.ciclocolor.com\/events\/5-memorial-cusin-flavio-3a-prova-torneo-province-venete-1a-serie-4a-prova-criterium-mediofondo-triveneto-2026\/\", \nclass: \"https:\/\/www.ciclocolor.com\/risultati\/25-04-2026-acsi-strada-5-memorial-cusin-flavio-a-pramaggiore-ve\/\" \n   ,},\n\"4\": { loc: \"https:\/\/www.ciclocolor.com\/events\/7-memorial-nino-defranceschi-e-gianni-sinigalia-4a-prova-torneo-province-venete-1a-serie\/\", class: \"https:\/\/www.ciclocolor.com\/risultati\/03-05-2026-acsi-strada-7-memorial-nino-defranceschi-e-gianni-sinigalia-a-selve-di-teolo-pd\/\", \n},\n\"5\": { loc: \"https:\/\/www.ciclocolor.com\/events\/8a-edizione-paolo-bassan-race-5a-prova-torneo-province-1a-serie\/\", class: \"https:\/\/www.ciclocolor.com\/17-05-2026-acsi-strada-8a-edizione-paolo-bassan-race-a-torreglia-pd\/\", \n},\n\"6\": { loc: \"https:\/\/www.ciclocolor.com\/events\/2-g-p-citta-di-pederobba-2-trofeo-iavazzo-6a-prova-torneo-province-1a-serie\/\", class: \"https:\/\/www.ciclocolor.com\/31-05-2026-acsi-strada-2-gp-citta-di-pederobba-a-pederobba-tv\/\"\n},\n\"7\": { loc: \"https:\/\/www.ciclocolor.com\/events\/2-trofeo-rainbow-highroad-7a-prova-torneo-province-1a-serie\/\", class: \"https:\/\/www.ciclocolor.com\/06-06-2026-acsi-strada-2-trofeo-rainbow-high-road-a-cologna-veneta-vr\/\"\n},\n\"8\": { loc: \"https:\/\/www.ciclocolor.com\/events\/8-gran-premio-abatini-8a-prova-torneo-province-1a-serie\/\", class: \"https:\/\/www.ciclocolor.com\/21-06-2026-acsi-strada-8-gran-premio-abatini-a-abbazia-pisani-villa-del-conte-pd\/\"\n},\n\"9\": { loc: \"https:\/\/www.ciclocolor.com\/events\/9-gran-premio-citta-di-valdobbiadene-8a-prova-torneo-province-1a-serie\/\"\n},\n\"10\": { loc: \"https:\/\/www.ciclocolor.com\/events\/13a-gara-in-salita-limana-valpiana-11-memorial-igino-roncada-2a-prova-campionato-provinciale-belluno-salita-10a-prova-torneo-provincie-1a-serie-8a-prova-torneo-provincie-2a\/\", \n},\n};\nconst linksS2 = {\n    \"1\": { \n        loc: \"https:\/\/www.ciclocolor.com\/events\/1a-prova-torneo-province-venete-2a-serie-recupero-14-trofeo-trattoria-pizzeria-alla-pecorella-4-memorial-sorato-claudio\/\",\n        class: \"https:\/\/www.ciclocolor.com\/uncategorized\/18-04-2026-acsi-strada-14-trofeo-trattoria-pizzeria-alla-pecorella-a-zeminiana-di-massanzago-pd\/\" \n    },\n\"2\": { \n        loc: \"https:\/\/www.ciclocolor.com\/events\/2a-prova-torneo-delle-province-venete-2a-serie-3\/\", \n        class: \"https:\/\/www.ciclocolor.com\/risultati\/29-03-2026-acsi-strada-2a-prova-torneo-province-2a-serie-a-belfiore-di-pramaggiore-ve\/\"\n   , },\n\"3\": { \n        loc: \"https:\/\/www.ciclocolor.com\/events\/4-trofeo-green-bike-3a-prova-torneo-province-2a-serie\/\",  \n        class: \"https:\/\/www.ciclocolor.com\/risultati\/26-04-2026-acsi-strada-4-trofeo-green-bike-a-santurbano-pd\/\" ,\n    },\n\"4\": { \n        loc: \"https:\/\/www.ciclocolor.com\/events\/9-gran-premio-team-pissei-campionato-provinciale-acsi-belluno-2a-serie-4a-prova-torneo-province-2a-serie\/\",  \n    class: \"https:\/\/www.ciclocolor.com\/risultati\/01-05-2026-acsi-strada-9-g-p-team-pissei-a-arten-di-fonzaso-bl\/\",\n    },\n\"5\": { \n        loc: \"https:\/\/www.ciclocolor.com\/events\/1-trofeo-scorta-tecnica-domenico-5a-prova-torneo-province-venete-2a-serie\/\",\nclass: \"https:\/\/www.ciclocolor.com\/23-05-2026-acsi-strada-1-trofeo-scorta-tecnica-domenico-a-cavarzere-ve\/\" ,\n    },\n\"6\": { \n        loc: \"https:\/\/www.ciclocolor.com\/events\/5-trofeo-ciclistico-ristorante-al-cacciatore-6a-prova-torneo-province-2a-serie-campionato-provinciale-strada-acsi-padova-campionato-veneto-strada-acsi-2a-serie\/\",\nclass: \"https:\/\/www.ciclocolor.com\/13-06-2026-acsi-strada-5-trofeo-ciclistico-ristorante-al-cacciatore-a-rovolon-pd\/\" ,\n    },\n\"7\": { \n        loc: \"https:\/\/www.ciclocolor.com\/events\/7a-prova-torneo-province-2a-serie-campionato-provinciale-strada-acsi-venezia-2a-serie\/\", class: \"https:\/\/www.ciclocolor.com\/27-06-2026-acsi-strada-7a-prova-torneo-province-venete-2a-serie-a-san-pietro-di-stra-ve\/\" ,\n    },\n\"8\": { loc: \"https:\/\/www.ciclocolor.com\/events\/13a-gara-in-salita-limana-valpiana-11-memorial-igino-roncada-2a-prova-campionato-provinciale-belluno-salita-10a-prova-torneo-provincie-1a-serie-8a-prova-torneo-provincie-2a\/\", \n},\n};\nconst dataS1 = [\n    { n: \"1\", iso: \"2026-03-01\", data: \"01 Mar\", day: \"Dom\", loc: \"Massanzago (PD)\", soc: \"Asd Massanzago e Asd S. Eufemia\", tipo: \"Mediofondo\" },\n    { n: \"2\", iso: \"2026-04-12\", data: \"12 Apr\", day: \"Dom\", loc: \"Passons (UD)\", soc: \"Asd Help Haiti\", tipo: \"Mediofondo\" },\n    { n: \"3\", iso: \"2026-04-25\", data: \"25 Apr\", day: \"Sab\", loc: \"Pramaggiore (VE)\", soc: \"Asd Pramaggiore e Asd Ciclisti Veneti\", tipo: \"Mediofondo\" },\n    { n: \"4\", iso: \"2026-05-03\", data: \"03 Mag\", day: \"Dom\", loc: \"Selve di Teolo (PD)\", soc: \"Asd Ciclisti di Giano\", tipo: \"Circuito\" },\n    { n: \"5\", iso: \"2026-05-17\", data: \"17 Mag\", day: \"Dom\", loc: \"Torreglia - Quota 101 (PD)\", soc: \"Asd Cicli Bassan\", tipo: \"Circuito\" },\n    { n: \"6\", iso: \"2026-05-31\", data: \"31 Mag\", day: \"Dom\", loc: \"Pederobba (TV)\", soc: \"Asd U.C. Castagnole\", tipo: \"Circuito\" },\n    { n: \"7\", iso: \"2026-06-06\", data: \"06 Giu\", day: \"Sab\", loc: \"Cologna Veneta (VR)\", soc: \"Asd Highroad Rainbow\", tipo: \"Circuito\" },\n    { n: \"8\", iso: \"2026-06-21\", data: \"21 Giu\", day: \"Dom\", loc: \"Abbazia Pisani (PD)\", soc: \"Asd Abatini Bike\", tipo: \"Circuito\" },\n    { n: \"9\", iso: \"2026-07-18\", data: \"18 Lug\", day: \"Sab\", loc: \"Valdobbiadene (TV)\", soc: \"Asd 3B Salgareda\", tipo: \"Circuito\" },\n    { n: \"10\", iso: \"2026-07-26\", data: \"26 Lug\", day: \"Dom\", loc: \"Limana-Valpiana (BL)\", soc: \"Asd U.C. Limana\", tipo: \"Salita\" },\n    { n: \"11\", iso: \"2026-09-06\", data: \"06 Set\", day: \"Dom\", loc: \"Carbonara (PD)\", soc: \"Asd Benato Bikes\", tipo: \"FINALE\" }\n];\n\nconst dataS2 = [\n  { n: \"1\", iso: \"2026-04-18\", data: \"18 Apr\", day: \"Sab (*Recupero*)\", loc: \"Zeminiana (PD)\", soc: \"Asd Massanzago e Asd S. Eufemia\", tipo: \"Circuito\" },\n    { n: \"2\", iso: \"2026-03-29\", data: \"29 Mar\", day: \"Dom\", loc: \"Belfiore di Pramaggiore (VE)\", soc: \"Asd Ciclisti Veneti\", tipo: \"Circuito\" },\n    { n: \"3\", iso: \"2026-04-26\", data: \"26 Apr\", day: \"Dom\", loc: \"S. Urbano (PD)\", soc: \"Asd Green Bike S. Urbano\", tipo: \"Circuito\" },\n    { n: \"4\", iso: \"2026-05-01\", data: \"01 Mag\", day: \"Ven\", loc: \"Arten - Fonzaso (BL)\", soc: \"Asd Team Pissei\", tipo: \"Circuito\" },\n    { n: \"5\", iso: \"2026-05-23\", data: \"23 Mag\", day: \"Sab\", loc: \"Cavarzere (VE)\", soc: \"Asd Ciclisti Veneti\", tipo: \"Circuito\" },\n    { n: \"6\", iso: \"2026-06-13\", data: \"13 Giu\", day: \"Sab\", loc: \"Rovolon (PD)\", soc: \"Asd The Twins\", tipo: \"Circuito\" },\n    { n: \"7\", iso: \"2026-06-27\", data: \"27 Giu\", day: \"Sab\", loc: \"S. Pietro di Str\u00e0 (VE)\", soc: \"Asd S.C. Str\u00e0\", tipo: \"Circuito\" },\n    { n: \"8\", iso: \"2026-07-26\", data: \"26 Lug\", day: \"Dom\", loc: \"Limana-Valpiana (BL)\", soc: \"Asd U.C. Limana\", tipo: \"Salita\" },\n    { n: \"9\", iso: \"2026-09-12\", data: \"12 Set\", day: \"Sab\", loc: \"Blessaglia di Pramaggiore (VE)\", soc: \"Asd Ciclisti Veneti\", tipo: \"Circuito\" },\n    { n: \"10\", iso: \"2026-09-26\", data: \"26 Set\", day: \"Sab\", loc: \"S. Nicol\u00f2 di Piave (TV)\", soc: \"Asd 3B Salgareda\", tipo: \"FINALE\" }\n];\n\nfunction render(serie) {\n    const body = document.getElementById('calendar-body');\n    const dataset = (serie === 1) ? dataS1 : dataS2;\n    const links = (serie === 1) ? linksS1 : linksS2;\n    const today = new Date().toISOString().split('T')[0];\n    body.innerHTML = '';\n\n    dataset.forEach(g => {\n        const doc = links[g.n] || { loc: \"\", class: \"\" };\n        const isPast = g.iso < today;\n        const status = isPast ? '\u2705' : '\ud83d\udd52';\n        const mapUrl = g.loc !== \"Luogo da definire\" ? `https:\/\/www.google.com\/maps\/search\/?api=1&#038;query=${encodeURIComponent(g.loc)}` : \"#\";\n\n        const tr = document.createElement('tr');\n        tr.innerHTML = `\n            <td>${g.n}<\/td>\n            <td><span class=\"date-main\">${status} ${g.data}<\/span><span class=\"date-sub\">${g.day}<\/span><\/td>\n            <td><a href=\"${mapUrl}\" target=\"_blank\" class=\"city-link\">\ud83d\udccd ${g.loc}<\/a><\/td>\n            <td><span class=\"label-tipo ${g.tipo === 'FINALE' ? 'finale' : ''}\">${g.tipo}<\/span><\/td>\n            <td>${g.soc}<\/td>\n            <td>\n                <div class=\"tpv-docs\">\n                    <span class=\"btn-doc ${doc.loc ? 'active' : ''}\" ${doc.loc ? `onclick=\"window.open('${doc.loc}','_blank')\"` : ''}>LOCANDINA<\/span>\n                    <span class=\"btn-doc classifica ${doc.class ? 'active' : ''}\" ${doc.class ? `onclick=\"window.open('${doc.class}','_blank')\"` : ''}>CLASSIFICA<\/span>\n                <\/div>\n            <\/td>`;\n        body.appendChild(tr);\n    });\n}\n\nfunction switchSerie(s) {\n    document.getElementById('tab1').className = (s === 1) ? \"tpv-tab active s1\" : \"tpv-tab\";\n    document.getElementById('tab2').className = (s === 2) ? \"tpv-tab active s2\" : \"tpv-tab\";\n    render(s);\n}\n\nrender(1);\n<\/script>\n\n\n\n<iframe loading=\"lazy\" src=\"https:\/\/www.google.com\/maps\/d\/u\/0\/embed?mid=18I7bB1TW1NtZgC3TlfXIueDdpPvm50M&#038;ehbc=2E312F&#038;noprof=1\" width=\"640\" height=\"480\"><\/iframe>\n\n\n\n<div class=\"container-torneo-2026\">\n    <style type=\"text\/css\">\n        .container-torneo-2026 { width: 100%; max-width: 1150px; margin: 0 auto; font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; color: #333; line-height: 1.6; padding: 0 5px; }\n       \/* Titolo Guida - Forza le dimensioni ignorando HTML 1 *\/\n\/* Titolo Guida - Versione Ottimizzata *\/\n.titolo-guida-principale {\n    display: block !important;\n    color: #004d99 !important;\n    font-size: 28px !important; \/* Dimensione bilanciata *\/\n    font-weight: 900 !important;\n    text-transform: uppercase !important;\n    margin: 25px 0 15px 0 !important;\n    padding-bottom: 10px !important;\n    border-bottom: 4px solid #0066cc !important; \/* Linea Blu *\/\n    line-height: 1.2 !important;\n    text-align: left !important; \/* Forza allineamento a sinistra *\/\n}\n\n@media (max-width: 600px) {\n    .titolo-guida-principale {\n        font-size: 20px !important; \/* Pi\u00f9 piccolo su smartphone *\/\n        text-align: left !important; \/* Resta a sinistra su mobile *\/\n        border-bottom-width: 3px !important;\n    }\n}\n        \n        \/* Process Steps *\/\n        .process-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-bottom: 25px; }\n        .process-step { background: #f8f9fa; padding: 12px; border-radius: 8px; border-left: 4px solid #0066cc; font-size: 13px; }\n        .process-step strong { display: block; color: #0066cc; text-transform: uppercase; margin-bottom: 3px; font-size: 14px; }\n\n        \/* Box Contenitori *\/\n        .step-box { background: #ffffff; border: 1px solid #e1e1e1; border-radius: 10px; padding: 20px; margin-bottom: 20px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); position: relative; }\n        .step-number { background: #0066cc; color: #fff; width: 30px; height: 30px; display: inline-block; border-radius: 50%; text-align: center; line-height: 30px; font-weight: bold; margin-right: 10px; }\n        \n        \/* Form Elements *\/\n        .form-group { margin-bottom: 18px; }\n        .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }\n        label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 6px; color: #004d99; text-transform: uppercase; }\n        \n        input, select { \n            width: 100%; \n            height: 50px; \n            padding: 0 12px; \n            border: 1px solid #ccc; \n            border-radius: 6px; \n            font-size: 15px; \n            box-sizing: border-box; \n            background: #fafafa; \n        }\n        input:focus, select:focus { border-color: #0066cc; outline: none; background-color: #fff; box-shadow: 0 0 0 3px rgba(0,102,204,0.1); }\n        \n        .btn-submit { background: #0066cc; color: #fff; border: none; padding: 18px; border-radius: 6px; font-weight: 800; cursor: pointer; width: 100%; text-transform: uppercase; font-size: 16px; transition: 0.3s; margin-top: 10px; }\n        .btn-submit:disabled { background: #ccc; cursor: not-allowed; }\n        \n        .info-tag { font-weight: 700; color: #0066cc; background: #e6f0ff; padding: 4px 10px; border-radius: 4px; display: inline-block; margin: 5px 0; font-size: 14px; }\n        .help-trigger { background: #0066cc; color: white; width: 22px; height: 22px; display: inline-block; border-radius: 50%; text-align: center; line-height: 22px; font-size: 14px; cursor: pointer; font-weight: bold; vertical-align: middle; margin-left: 5px; }\n        .deadline-box { background: #fff4f4; border: 1px dashed #d32f2f; color: #d32f2f; padding: 12px; border-radius: 6px; margin-top: 15px; font-size: 13px; }\n\n        .privacy-row { display: flex; align-items: flex-start; gap: 15px; margin-top: 20px; background: #f9f9f9; padding: 15px; border-radius: 8px; border: 1px solid #eee; }\n        .privacy-checkbox { min-width: 25px; min-height: 25px; width: 25px; height: 25px; cursor: pointer; margin: 0; flex-shrink: 0; }\n        .privacy-text { font-size: 13px; line-height: 1.5; color: #444; margin: 0; }\n\n        @media (max-width: 768px) { .form-row { grid-template-columns: 1fr; gap: 0; } }\n\n        \/* Modal Styles *\/\n        .tpv-modal { display: none; position: fixed; z-index: 10000; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); backdrop-filter: blur(3px); }\n        .tpv-modal-content { background: #fff; margin: 20% auto; padding: 25px; border-radius: 10px; width: 90%; max-width: 450px; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }\n        .close-modal { position: absolute; top: 10px; right: 15px; font-size: 24px; cursor: pointer; color: #999; }\n        .modal-h { color: #0066cc; margin-top: 0; border-bottom: 2px solid #f0f0f0; padding-bottom: 10px; margin-bottom: 15px; font-weight: 700; text-transform: uppercase; font-size: 16px; }\n    <\/style>\n\n<h2 id=\"iscrizioni\" class=\"titolo-guida-principale\">\ud83d\udcdd Guida Iscrizione 2026<\/h2>\n\n    <div class=\"process-steps\">\n        <div class=\"process-step\"><strong>1. COMPILAZIONE<\/strong>Nominativo iscrizione e modulo fatturazione<\/div>\n        <div class=\"process-step\"><strong>2. RICEZIONE<\/strong>Controlla la posta email nei giorni seguenti<\/div>\n        <div class=\"process-step\"><strong>3. BONIFICO<\/strong>Apri la fattura nella mail e procedi con il pagamento<\/div>\n        <div class=\"process-step\"><strong>4. ATTIVAZIONE<\/strong>Controlla lo stato di iscrizione in questa pagina<\/div>\n        <div class=\"process-step\"><strong>5. LISTA ATLETI<\/strong>Per i team inviare la lista atleti<\/div>\n    <\/div>\n\n    <div class=\"step-box\" style=\"border-left: 6px solid #0066cc;\">\n        <p style=\"margin-top:0;\">L\u2019iscrizione \u00e8 valida dal momento dell\u2019accredito del bonifico vista fattura. Per controllare lo stato del pagamento e iscrizione, vedere la tabella iscritti aggiornata in questa pagina.<\/p>\n        <div>\n            <span class=\"info-tag\">Quota TEAM: \u20ac 150,00<\/span> <span class=\"help-trigger\" onclick=\"openTpvM('mTeam')\">?<\/span>\n            <span style=\"margin:0 10px; color:#ccc;\">|<\/span>\n            <span class=\"info-tag\">Quota INDIVIDUALE: \u20ac 50,00<\/span> <span class=\"help-trigger\" onclick=\"openTpvM('mInd')\">?<\/span>\n        <\/div>\n        <div class=\"deadline-box\">\n            \ud83d\udea9 <strong>SCADENZA TEAM: 1 MARZO 2026<\/strong>. Gli individuali possono iscriversi tutto l&#8217;anno.\n        <\/div>\n    <\/div>\n\n    <div class=\"step-box\" id=\"form-container\">\n        <form id=\"torneoForm\" action=\"https:\/\/script.google.com\/macros\/s\/AKfycbxtyzCcUFxPe2BX7WCvW9HHQNqIOjXazoNRYyjjhC0s_io0DO1meAOtAZ48wO8TGOgtLQ\/exec\" method=\"POST\">\n            \n            <h3><span class=\"step-number\">1<\/span> RICHIESTA DATI ISCRIZIONE<\/h3>\n            \n            <div class=\"form-group\">\n                <label>Tipo di Iscrizione<\/label>\n                <select name=\"tipo\" id=\"tipo_iscrizione\" onchange=\"toggleFormFields()\" required>\n                    <option value=\"\" disabled selected>Seleziona tipo iscrizione&#8230;<\/option>\n                    <option value=\"TEAM\">TEAM (Intera Societ\u00e0 ASD)<\/option>\n                    <option value=\"INDIVIDUALE\">INDIVIDUALE (Singolo Atleta)<\/option>\n                <\/select>\n            <\/div>\n\n            <div id=\"fields_team\" style=\"display:none;\">\n                <div class=\"form-group\">\n                    <label>NOME ASD SOCIET\u00c0 DA ISCRIVERE<\/label>\n                    <input type=\"text\" name=\"societa_nome\" placeholder=\"Esempio: ASD CICLI BIANCHI\" style=\"text-transform: uppercase;\">\n                <\/div>\n            <\/div>\n\n            <div id=\"fields_individuale\" style=\"display:none;\">\n                <div class=\"form-row\">\n                    <div class=\"form-group\">\n                        <label>NOME ATLETA<\/label>\n                        <input type=\"text\" name=\"atleta_nome\" placeholder=\"MARIO\" style=\"text-transform: uppercase;\">\n                    <\/div>\n                    <div class=\"form-group\">\n                        <label>COGNOME ATLETA<\/label>\n                        <input type=\"text\" name=\"atleta_cognome\" placeholder=\"ROSSI\" style=\"text-transform: uppercase;\">\n                    <\/div>\n                <\/div>\n                <div class=\"form-group\">\n                    <label>NOME TEAM \/ SOCIET\u00c0 ATLETA<\/label>\n                    <input type=\"text\" name=\"atleta_team\" placeholder=\"Esempio: ASD CICLI BIANCHI\" style=\"text-transform: uppercase;\">\n                <\/div>\n            <\/div>\n\n            <hr style=\"border: 0; border-top: 1px solid #eee; margin: 30px 0;\">\n            \n            <h3><span class=\"step-number\">2<\/span> RICHIESTA DATI FATTURAZIONE<\/h3>\n            \n            <label style=\"color: #0066cc; margin-bottom: 2px;\">DATI INTESTATARIO FATTURA (CIO\u00c8 CHI EFFETTUER\u00c0 IL PAGAMENTO DELLA FATTURA)<\/label>\n            <p style=\"font-size: 11px; color: #666; margin-bottom: 15px;\">I dati possono coincidere con l&#8217;atleta\/team o essere differenti.<\/p>\n\n            <div class=\"form-group\">\n                <label>Denominazione ASD o Cognome e Nome<\/label>\n                <input type=\"text\" name=\"denominazione\" placeholder=\"Esempio: ASD CICLOCOLOR oppure ROSSI MARIO\" required style=\"text-transform: uppercase;\">\n            <\/div>\n\n            <div class=\"form-row\">\n                <div class=\"form-group\">\n                    <label>P.IVA o Codice Fiscale<\/label>\n                    <input type=\"text\" name=\"codice_fiscale\" pattern=\".{11}|.{16}\" title=\"P.IVA (11 cifre) o CF (16 caratteri)\" placeholder=\"Esempio: 01234567890 o RSSMRA80A01L219Z\" required style=\"text-transform: uppercase;\">\n                <\/div>\n                <div class=\"form-group\">\n                    <label>EMAIL PER FATTURA E COMUNICAZIONI<\/label>\n                    <input type=\"email\" name=\"email\" placeholder=\"Esempio: info@atleta-o-team.it\" required>\n                <\/div>\n            <\/div>\n\n            <div class=\"form-row\">\n                <div class=\"form-group\">\n                    <label>Indirizzo Legale<\/label>\n                    <input type=\"text\" name=\"indirizzo\" placeholder=\"Esempio: VIA ROMA 15\" required style=\"text-transform: uppercase;\">\n                <\/div>\n                <div class=\"form-group\">\n                    <label>CAP e Localit\u00e0<\/label>\n                    <input type=\"text\" name=\"localita\" placeholder=\"Esempio: 31100 TREVISO (TV)\" required style=\"text-transform: uppercase;\">\n                <\/div>\n            <\/div>\n\n            <div class=\"form-row\">\n                <div class=\"form-group\">\n                    <label>Codice SDI o PEC (Obbligatorio)<\/label>\n                    <input type=\"text\" name=\"sdi_pec\" id=\"input_sdi\" placeholder=\"Esempio: KRRH6B9 o PEC@MESSAGGIO.IT\" required style=\"text-transform: uppercase;\">\n                    <p style=\"font-size: 10px; color: #666; margin-top: 5px;\">*Se sei un privato senza SDI\/PEC, inserisci: <strong>0000000<\/strong><\/p>\n                <\/div>\n                <div class=\"form-group\">\n                    <label>Cellulare (WhatsApp)<\/label>\n                    <input type=\"tel\" name=\"telefono\" placeholder=\"Esempio: 340 1234567\" required>\n                <\/div>\n            <\/div>\n\n            <div class=\"privacy-row\">\n                <input type=\"checkbox\" name=\"privacy\" class=\"privacy-checkbox\" required>\n                <p class=\"privacy-text\">Inviando il modulo si autorizza Team Ciclocolor A.S.D. e l\u2019organizzazione del Torneo delle Province a gestire i propri dati personali o societari inseriti ai fini dell\u2019iscrizione. Si autorizza inoltre ad essere contattati dall\u2019organizzazione via WhatsApp e via Email per comunicazioni inerenti al torneo.<\/p>\n            <\/div>\n\n            <button type=\"submit\" class=\"btn-submit\" id=\"submitBtn\">INVIA E RICHIEDI FATTURA<\/button>\n        <\/form>\n    <\/div>\n\n    <div id=\"mTeam\" class=\"tpv-modal\"><div class=\"tpv-modal-content\"><span class=\"close-modal\" onclick=\"closeTpvM('mTeam')\">&times;<\/span><h3 class=\"modal-h\">Quota Team<\/h3><p>\u20ac150 per tutti gli atleti della societ\u00e0.<\/p><\/div><\/div>\n    <div id=\"mInd\" class=\"tpv-modal\"><div class=\"tpv-modal-content\"><span class=\"close-modal\" onclick=\"closeTpvM('mInd')\">&times;<\/span><h3 class=\"modal-h\">Quota Individuale<\/h3><p>\u20ac50 annui per singolo atleta.<\/p><\/div><\/div>\n    <div id=\"mSdi\" class=\"tpv-modal\"><div class=\"tpv-modal-content\"><span class=\"close-modal\" onclick=\"closeTpvM('mSdi')\">&times;<\/span><h3 class=\"modal-h\">Codice SDI \/ PEC<\/h3><p>Inserisci il codice SDI o la PEC. Se non li hai, inserisci: <strong>0000000<\/strong><\/p><\/div><\/div>\n\n    <div class=\"step-box\" id=\"success-msg\" style=\"display:none; text-align:center;\">\n        <div style=\"color:#28a745; font-size:50px; margin-bottom:20px;\">\u2714<\/div>\n        <h3>Richiesta Inviata Correttamente!<\/h3>\n        <p>Controlla la tua mail per la conferma. Riceverai la fattura nei prossimi giorni.<\/p>\n    <\/div>\n\n    <script>\n        function openTpvM(id) { document.getElementById(id).style.display = \"block\"; }\n        function closeTpvM(id) { document.getElementById(id).style.display = \"none\"; }\n        window.onclick = function(e) { if (e.target.className === 'tpv-modal') { e.target.style.display = \"none\"; } }\n        \n        function toggleFormFields() {\n            const tipo = document.getElementById('tipo_iscrizione').value;\n            document.getElementById('fields_team').style.display = (tipo === 'TEAM') ? 'block' : 'none';\n            document.getElementById('fields_individuale').style.display = (tipo === 'INDIVIDUALE') ? 'block' : 'none';\n        }\n\n        document.getElementById('torneoForm').addEventListener('submit', function(e) {\n            e.preventDefault();\n            const btn = document.getElementById('submitBtn');\n            btn.disabled = true;\n            btn.innerText = 'INVIO IN CORSO...';\n            fetch(this.action, { method: 'POST', body: new FormData(this) })\n            .then(() => {\n                document.getElementById('form-container').style.display = 'none';\n                document.getElementById('success-msg').style.display = 'block';\n                window.scrollTo({ top: document.getElementById('success-msg').offsetTop - 100, behavior: 'smooth' });\n            })\n            .catch(() => {\n                alert(\"Si \u00e8 verificato un errore. Riprova o contatta l'assistenza.\");\n                btn.disabled = false;\n                btn.innerText = 'INVIA E RICHIEDI FATTURA';\n            });\n        });\n    <\/script>\n<\/div>\n\n\n\n<div id=\"atleti-societa-iscritti\" style=\"scroll-margin-top: 100px;\"><\/div>\n<div class=\"container-torneo-2026\">\n    <style type=\"text\/css\">\n        .container-torneo-2026 { width: 100%; max-width: 1200px; margin: 10px auto; font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\n        .iscritti-section { margin-bottom: 25px; padding: 0 10px; }\n        \n        .iscritti-header { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 2px solid #0066cc; padding-bottom: 8px; margin-bottom: 12px; }\n        .iscritti-title-box { display: flex; align-items: center; gap: 8px; }\n        .iscritti-title { color: #0066cc; font-size: 18px; font-weight: 800; text-transform: uppercase; margin: 0; }\n        .count-badge { background: #0066cc; color: #fff; font-size: 11px; padding: 2px 8px; border-radius: 20px; font-weight: bold; }\n        \n        .search-container { width: 200px; }\n        .search-input { width: 100%; padding: 6px 10px; border-radius: 6px; border: 1px solid #cbd5e1; outline: none; font-size: 13px; }\n\n        .iscritti-table-wrapper { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; }\n        .iscritti-table { width: 100%; border-collapse: collapse; }\n        .iscritti-table th { background: #f8fafc; color: #64748b; font-size: 10px; text-transform: uppercase; padding: 10px 12px; text-align: left; border-bottom: 2px solid #edf2f7; }\n        .iscritti-table td { padding: 10px 12px; border-bottom: 1px solid #edf2f7; font-size: 14px; vertical-align: middle; }\n        \n        .col-num { width: 40px; text-align: center !important; color: #94a3b8; font-size: 11px; }\n        .td-team { color: #475569; font-weight: 600; font-size: 13px; }\n        .mobile-team-label { display: none; }\n\n        .status-confirmed { color: #0f172a; font-weight: 700; }\n        .icon-check { color: #0066cc; margin-right: 4px; font-size: 12px; }\n\n        \/* OTTIMIZZAZIONE SMARTPHONE *\/\n        @media (max-width: 600px) {\n            .iscritti-header { flex-direction: row; align-items: center; justify-content: space-between; gap: 5px; }\n            .iscritti-title { font-size: 13px; letter-spacing: -0.5px; }\n            \n            \/* Cerca ultra-compatto *\/\n            .search-container { width: 130px; }\n            .search-input { padding: 4px 8px; font-size: 11px; height: 28px; }\n\n            \/* Righe super compatte per ridurre lo scroll *\/\n            .iscritti-table td { padding: 6px 8px; font-size: 12px; }\n            .iscritti-table th { padding: 6px 8px; font-size: 9px; }\n\n            .col-header-team, .td-team { display: none !important; }\n            .mobile-team-label { display: block; font-size: 9px; color: #64748b; font-weight: 400; margin-top: 1px; }\n            .col-num { width: 25px; padding: 6px 2px !important; }\n            \n            .row-separator td { padding: 5px 10px !important; font-size: 9px !important; }\n        }\n    <\/style>\n\n    <section class=\"iscritti-section\">\n        <div class=\"iscritti-header\">\n            <div class=\"iscritti-title-box\">\n                <h2 class=\"iscritti-title\">\ud83d\udc64 INDIVIDUALI ISCRITTI<\/h2>\n                <span id=\"count-atl\" class=\"count-badge\">0<\/span>\n            <\/div>\n            <div class=\"search-container\">\n                <input type=\"text\" class=\"search-input\" placeholder=\"Cerca...\" onkeyup=\"filterTable('body-atl', 'no-results-atl', this.value)\">\n            <\/div>\n        <\/div>\n        <div class=\"iscritti-table-wrapper\">\n            <table class=\"iscritti-table\">\n                <thead>\n                    <tr><th class=\"col-num\">#<\/th><th>ATLETA<\/th><th class=\"col-header-team\">TEAM<\/th><\/tr>\n                <\/thead>\n                <tbody id=\"body-atl\">\n                    <tr class=\"skeleton-row\"><td colspan=\"3\"><div class=\"skeleton-bar\" style=\"margin:8px; height:10px;\"><\/div><\/td><\/tr>\n                <\/tbody>\n            <\/table>\n            <div id=\"no-results-atl\" style=\"display:none; padding:15px; text-align:center; font-size:12px; color:#64748b;\">Nessun risultato<\/div>\n        <\/div>\n    <\/section>\n\n    <section class=\"iscritti-section\">\n        <div class=\"iscritti-header\">\n            <div class=\"iscritti-title-box\">\n                <h2 class=\"iscritti-title\">\ud83c\udfc6 SOCIET\u00c0 ISCRITTE<\/h2>\n                <span id=\"count-soc\" class=\"count-badge\">0<\/span>\n            <\/div>\n            <div class=\"search-container\">\n                <input type=\"text\" class=\"search-input\" placeholder=\"Cerca...\" onkeyup=\"filterTable('body-soc', 'no-results-soc', this.value)\">\n            <\/div>\n        <\/div>\n        <div class=\"iscritti-table-wrapper\">\n            <table class=\"iscritti-table\">\n                <thead>\n                    <tr><th class=\"col-num\">#<\/th><th>NOME TEAM<\/th><\/tr>\n                <\/thead>\n                <tbody id=\"body-soc\">\n                    <tr class=\"skeleton-row\"><td colspan=\"2\"><div class=\"skeleton-bar\" style=\"margin:8px; height:10px;\"><\/div><\/td><\/tr>\n                <\/tbody>\n            <\/table>\n            <div id=\"no-results-soc\" style=\"display:none; padding:15px; text-align:center; font-size:12px; color:#64748b;\">Nessun risultato<\/div>\n        <\/div>\n    <\/section>\n\n    <script type=\"text\/javascript\">\n    window.filterTable = function(tbodyId, errorId, query) {\n        const filter = query.toUpperCase();\n        const rows = document.getElementById(tbodyId).getElementsByTagName(\"tr\");\n        let matchFound = false;\n        for (let i = 0; i < rows.length; i++) {\n            if (rows[i].classList.contains('row-separator') || rows[i].classList.contains('skeleton-row')) continue;\n            const text = rows[i].innerText || rows[i].textContent;\n            rows[i].style.display = (text.toUpperCase().indexOf(filter) > -1) ? \"\" : \"none\";\n            if(rows[i].style.display === \"\") matchFound = true;\n        }\n        document.getElementById(errorId).style.display = (query !== \"\" && !matchFound) ? \"block\" : \"none\";\n    };\n\n    (function() {\n        const sheetID = '1X5QsF73L_jPMF0CD9XdmaF12bchS-7fhbqh0bsalolE';\n        const base = \"https:\/\/docs.google.com\/spreadsheets\/d\/\" + sheetID + \"\/gviz\/tq?tqx=out:csv\";\n\n        async function loadSheet(gid, bodyId, countId, colAcc, colFat, isAtl) {\n            try {\n                const r = await fetch(base + \"&gid=\" + gid + \"&t=\" + new Date().getTime());\n                const csv = await r.text();\n                const rows = csv.split('\\n').map(line => line.split(\/,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)\/).map(v => v.replace(\/^\"|\"$\/g, '').trim())).slice(1);\n                const confirmed = rows.filter(row => row[colAcc]);\n                const pending = rows.filter(row => !row[colAcc] && row[colFat] && row[colFat].toUpperCase().includes(\"INVIATA\"));\n                document.getElementById(countId).innerText = confirmed.length + pending.length;\n                let html = \"\";\n                confirmed.forEach((row, i) => {\n                    const name = isAtl ? `${row[1]} ${row[2]}`.toUpperCase() : row[1].toUpperCase();\n                    const team = isAtl ? (row[3] || '-') : \"\";\n                    html += `<tr class=\"status-confirmed\"><td class=\"col-num\">${i+1}<\/td><td><span class=\"icon-check\">\u2713<\/span>${name}${isAtl ? `<div class=\"mobile-team-label\">${team}<\/div>` : ''}<\/td>${isAtl ? `<td class=\"td-team\">${team}<\/td>` : ''}<\/tr>`;\n                });\n                if(pending.length > 0) {\n                    html += `<tr class=\"row-separator\"><td colspan=\"3\">IN ATTIVAZIONE<\/td><\/tr>`;\n                    pending.forEach((row, i) => {\n                        const name = isAtl ? `${row[1]} ${row[2]}`.toUpperCase() : row[1].toUpperCase();\n                        const team = isAtl ? (row[3] || '-') : \"\";\n                        html += `<tr class=\"status-pending\"><td class=\"col-num\">${confirmed.length + i + 1}<\/td><td><span class=\"icon-time\">\u23f3<\/span>${name}${isAtl ? `<div class=\"mobile-team-label\">${team}<\/div>` : ''}<\/td>${isAtl ? `<td class=\"td-team\">${team}<\/td>` : ''}<\/tr>`;\n                    });\n                }\n                document.getElementById(bodyId).innerHTML = html;\n            } catch(e) { console.error(e); }\n        }\n        loadSheet(\"0\", \"body-atl\", \"count-atl\", 7, 8, true);\n        loadSheet(\"281601374\", \"body-soc\", \"count-soc\", 5, 6, false);\n    })();\n    <\/script>\n<\/div>\n\n\n\n<style>\n    :root {\n        --tp-primary: #0066cc;\n        --tp-bg-light: #f5f7fa;\n        --tp-radius: 12px;\n    }\n\n    \/* Container principale a tutta larghezza *\/\n    .tp-main-container {\n        width: 100%;\n        max-width: 1200px;\n        margin: 0 auto;\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    }\n\n    \/* Titoli e linee a tutta larghezza *\/\n    .tp-header-full {\n        width: 100%;\n        margin-top: 30px;\n    }\n\n    .tp-title {\n        color: var(--tp-primary);\n        font-size: clamp(22px, 5vw, 30px);\n        font-weight: 800;\n        margin: 0;\n        padding: 15px 20px;\n    }\n\n    .tp-hr {\n        height: 4px;\n        background: var(--tp-primary);\n        width: 100%;\n        border: none;\n        margin: 0;\n    }\n\n    \/* Sezioni Contenuto *\/\n    .tp-content-section {\n        width: 100%;\n        margin-bottom: 20px;\n    }\n\n    \/* ==========================================\n       CAROSELLO SPONSOR (Tempo aumentato)\n       ========================================== *\/\n    .tp-carousel-outer {\n        background: var(--tp-bg-light);\n        padding: 20px 0;\n        overflow: hidden;\n        position: relative;\n    }\n\n    .tp-track {\n        display: flex;\n        transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);\n        will-change: transform;\n    }\n\n    .tp-slide {\n        flex: 0 0 25%; \/* Desktop: 4 loghi *\/\n        padding: 0 10px;\n        box-sizing: border-box;\n    }\n\n    .tp-link-box {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: white;\n        height: 160px;\n        border-radius: 8px;\n        padding: 15px;\n        box-shadow: 0 2px 8px rgba(0,0,0,0.05);\n        transition: transform 0.3s;\n    }\n\n    .tp-link-box img {\n        max-width: 100%;\n        max-height: 100px;\n        object-fit: contain;\n    }\n\n    .tp-nav-dots {\n        display: flex;\n        justify-content: center;\n        gap: 8px;\n        margin-top: 15px;\n    }\n\n    .tp-dot {\n        width: 10px;\n        height: 10px;\n        border-radius: 50%;\n        background: #ccc;\n        border: none;\n        cursor: pointer;\n        padding: 0;\n    }\n\n    .tp-dot.active { background: var(--tp-primary); }\n\n    \/* ==========================================\n       MAGLIE (Con etichette Maschile\/Femminile)\n       ========================================== *\/\n    .tp-maglie-container {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 20px;\n        padding: 20px;\n    }\n\n    .tp-card {\n        background: white;\n        border-radius: var(--tp-radius);\n        overflow: hidden;\n        border-top: 5px solid var(--tp-primary);\n        box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n    }\n\n    .tp-img-box {\n        position: relative;\n        padding-top: 110%;\n        background: #eee;\n    }\n\n    .tp-img-box img {\n        position: absolute;\n        top: 0; left: 0; width: 100%; height: 100%;\n        object-fit: cover;\n    }\n\n    .tp-info {\n        padding: 15px;\n        text-align: center;\n    }\n\n    .tp-info h3 {\n        font-size: 15px;\n        margin: 0 0 10px 0;\n        color: var(--tp-primary);\n        font-weight: 700;\n        line-height: 1.2;\n    }\n\n    .tp-badge-row {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 5px;\n        justify-content: center;\n    }\n\n    .tp-label {\n        font-size: 10px;\n        font-weight: 700;\n        padding: 4px 10px;\n        border-radius: 12px;\n        background: #f0f0f0;\n        text-transform: uppercase;\n        color: #555;\n    }\n\n    .tp-label.blue { background: #e3f2fd; color: #0d47a1; }\n    .tp-label.orange { background: #fff3e0; color: #e65100; }\n    .tp-label.green { background: #e8f5e9; color: #2e7d32; }\n    .tp-label.pink { background: #fce4ec; color: #c2185b; }\n\n    \/* ==========================================\n       RESPONSIVE SMARTPHONE (Full Width)\n       ========================================== *\/\n    @media (max-width: 768px) {\n        .tp-slide {\n            flex: 0 0 100%;\n            padding: 0 15px;\n        }\n        \n        .tp-carousel-outer { border-radius: 0; }\n\n        .tp-maglie-container {\n            display: flex;\n            overflow-x: auto;\n            scroll-snap-type: x mandatory;\n            padding: 20px 15px;\n            gap: 15px;\n            scrollbar-width: none;\n        }\n        \n        .tp-maglie-container::-webkit-scrollbar { display: none; }\n\n        .tp-card {\n            min-width: 88vw; \/* Quasi tutta la larghezza dello schermo *\/\n            scroll-snap-align: center;\n        }\n\n        .tp-title { padding: 15px; }\n    }\n<\/style>\n\n<div class=\"tp-main-container\">\n\n    <header class=\"tp-header-full\">\n        <h2 class=\"tp-title\">\ud83e\udd1d GLI SPONSORS<\/h2>\n        <hr class=\"tp-hr\">\n    <\/header>\n\n    <div class=\"tp-content-section\">\n        <div class=\"tp-carousel-outer\" id=\"tpSponsorCarousel\">\n            <div class=\"tp-track\">\n                <div class=\"tp-slide\">\n                    <a href=\"https:\/\/www.outwet.it\/\" target=\"_blank\" rel=\"noopener\" class=\"tp-link-box\">\n                        <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/107i4XeDLrIFESwEbiu-6tecNhoVJtkwD=w400\" alt=\"Outwet\">\n                    <\/a>\n                <\/div>\n                <div class=\"tp-slide\">\n                    <a href=\"https:\/\/www.sellesmp.com\/\" target=\"_blank\" rel=\"noopener\" class=\"tp-link-box\">\n                        <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/1jYD8O5gToRt9LhoWWqFFogYaxs6k0vAD=w400\" alt=\"Selle SMP\">\n                    <\/a>\n                <\/div>\n                <div class=\"tp-slide\">\n                    <a href=\"https:\/\/www.agriconf.net\/\" target=\"_blank\" rel=\"noopener\" class=\"tp-link-box\">\n                        <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/1CKd9MzK3AHmLdkaG3y9AtdvJgmkT5z-u=w400\" alt=\"Agriconf\">\n                    <\/a>\n                <\/div>\n                <div class=\"tp-slide\">\n                    <a href=\"https:\/\/www.bertoldoshop.it\/\" target=\"_blank\" rel=\"noopener\" class=\"tp-link-box\">\n                        <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/1MQfZhm_J2rM3npu6w7JOj4kbhrZJgiqe=w400\" alt=\"Bertoldo\">\n                    <\/a>\n                <\/div>\n<div class=\"tp-slide\">\n                    <a href=\"https:\/\/www.nordpetroli.it\/\" target=\"_blank\" rel=\"noopener\" class=\"tp-link-box\">\n                        <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/19jB2521IWQH2Rc4oPtRdwD9pKWEXt9Ak=w400\" alt=\"Bertoldo\">\n                    <\/a>\n                <\/div>\n                <div class=\"tp-slide\">\n                    <a href=\"https:\/\/shop.colorificiosanteufemia.com\/\" target=\"_blank\" rel=\"noopener\" class=\"tp-link-box\">\n                        <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/1mk_vVAab7Cc_1YLNp-3QSUsYaaxz9Kpr=w400\" alt=\"Colorificio\">\n                    <\/a>\n                <\/div>\n                <div class=\"tp-slide\">\n                    <a href=\"https:\/\/www.ciclocolor.com\/\" target=\"_blank\" rel=\"noopener\" class=\"tp-link-box\">\n                        <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/1l3rBIkKX-MmAJoaPjAUnVrEM77yaZ9Uk=w400\" alt=\"Ciclocolor\">\n                    <\/a>\n                <\/div>\n            <\/div>\n            <div class=\"tp-nav-dots\"><\/div>\n        <\/div>\n    <\/div>\n\n    <header class=\"tp-header-full\">\n        <h2 class=\"tp-title\">\ud83d\udc55 LE MAGLIE UFFICIALI<\/h2>\n        <hr class=\"tp-hr\">\n    <\/header>\n\n    <div class=\"tp-content-section\">\n        <div class=\"tp-maglie-container\">\n            <article class=\"tp-card\">\n                <div class=\"tp-img-box\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/1J9xpCTaF8auJgZyUiEzpIGnZfyvtLS_y=w600\" alt=\"Maglia 1\u00aa Serie\"><\/div>\n                <div class=\"tp-info\">\n                    <h3>LEADER 1\u00aa SERIE<\/h3>\n                    <div class=\"tp-badge-row\">\n                        <span class=\"tp-label orange\">1\u00aa Serie<\/span>\n                        <span class=\"tp-label blue\">Maschile<\/span>\n                    <\/div>\n                <\/div>\n            <\/article>\n            <article class=\"tp-card\">\n                <div class=\"tp-img-box\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/1AmXgmGOuRQGF4FNW8J4oENx2-E0RTwKs=w600\" alt=\"Maglia 2\u00aa Serie\"><\/div>\n                <div class=\"tp-info\">\n                    <h3>LEADER 2\u00aa SERIE<\/h3>\n                    <div class=\"tp-badge-row\">\n                        <span class=\"tp-label green\">2\u00aa Serie<\/span>\n                        <span class=\"tp-label blue\">Maschile<\/span>\n                    <\/div>\n                <\/div>\n            <\/article>\n            <article class=\"tp-card\">\n                <div class=\"tp-img-box\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/d\/19I0ZSFs5KcBJ1GZ2TGTvrKpr6kdJ3AYr=w600\" alt=\"Maglia Femminile\"><\/div>\n                <div class=\"tp-info\">\n                    <h3>LEADER FEMMINILE<\/h3>\n                    <div class=\"tp-badge-row\">\n                        <span class=\"tp-label pink\">Femminile<\/span>\n                    <\/div>\n                <\/div>\n            <\/article>\n        <\/div>\n    <\/div>\n\n<\/div>\n\n<script>\n    class TPSlider {\n        constructor(id) {\n            this.container = document.getElementById(id);\n            this.track = this.container.querySelector('.tp-track');\n            this.dots = this.container.querySelector('.tp-nav-dots');\n            this.idx = 0;\n            this.init();\n        }\n        getVisible() { return window.innerWidth <= 768 ? 1 : 4; }\n        init() {\n            this.render();\n            window.addEventListener('resize', () => this.render());\n            \/\/ AUMENTATO TEMPO A 7 SECONDI (7000ms)\n            setInterval(() => this.auto(), 7000);\n        }\n        render() {\n            this.dots.innerHTML = '';\n            const count = this.track.children.length - this.getVisible() + 1;\n            for(let i=0; i<count; i++) {\n                const d = document.createElement('button');\n                d.className = 'tp-dot' + (i===this.idx ? ' active' : '');\n                d.onclick = () => { this.idx = i; this.update(); };\n                this.dots.appendChild(d);\n            }\n            this.update();\n        }\n        auto() {\n            const max = this.track.children.length - this.getVisible();\n            this.idx = this.idx >= max ? 0 : this.idx + 1;\n            this.update();\n        }\n        update() {\n            const step = 100 \/ this.getVisible();\n            this.track.style.transform = `translateX(-${this.idx * step}%)`;\n            const d = this.dots.querySelectorAll('.tp-dot');\n            d.forEach((dot, i) => dot.classList.toggle('active', i === this.idx));\n        }\n    }\n    document.addEventListener('DOMContentLoaded', () => new TPSlider('tpSponsorCarousel'));\n<\/script>\n\n\n\n<section id=\"info\" class=\"tpv-info-section\">\n    <style>\n        .tpv-info-section {\n            max-width: 1150px;\n            margin: 60px auto 20px auto;\n            font-family: 'Inter', -apple-system, sans-serif;\n        }\n\n        \/* HEADER STILE CALENDARIO *\/\n        .tpv-header-style { \n            margin-bottom: 25px; \n            padding-bottom: 8px;\n            border-bottom: 3px solid #004a99; \/* --blue-title *\/\n        }\n        \n        .tpv-header-style h2 { \n            font-size: 24px; \n            font-weight: 800; \n            color: #004a99; \n            margin: 0; \n            display: flex; \n            align-items: center; \n            gap: 10px; \n            text-transform: uppercase;\n        }\n\n        \/* GRIGLIA CONTENUTI *\/\n        .tpv-footer-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n            gap: 30px;\n        }\n\n        .tpv-f-col h4 {\n            color: #004a99;\n            font-size: 13px;\n            text-transform: uppercase;\n            letter-spacing: 1.2px;\n            margin-bottom: 15px;\n            font-weight: 800;\n        }\n\n        \/* Pulsanti e Link Ottimizzati per Mobile *\/\n        .tpv-mail-box, .tpv-social-link, .tpv-btn-cta {\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            border-radius: 12px;\n            text-decoration: none;\n            font-weight: 700;\n            transition: all 0.2s ease;\n        }\n\n        .tpv-mail-box {\n            background: #f7fafc;\n            padding: 16px;\n            border: 1px solid #e2e8f0;\n            color: #2d3748;\n            margin-bottom: 15px;\n        }\n\n        .tpv-social-link {\n            gap: 12px;\n            padding: 12px;\n            background: #f0f7ff;\n            color: #1877F2;\n        }\n\n        .tpv-btn-cta {\n            background: #004a99;\n            color: #ffffff !important;\n            padding: 18px;\n            text-transform: uppercase;\n            font-size: 14px;\n            box-shadow: 0 4px 6px rgba(0,74,153,0.15);\n        }\n\n        .tpv-copyright {\n            margin-top: 40px;\n            padding: 20px 10px;\n            border-top: 1px solid #edf2f7;\n            text-align: center;\n            font-size: 11px;\n            color: #718096;\n            line-height: 1.5;\n        }\n\n        @media (max-width: 768px) {\n            .tpv-header-style h2 { font-size: 20px; }\n            .tpv-f-col { text-align: center; }\n            .tpv-mail-box:active, .tpv-btn-cta:active { transform: scale(0.96); }\n        }\n    <\/style>\n\n    <header class=\"tpv-header-style\">\n        <h2><span>\u2139\ufe0f<\/span> Info e Regolamento<\/h2>\n    <\/header>\n\n    <div class=\"tpv-footer-grid\">\n        <div class=\"tpv-f-col\">\n            <h4>\ud83d\udccd Dove siamo<\/h4>\n            <div style=\"font-size: 15px; color: #444;\">\n                <strong>Comitato ACSI Padova<\/strong><br>\n                Via Montegrotto 148, Torreglia (PD)<br>\n                 <a \n                href=\"https:\/\/www.google.com\/maps\/search\/?api=1&#038;query=Via+Montegrotto+148+Torreglia+PD\"\n                target=\"_blank\"\n                rel=\"noopener noreferrer\"\n                style=\"color: #ff8800; text-decoration: none; font-weight: 600; font-size: 13px;\"\n            >Apri Navigatore \u2192<\/a>\n            <\/div>\n        <\/div>\n\n        <div class=\"tpv-f-col\">\n            <h4>\u2709\ufe0f Contatti &#038; Social<\/h4>\n            <a href=\"mailto:robivec@libero.it?cc=torneo.province.tpv@gmail.com&#038;subject=Chiedo%20informazioni%20relative%20al%20Torneo%20Province\" class=\"tpv-mail-box\">\n                Scrivici una Email\n            <\/a>\n            <a href=\"https:\/\/www.facebook.com\/profile.php?id=100064360255093\" target=\"_blank\" class=\"tpv-social-link\">\n                <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"\/><\/svg>\n                Facebook Ufficiale\n            <\/a>\n        <\/div>\n\n        <div class=\"tpv-f-col\">\n            <h4>\ud83d\udcc4 Regolamento<\/h4>\n            <a href=\"https:\/\/drive.google.com\/file\/d\/173hzde-2ZCjYuz3R481ni-eqzGxJEdWa\/view\" target=\"_blank\" class=\"tpv-btn-cta\">\n                Vedi Regolamento 2026\n            <\/a>\n        <\/div>\n    <\/div>\n\n    <div class=\"tpv-copyright\">\n        \u00a9 2026 Torneo Province Venete<br>\n        <em>Tutte le gare sono soggette a regolamento Nazionale ACSI Settore Ciclismo e a regolamento Torneo Province Venete.<\/em>\n    <\/div>\n<\/section>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Torneo delle Province 2026 Scopo News Calendario Iscrizione Iscritti Sponsor Maglie Info e Regolamento \ud83d\udccc SCOPO DEL TORNEO \ud83d\udcd6 Cos&#8217;\u00e8 il Torneo \u25bc Il Torneo Ciclistico delle Province Venete 2026 \u00e8 un campionato ciclistico interregionale affiliato all&#8217;ACSI Settore Ciclismo del Veneto. Si tratta di una competizione strutturata che unisce il territorio veneto attraverso le sue &hellip;<\/p>\n","protected":false},"author":1,"featured_media":140548,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-167971","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/ciclocolor.com\/wp-json\/wp\/v2\/pages\/167971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ciclocolor.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ciclocolor.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ciclocolor.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ciclocolor.com\/wp-json\/wp\/v2\/comments?post=167971"}],"version-history":[{"count":150,"href":"https:\/\/ciclocolor.com\/wp-json\/wp\/v2\/pages\/167971\/revisions"}],"predecessor-version":[{"id":175495,"href":"https:\/\/ciclocolor.com\/wp-json\/wp\/v2\/pages\/167971\/revisions\/175495"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ciclocolor.com\/wp-json\/wp\/v2\/media\/140548"}],"wp:attachment":[{"href":"https:\/\/ciclocolor.com\/wp-json\/wp\/v2\/media?parent=167971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}