:root{--tx-bg:#0b0b0e;--tx-surface:#111116;--tx-purple:#352238;--tx-lime:#c8ff70;--tx-hover:#ddffa8;--tx-text:#d6d4dc;--tx-muted:#a9a5b0;--tx-border:#ffffff20}
body{background:var(--tx-bg);color:var(--tx-text)}
body a{transition:color .2s,background-color .2s,border-color .2s}
body :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--tx-lime);outline-offset:4px}
body ::selection{background:var(--tx-lime);color:var(--tx-bg)}
body .elementor :is(h1,h2,h3,h4,h5,h6){color:#fff}
body .elementor .elementor-shape-fill{fill:var(--tx-bg)}
/* A consistent pair: filled primary action and transparent secondary action. */
body .elementor .elementor-button,
body .tuxedo-wave1-funnel a.primary,
body .tuxedo-wave1-funnel .contact-action.call,
body .tx-game a.tx-game-cta,
body .txe-page a.txe-button,
body .tuxedo-info-call,
body #call-submit,
body .tuxedo-submit-btn,
body .wpcf7 input[type=submit]{background:var(--tx-lime)!important;color:#111116!important;border:1px solid var(--tx-lime)!important;border-radius:999px;box-shadow:none;min-height:44px;font-weight:700}
body .elementor .elementor-button:hover,
body .tuxedo-wave1-funnel a.primary:hover,
body .tx-game a.tx-game-cta:hover,
body .txe-page a.txe-button:hover,
body .tuxedo-submit-btn:hover{background:var(--tx-hover)!important;border-color:var(--tx-hover)!important;color:#111116!important}
body .elementor .tx-button-outline .elementor-button,
body .tuxedo-wave1-funnel a.secondary,
body .tuxedo-wave1-funnel .contact-action.whatsapp,
body .tuxedo-instagram-gallery .tuxedo-ig-profile-cta a,
body .tuxedo-info-whatsapp,
body .tuxedo-readmore-btn,
body .tuxedo-hero-format-link{background:transparent!important;border:1px solid var(--tx-lime)!important;color:var(--tx-lime)!important;border-radius:999px;box-shadow:none}
body .elementor .tx-button-outline .elementor-button:hover,
body .tuxedo-wave1-funnel a.secondary:hover,
body .tuxedo-wave1-funnel .contact-action.whatsapp:hover,
body .tuxedo-instagram-gallery .tuxedo-ig-profile-cta a:hover,
body .tuxedo-info-whatsapp:hover,
body .tuxedo-readmore-btn:hover,
body .tuxedo-hero-format-link:hover{background:#c8ff7014!important;color:var(--tx-hover)!important;border-color:var(--tx-hover)!important}
/* Floating actions retain their original IDs and handlers. */
body .tuxedo-bottom-bar{border-radius:999px;background:#0b0b0ee8;backdrop-filter:blur(14px);overflow:visible;gap:0}
body #tuxedoBarPrenota,body #tuxedoBarInfo{box-sizing:border-box;min-height:44px;border:1px solid var(--tx-lime)!important;filter:none!important;transform:none!important;font-weight:750}
body #tuxedoBarPrenota{background:var(--tx-lime)!important;color:#111116!important;border-radius:999px 0 0 999px}
body #tuxedoBarInfo{background:transparent!important;color:var(--tx-lime)!important;border-radius:0 999px 999px 0}
body #tuxedoBarPrenota:hover{background:var(--tx-hover)!important}
body #tuxedoBarInfo:hover{background:#c8ff7014!important}
body .tuxedo-bar-btn :is(i,svg,span){color:inherit!important;fill:currentColor}
/* Dark purple surfaces extend the existing game section's palette. */
body .tuxedo-wave1-funnel{background:radial-gradient(ellipse at 0 55%,#35223866,transparent 60%),var(--tx-bg)}
body .tuxedo-hero-format-card{background:linear-gradient(145deg,#111116ef,#1b1420e8);border-color:var(--tx-border)}
body .tuxedo-hero-format-title{color:#fff!important}
body .tuxedo-hero-format-chip{color:var(--tx-lime)}
body .tuxedo-wave1-card{background:#111116;border-color:var(--tx-border)}
body .tuxedo-wave1-card:after{background:linear-gradient(180deg,#11111600,#111116 72%)}
body .tuxedo-wave1-eyebrow,body .tuxedo-ig-kicker{color:var(--tx-lime)}
body .tuxedo-wave1-contact-card.official{background:#35223866;border-color:#c8ff704d}
body .tuxedo-instagram-gallery{background:var(--tx-bg)}
body #tuxedoInfoDrawer,body .tuxedo-modal{background:radial-gradient(ellipse at 10% 0,#352238 0,transparent 60%),var(--tx-bg);border-color:#c8ff7040;box-shadow:0 24px 80px #0008}
body .tuxedo-modal:before{background:radial-gradient(circle at 10% 0,#352238,transparent 60%)}
body .tuxedo-info-card.is-official{background:#35223866;border-color:#c8ff704d}
body .tuxedo-info-close{background:transparent;border:1px solid var(--tx-lime);color:var(--tx-lime)}
body .tuxedo-info-close:hover{background:#c8ff7014;color:var(--tx-hover)}
body #tuxedoInfoDrawer .tuxedo-info-actions a.tuxedo-info-whatsapp{color:var(--tx-lime)!important}
body #tuxedoInfoDrawer .tuxedo-info-actions a.tuxedo-info-whatsapp:hover{color:var(--tx-hover)!important}
body #call-form .call-label{background:#35223866;color:#fff;border:1px solid var(--tx-border)}
body :is(.tuxedo-input,.tuxedo-select,.tuxedo-textarea){accent-color:var(--tx-lime);color-scheme:dark}
body input[type=checkbox]{accent-color:var(--tx-lime)}
/* Keep the compact header and its scroll behavior, with lime secondary navigation. */
body #site-header.site-header{background:linear-gradient(115deg,#211727f5,#0b0b0ef5 60%)!important;border-bottom-color:#ffffff20!important}
body #site-header .site-navigation ul.menu>li:last-child>a,
body #site-header .site-navigation-dropdown ul.menu>li:last-child>a{background:transparent;border:1px solid var(--tx-lime);color:var(--tx-lime)}
body #site-header .site-navigation ul.menu>li:last-child>a:hover,
body #site-header .site-navigation-dropdown ul.menu>li:last-child>a:hover{background:#c8ff7014;color:var(--tx-hover);border-color:var(--tx-hover)}
/* Homepage invitation: the full calendar lives at /eventi/. */
body .elementor .tx-calendar-section{padding:clamp(64px,8vw,110px) 24px!important;background:radial-gradient(ellipse at 85% 30%,#352238 0,transparent 58%),var(--tx-bg)!important;min-height:0!important;border-top:1px solid var(--tx-border);border-bottom:1px solid var(--tx-border)}
body .tx-calendar-section>.elementor-container{max-width:1080px}
body .tx-calendar-section .elementor-widget-wrap{padding:0!important;display:flex;flex-direction:column;align-items:flex-start;gap:0}
body .tx-calendar-section .elementor-widget{margin:0;width:100%;text-align:left}
body .tx-calendar-section .tx-calendar-kicker .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;color:var(--tx-lime);font:750 11px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.16em;margin-bottom:22px}
body .tx-calendar-kicker .elementor-heading-title:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--tx-lime)}
body .tx-calendar-section .tx-calendar-title .elementor-heading-title{max-width:800px;color:#fff;font-family:Montserrat,Arial,sans-serif;font-size:clamp(34px,4.6vw,62px);font-weight:800;letter-spacing:-.045em;line-height:1.08;text-transform:none;margin:0 0 24px}
body .tx-calendar-section .tx-calendar-copy{max-width:680px;color:var(--tx-text);font-size:16px;line-height:1.8}
body .tx-calendar-copy p{margin:0}
body .tx-calendar-tags{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 32px}
body .tx-calendar-tags span{padding:8px 13px;border-radius:999px;border:1px solid var(--tx-border);color:var(--tx-text);font-size:11px;letter-spacing:.04em;background:#ffffff04}
body .tx-calendar-section .tx-calendar-button .elementor-button{padding:16px 25px;font:750 13px/1.3 Montserrat,Arial,sans-serif}
body .tx-calendar-section .tx-calendar-note{margin-top:18px;color:var(--tx-muted);font-size:12px;line-height:1.7}
body .tx-calendar-note p{margin:0}
@media(max-width:767px){body .tx-calendar-section .tx-calendar-copy{font-size:15px}body .tx-calendar-tags{gap:8px}body .tx-calendar-tags span{font-size:10px;padding:7px 10px}body .tuxedo-bottom-bar{max-width:calc(100vw - 24px)}body #tuxedoBarPrenota,body #tuxedoBarInfo{padding:12px 15px;font-size:10px}}
@media(prefers-reduced-motion:reduce){body a,body button{transition:none!important}}
