/* t4kit — libreria componenti completa del framework (stessi design token di surface.css),
   scopata sotto .t4s: un unico pacchetto condiviso tra i due siti. Keyframe 'marquee' già in surface.css. */



.t4s .container{--bs-gutter-x:30px;--bs-gutter-y:0;margin-left:auto;margin-right:auto;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}
.t4s .row{--bs-gutter-x:30px;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}
.t4s .row>*{box-sizing:border-box;flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}
.t4s .col-12{flex:0 0 auto;width:100%}
.t4s .align-items-center{align-items:center!important}
.t4s p.subtitle{font-size:clamp(.95rem,.92rem + .08vw,1rem);margin-bottom:1.25rem;text-transform:uppercase}
.t4s .container-grid{display:grid;grid-template-columns:50% 50%;margin-inline:auto;position:relative;width:89.23%;z-index:3}
.t4s .container-grid.flex-end{align-items:flex-end}
.t4s .container-grid.flex-start{align-items:flex-start}
.t4s .container-grid .sm-full{grid-column:span 2}
.t4s .white-component{padding-block:3.125rem;position:relative}
.t4s .white-component+.white-component{padding-top:0!important}
.t4s .light-blue-component{background:rgba(var(--color-background-blue));padding-block:3.125rem;position:relative}
.t4s .light-blue-component+.light-blue-component{padding-top:0}
.t4s .light-blue-component+.c-cta{background:rgba(var(--color-background-blue))}
/* la striscia alta della CTA finale continua il colore del blocco prima (come .fh-1622 nel tema),
   anche quando sta in un altro wrapper .t4s: senza, tra due blocchi scuri resta una fascia grigia */
.t4s:has(> .t4-formsection:last-child) + .t4s > .c-cta:first-child{background:rgb(var(--color-black))}
.fh-0241 + .t4s > .c-cta:first-child{background:rgba(var(--color-background-blue))}
.t4s:has(> .t4-testcta:last-child) + .t4s > .c-cta:first-child{background:rgb(var(--color-primary))}
.t4s .container{max-width:calc(90.94% + 1.875rem);width:calc(90.94% + 1.875rem)}
.t4s .btn{align-items:center;color:rgba(var(--color-white));display:inline-flex;font-size:clamp(.9375rem,.9216rem + .0654vw,1rem);gap:.3125rem;height:2.5rem;overflow:hidden;padding-inline:.9375rem;position:relative;text-align:center;text-transform:uppercase;white-space:nowrap;width:-moz-fit-content;width:fit-content;z-index:3}
.t4s .btn:hover{color:rgba(var(--color-white))}
.t4s .btn .icon{height:auto;max-height:1.125rem;max-width:1.125rem;min-width:1.125rem;-o-object-fit:contain;object-fit:contain;width:100%}
.t4s .btn--outline{color:rgba(var(--color-white))}
.t4s .btn--outline:before{border:.0625rem solid rgba(var(--color-white));left:0}
.t4s .btn--outline:after, .t4s .btn--outline:before{content:"";height:100%;position:absolute;top:0;transition:.3s ease;width:100%;z-index:-2}
.t4s .btn--outline:after{background:rgba(var(--color-primary));border:.0625rem solid rgba(var(--color-primary));right:0;scale:0 1}
.t4s .btn--outline:hover{color:rgba(var(--color-white))}
.t4s .btn--outline:hover:after{right:0;scale:1}
.t4s .btn--outline:hover:before{opacity:0}
.t4s .btn--outline-dark{color:rgba(var(--color-black))}
.t4s .btn--outline-dark:before{border:.0625rem solid rgba(var(--color-black))}
.t4s .btn--nav{border-bottom:.0625rem solid rgba(var(--color-white));font-size:clamp(1.0625rem,.9828rem + .3268vw,1.375rem);height:-moz-fit-content;height:fit-content;justify-content:space-between;padding-block:.9375rem;padding-inline:0;text-transform:none;transition:.3s ease;width:100%}
.t4s .btn--nav svg{transition:.3s ease}
.t4s .btn--nav:hover{padding-left:.625rem}
.t4s .btn--nav:hover svg{rotate:45deg}
.t4s .btn--primary:before{background:rgba(var(--color-primary));border:.0625rem solid rgba(var(--color-primary))}
.t4s .btn--primary:after, .t4s .btn--primary:before{content:"";height:100%;left:0;position:absolute;top:0;transition:.3s ease;width:100%;z-index:-2}
.t4s .btn--primary:after{background:rgba(var(--color-secondary));border:.0625rem solid rgba(var(--color-secondary));scale:0 1}
.t4s .btn--primary:hover{color:rgba(var(--color-white))}
.t4s .btn--primary:hover:after{scale:1}
.t4s .btn--secondary{background:rgba(var(--color-secondary))}
.t4s .btn--secondary:hover{background:rgba(var(--color-primary))}
.t4s .btn--back{border-bottom:1px solid rgba(var(--color-white));display:inline-block;font-size:clamp(.875rem,.875rem + 0vw,.875rem);height:-moz-fit-content;height:fit-content;margin-bottom:2.5rem;padding-bottom:.625rem;text-transform:uppercase;width:-moz-fit-content;width:fit-content}
.t4s .btn--back svg{rotate:45deg;transition:.3s ease}
.t4s .btn--back:hover{color:currentColor}
.t4s .btn--back:hover svg{rotate:0deg}
.t4s .btn--back-dark{border-bottom-color:rgba(var(--color-secondary));color:rgba(var(--color-secondary))}
.t4s .article-content{font-size:clamp(.9375rem,.8897rem + .1961vw,1.125rem)}
.t4s .article-content h2{font-size:clamp(1.5625rem,1.3554rem + .8497vw,2.375rem)}
.t4s .article-content>*{margin-bottom:1.25rem}
.t4s .article-content>:last-child{margin-bottom:0}
.t4s .article-content blockquote+h2, .t4s .article-content blockquote+h3, .t4s .article-content blockquote+h4, .t4s .article-content blockquote+h5, .t4s .article-content blockquote+h6, .t4s .article-content p+h2, .t4s .article-content p+h3, .t4s .article-content p+h4, .t4s .article-content p+h5, .t4s .article-content p+h6{margin-top:1.25rem}
.t4s .article-content p+h1, .t4s .article-content p+h2, .t4s .article-content p+h3, .t4s .article-content p+h4, .t4s .article-content p+h5, .t4s .article-content p+h6, .t4s .article-content ul+h1, .t4s .article-content ul+h2, .t4s .article-content ul+h3, .t4s .article-content ul+h4, .t4s .article-content ul+h5, .t4s .article-content ul+h6{margin-top:2.5rem}
.t4s .article-content a:not(.btn){color:rgba(var(--color-text));font-weight:var(--font-weight-bold);text-decoration:underline;transition:.3s ease}
.t4s .article-content a:not(.btn):hover{color:rgba(var(--color-primary));text-decoration:unset}
.t4s .article-content p strong{font-weight:var(--font-weight-bold)}
.t4s .article-content p em{font-style:italic}
.t4s .article-content ol{padding-left:1.4375rem}
.t4s .article-content ul{--usp-box:var(--color-primary);--usp-check:var(--color-white);display:flex;flex-direction:column;gap:.75rem;list-style:none;margin-top:1.25rem;padding-left:0}
.t4s .article-content ul li{padding-left:2rem;position:relative}
.t4s .article-content ul li:after, .t4s .article-content ul li:before{content:"";height:1.25rem;left:0;position:absolute;top:.15em;width:1.25rem}
.t4s .article-content ul li:before{background-color:rgba(var(--usp-box))}
.t4s .article-content ul li:after{background-color:rgba(var(--usp-check));-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.42z'/%3E%3C/svg%3E") center/.75rem no-repeat;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.42z'/%3E%3C/svg%3E") center/.75rem no-repeat}
.t4s .article-content iframe{aspect-ratio:16/9;height:auto;width:100%}
.t4s .article-content mark{background-color:rgba(Var(--color-primary))}
.t4s .article-content img{height:auto;-o-object-fit:contain;object-fit:contain;width:100%}
.t4s .article-content pre{background-color:#f5f5f5;border-radius:4px;font-family:monospace;font-size:.9rem;line-height:1.6;overflow-x:auto;padding:1em}
.t4s .article-content pre code{display:block;white-space:pre}
.t4s .article-content blockquote{border-left:.125rem solid rgba(var(--color-primary));color:rgba(var(--color-text));font-style:italic;padding-left:1.25rem}
.t4s .article-content code:not(pre code){background-color:#f0f0f0;border-radius:3px;font-size:.95em;padding:.2em .4em}
.t4s .article-content hr{margin-block:2.5rem}
.t4s .c-content-image:not(.style-component-light-blue) .article-content ul, .t4s .c-cta .article-content ul{--usp-box:var(--color-white);--usp-check:var(--color-primary)}
.t4s nav.buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1.25rem}
.t4s .card-post__content .title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-family:var(--font-family-body),sans-serif;font-size:clamp(1.125rem,1.0931rem + .1307vw,1.25rem);font-weight:var(--font-weight-normal);line-height:1;overflow:hidden;text-transform:none}
.t4s .card-search__header .title{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;font-size:clamp(1.125rem,1.0931rem + .1307vw,1.25rem);overflow:hidden}
.t4s .card-vacancy__left .title{margin-top:.625rem}
.t4s .card-trainer__left .subtitle{font-size:clamp(.8125rem,.7966rem + .0654vw,.875rem);text-transform:uppercase}
.t4s .card-trainer__left .title{margin-top:.625rem}
.t4s .card-trainer__content .btn{flex:none}
.t4s .card-event__content .title{font-size:clamp(1.5625rem,1.3554rem + .8497vw,2.375rem);line-height:.9210526316}
.t4s .card-pro-player__left .subtitle{font-size:clamp(.8125rem,.7966rem + .0654vw,.875rem);text-transform:uppercase}
.t4s .card-pro-player__left .title{margin-top:.625rem}
.t4s .card-pro-player__content .btn{flex:none}
.t4s .c-featured-posts__slider .slider .swiper-slide{height:auto}
.t4s .c-featured-posts__functions>.swiper-buttons>.swiper-button{align-items:center;background:rgba(var(--color-black));color:rgba(var(--color-white));display:flex;height:2.5rem;justify-content:center;width:2.5rem}
.t4s .c-featured-posts__functions>.swiper-buttons>.swiper-button .icon{height:.625rem;width:.625rem}
.t4s .c-featured-posts__functions>.swiper-buttons>.swiper-button.prev svg{transform:rotate(180deg)}
.t4s .c-featured-posts__functions>.swiper-buttons>.swiper-button.swiper-button-disabled{opacity:.3;pointer-events:none}
.t4s .c-title-content-image{padding-block:3.125rem}
.t4s .c-title-content-image__top .title{font-size:clamp(2.375rem,1.3873rem + 4.0523vw,6.25rem);margin-bottom:1.875rem;margin-top:-.05em;padding-top:.05em}
.t4s .c-title-content-image__content{grid-column:span 2}
.t4s .c-title-content-image__content .buttons{margin-top:2.5rem}
.t4s .c-title-content-image__image{aspect-ratio:873/665;grid-column:span 2;height:auto;margin-top:2.8125rem;position:relative;width:100%;z-index:4}
.t4s .c-title-content-image__image img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}
.t4s .c-content-image{background:rgba(var(--color-secondary));color:rgba(var(--color-white));position:relative;z-index:10}
.t4s .c-content-image__content{padding-block:3.125rem;position:relative;z-index:6}
.t4s .c-content-image__content .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem);margin-bottom:1.875rem;margin-top:-.05em;padding-top:.05em}
.t4s .c-content-image__content .navigation{list-style-type:none;margin-bottom:0;margin-top:1.875rem;padding-left:0}
.t4s .c-content-image__content .navigation>li a{align-items:center;border-bottom:.0625rem solid;display:flex;justify-content:space-between;padding-block:.9375rem;transition:.3s ease}
.t4s .c-content-image__content .navigation>li a .icon-arrow{transition:.3s ease}
.t4s .c-content-image__content .navigation>li a:hover{color:currentColor;padding-left:.9375rem}
.t4s .c-content-image__content .navigation>li a:hover svg{rotate:45deg}
.t4s .c-content-image__content .buttons{margin-top:2.5rem}
.t4s .c-content-image__content .buttons .btn--primary:after{background:rgba(var(--color-white))}
.t4s .c-content-image__content .buttons .btn--primary:hover{color:rgba(var(--color-secondary))}
.t4s .c-content-image__image{aspect-ratio:48/49;height:auto;position:relative;width:100%;z-index:10}
.t4s .c-content-image__image img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}
.t4s .c-content-image:before{background:rgba(var(--color-secondary));content:"";display:none;height:100%;left:0;position:absolute;top:0;width:50%;z-index:4}
.t4s .c-content-image--left .c-content-image__image{left:0;right:unset}
.t4s .c-content-image--left:before{left:unset;right:0}
.t4s .c-content-image.style-component-light-blue{background:rgba(var(--color-background-blue));color:#212529}
.t4s .c-content-image.style-component-light-blue:before{background:rgba(var(--color-background-blue))}
.t4s .c-hero-page{color:rgba(var(--color-white));position:relative}
.t4s .c-hero-page:before{background:rgba(var(--color-secondary));content:"";height:calc(100% - 3.125rem);left:0;position:absolute;right:0;top:0;width:100%}
.t4s .c-hero-page__icon{display:none}
.t4s .c-hero-page__wrapper{color:rgba(var(--color-white));display:flex;flex-direction:column;height:100%;padding-bottom:20.25rem;padding-top:6.25rem;position:relative;z-index:5}
.t4s .c-hero-page__wrapper .container-grid{position:unset!important}
.t4s .c-hero-page__wrapper .container-grid.secondary{position:relative;z-index:0}
.t4s .c-hero-page__wrapper .container-grid .content{font-size:clamp(1.0625rem,.9828rem + .3268vw,1.375rem);line-height:1.3636363636;margin-bottom:1.875rem}
.t4s .c-hero-page__wrapper .container-grid .buttons{align-items:flex-start;flex-direction:column;margin-top:2.5rem}
.t4s .c-hero-page__wrapper .container-grid .title{font-size:clamp(2.1875rem,.3554rem + 7.5163vw,9.375rem);font-weight:var(--font-weight-light);grid-column:span 2;line-height:1;margin-bottom:2.5rem;width:100%}
.t4s .c-hero-page__wrapper .container-grid .title>span{line-height:1;margin-top:-.05em;padding-top:.05em}
.t4s .c-hero-page__wrapper .container-grid .title .second-title{display:block}
.t4s .c-hero-page__wrapper .container-grid .content-wrapper{grid-column:span 2}
.t4s .c-hero-page__image{bottom:0;height:17.1875rem;position:absolute;right:0;width:calc(100% - 1.25rem);z-index:-1}
.t4s .c-hero-page__image img, .t4s .c-hero-page__image video{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}
.t4s .c-hero-compact .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem);padding-right:1.875rem}
.t4s .c-hero-compact .buttons{display:flex;flex-wrap:wrap;gap:.9375rem;margin-top:1.875rem}
.t4s .c-content{position:relative}
.t4s .c-content__wrapper .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem)!important;margin-top:-.05em;padding-top:.05em}
.t4s .c-content__wrapper .content{font-size:clamp(.9375rem,.8897rem + .1961vw,1.125rem);line-height:1.3333333333}
.t4s .c-content__wrapper p:first-child{font-size:clamp(1.0625rem,1.0466rem + .0654vw,1.125rem)}
.t4s .c-content__wrapper figure{aspect-ratio:459/295;height:auto;margin-top:2.5rem;width:100%}
.t4s .c-content__wrapper figure img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}
.t4s .c-content-list-cta>.container-grid>div>.title{font-size:clamp(2.25rem,1.9951rem + 1.0458vw,3.25rem);margin-bottom:1.5rem}
.t4s .c-content-list-cta__list .item .title{margin-bottom:.625rem}
.t4s .c-content-list-cta__list .item .btn{flex:none}
.t4s .c-marquee-text{overflow-x:hidden;position:relative}
.t4s .c-marquee-text__inner{align-items:center;display:flex;white-space:nowrap;width:-moz-max-content;width:max-content;will-change:transform}
.t4s .c-marquee-text__inner>.wrapper{animation:marquee 80s linear infinite;display:flex;font-size:clamp(3.125rem,1.5319rem + 6.5359vw,9.375rem);letter-spacing:normal;text-transform:uppercase}
.t4s .c-marquee-text__inner>.wrapper p{align-items:center;display:flex;font-family:var(--font-family-headings),sans-serif;font-weight:var(--font-weight-light);position:relative}
.t4s .c-marquee-text__inner>.wrapper p:after{background:currentColor;content:"";display:block;flex-shrink:0;height:.625rem;margin-inline:1.875rem;margin-top:-1.0625rem;width:.625rem}
.t4s .c-slider{overflow:hidden;position:relative}
.t4s .c-slider__slider{position:relative;z-index:5}
.t4s .c-slider__slider .swiper-buttons{display:flex;flex-direction:row;gap:.1875rem;margin-top:1.875rem}
.t4s .c-slider__slider .swiper-buttons>button{align-items:center;display:flex;height:1.875rem;justify-content:center;width:1.875rem}
.t4s .c-slider__slider .swiper-buttons>button svg{height:.8125rem;width:auto}
.t4s .c-slider__slider .swiper-buttons>button.next{rotate:180deg}
.t4s .c-slider__slider .swiper-buttons>button.swiper-button-disabled svg{opacity:.3}
.t4s .c-slider__slider .swiper-slide{height:auto}
.t4s .c-slider__slider .card{height:100%;position:relative;transition:.2s ease}
.t4s .c-slider__slider .card__thumbnail{aspect-ratio:562/407;height:auto;margin-bottom:1.875rem;overflow:hidden;width:100%}
.t4s .c-slider__slider .card__thumbnail img{height:100%;-o-object-fit:cover;object-fit:cover;transition:scale .2s ease;width:100%}
.t4s .c-slider__slider .card__content{font-size:clamp(1rem,.9681rem + .1307vw,1.125rem)}
.t4s .c-slider__slider .card__content .title{font-size:clamp(1.5625rem,1.3554rem + .8497vw,2.375rem);line-height:.9210526316}
.t4s .c-slider__slider .card__content .content{font-size:clamp(.9375rem,.8897rem + .1961vw,1.125rem)}
.t4s .c-slider__slider .card__content .text-btn{font-size:clamp(1.0625rem,1.0466rem + .0654vw,1.125rem);font-weight:var(--font-weight-bold);margin-top:1.25rem;text-decoration:underline}
.t4s .c-slider__slider .card .link{height:100%;inset:0;position:absolute;width:100%;z-index:2}
.t4s .c-slider__slider .card:hover .card__thumbnail img{scale:1.05}
.t4s .c-gallery{overflow:hidden}
.t4s .c-gallery__header{margin-bottom:1.875rem;position:relative;z-index:5}
.t4s .c-gallery__header .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem)}
.t4s .c-gallery__header .content{font-size:clamp(.9375rem,.8897rem + .1961vw,1.125rem)}
.t4s .c-gallery__slider{position:relative;z-index:5}
.t4s .c-gallery__slider .swiper-buttons{display:flex;flex-direction:row;gap:.1875rem;margin-top:1.875rem}
.t4s .c-gallery__slider .swiper-buttons>button{align-items:center;display:flex;height:1.875rem;justify-content:center;width:1.875rem}
.t4s .c-gallery__slider .swiper-buttons>button svg{height:.8125rem;width:auto}
.t4s .c-gallery__slider .swiper-buttons>button.next{rotate:180deg}
.t4s .c-gallery__slider .swiper-buttons>button.swiper-button-disabled svg{opacity:.3}
.t4s .c-gallery__slider .swiper-slide{height:auto}
.t4s .c-gallery__slider .card{height:100%;position:relative;transition:.2s ease}
.t4s .c-gallery__slider .card__thumbnail{aspect-ratio:459/295;height:auto;overflow:hidden;width:100%}
.t4s .c-gallery__slider .card__thumbnail img{height:100%;-o-object-fit:cover;object-fit:cover;transition:scale .2s ease;width:100%}
.t4s .c-partners{position:relative}
.t4s .c-partners__wrapper{background:rgba(var(--color-background));border:1px solid #a6aab3;overflow-x:hidden;padding-block:.9375rem;position:relative;z-index:5}
.t4s .c-partners__wrapper .slider .swiper-wrapper{gap:3.125rem;transition-timing-function:linear}
.t4s .c-partners__wrapper .slider .swiper-slide{height:auto;padding-inline:0;width:-moz-fit-content;width:fit-content}
.t4s .c-partners__wrapper .slider .swiper-slide .partner{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:-moz-fit-content;width:fit-content}
.t4s .c-partners__wrapper .slider .swiper-slide .partner .thumb{align-items:center;display:flex;justify-content:center}
.t4s .c-partners__wrapper .slider .swiper-slide .partner .thumb img{height:5rem;max-width:9.375rem;-o-object-fit:contain;object-fit:contain;transform-origin:center;transition:all .3s ease;width:12.5rem}
.t4s .c-partners__wrapper .slider .swiper-slide .partner .link{height:100%;inset:0;position:absolute;width:100%;z-index:2}
.t4s .c-partners__wrapper .slider .swiper-slide .partner.contains-link:hover img{scale:1.1}
.t4s .c-partners.light-blue-component .c-partners__wrapper{background:rgba(var(--color-background-blue))}
.t4s .c-partners-grid{position:relative}
.t4s .c-partners-grid .title{margin-bottom:1.875rem}
.t4s .c-partners-grid__grid{border-left:1px solid rgba(var(--color-black),.1);border-top:1px solid rgba(var(--color-black),.1);display:grid;grid-template-columns:repeat(2,1fr);position:relative;z-index:5}
.t4s .c-partners-grid__tile{align-items:center;border-bottom:1px solid rgba(var(--color-black),.1);border-right:1px solid rgba(var(--color-black),.1);display:flex;justify-content:center;padding:1.5625rem .9375rem}
.t4s .c-partners-grid__tile .thumb{align-items:center;display:flex;justify-content:center}
.t4s .c-partners-grid__tile .thumb img{max-height:2.5rem;max-width:100%;-o-object-fit:contain;object-fit:contain;transition:opacity .3s ease}
.t4s .c-partners-grid a.c-partners-grid__tile:hover img{opacity:.6}
.t4s .c-cta{color:rgba(var(--color-white));position:relative;text-align:center}
.t4s .c-cta:before{background:rgba(var(--color-secondary));bottom:0;content:"";height:calc(100% - 3.75rem);left:0;position:absolute;right:0;width:100%}
.t4s .c-cta__avatar{aspect-ratio:133/185;height:auto;margin-inline:auto;position:relative;width:50vw;z-index:5}
.t4s .c-cta__avatar img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}
.t4s .c-cta__marquee{align-items:center;display:flex;gap:3.125rem;margin-top:-2.5rem;position:relative;white-space:nowrap;width:-moz-max-content;width:max-content;will-change:transform;z-index:6}
.t4s .c-cta__marquee .c-marquee-text__inner>.wrapper{letter-spacing:.125rem}
.t4s .c-cta__wrapper{border-bottom:.0625rem solid rgba(var(--color-white));padding-bottom:3.125rem;position:relative;z-index:5}
.t4s .c-cta__wrapper .article-content{padding-block:1.25rem}
.t4s .c-cta__wrapper .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem)}
.t4s .c-cta__wrapper .buttons{justify-content:center}
.t4s .c-cta__wrapper .buttons .btn--primary:after{background:rgba(var(--color-white))}
.t4s .c-cta__wrapper .buttons .btn--primary:hover{color:rgba(var(--color-secondary))}
.t4s .c-cta__wrapper form{margin-inline:auto;margin-top:2.1875rem;position:relative;width:100%}
.t4s .c-cta__wrapper form input[type=submit]{background:rgba(var(--color-primary))!important;border:1px solid rgba(var(--color-primary))!important;border-radius:0!important;height:3.375rem!important;position:absolute;right:0;text-transform:uppercase!important;top:-2px!important}
.t4s .c-cta__wrapper form input[type=submit]:hover{background:rgba(var(--color-white))!important;color:rgba(var(--color-secondary))!important}
.t4s .c-apply-form__wrapper .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem)}
.t4s .c-archive-vacancy__header .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem);padding-right:1.875rem}
.t4s .c-featured-vacancy__header{margin-bottom:1.875rem}
.t4s .c-featured-vacancy__header .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem)}
.t4s .c-archive-post{padding-bottom:3.125rem}
.t4s .c-archive-post__header{background:rgba(var(--color-secondary));color:rgba(var(--color-white));padding-block:7.1875rem 3.75rem}
.t4s .c-archive-post__header .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem);padding-right:1.875rem}
.t4s .c-archive-post__header .btn--primary:after{border:1px solid #fff}
.t4s .c-archive-post__items{padding-top:3.125rem}
.t4s .c-archive-post__pagination .facetwp-facet{display:flex;justify-content:center;margin-bottom:0}
.t4s .c-archive-faq__header{background:rgba(var(--color-secondary));color:rgba(var(--color-white));padding-block:7.1875rem 3.75rem}
.t4s .c-archive-faq__header .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem);padding-right:1.875rem}
.t4s .c-archive-faq__header .title+nav{margin-top:1.875rem}
.t4s .c-archive-faq__header .btn--primary:after{border:1px solid #fff}
.t4s .c-archive-faq__filter{align-items:center;display:flex;flex-wrap:wrap;gap:.625rem;margin-bottom:1.875rem}
.t4s .c-archive-faq__filter label{font-size:clamp(.9375rem,.9056rem + .1307vw,1.0625rem)}
.t4s .c-archive-faq__filter select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(../images/icon-chevron-down.svg?617a66f90c43f6df3f17bb3a1c24aced) center right 1.25rem no-repeat;background-size:1.25rem auto;border:1px solid rgba(var(--color-secondary));color:rgba(var(--color-secondary));font-size:clamp(.9375rem,.8897rem + .1961vw,1.125rem);height:3.125rem;padding-inline:1.25rem 3.125rem}
.t4s .c-archive-faq__filter select:focus{outline:1px solid rgba(var(--color-primary))}
.t4s .c-archive-faq__items{padding-block:3.125rem}
.t4s .c-archive-faq__items .faq-wrapper{scroll-margin-top:6.25rem}
.t4s .c-archive-faq__items .faq-wrapper:not(:last-child){margin-bottom:2.5rem}
.t4s .c-archive-faq__items .faq-wrapper .category-name{font-family:var(--font-family-body),sans-serif;font-size:clamp(1.125rem,1.0613rem + .2614vw,1.375rem);font-weight:var(--font-weight-bold);margin-bottom:1.875rem;text-transform:none}
.t4s .c-hero-contact{background:rgba(var(--color-secondary));color:rgba(var(--color-white));position:relative}
.t4s .c-hero-contact__wrapper{padding-bottom:3.75rem;padding-top:7.5rem}
.t4s .c-hero-contact__title{font-size:clamp(3.125rem,1.5319rem + 6.5359vw,9.375rem);font-weight:var(--font-weight-light);line-height:1;margin-bottom:1.875rem;margin-top:-.05em;padding-top:.05em}
.t4s .c-hero-contact__title .first-title, .t4s .c-hero-contact__title .second-title{display:block}
.t4s .c-hero-contact__content{font-size:clamp(1.0625rem,.9828rem + .3268vw,1.375rem);line-height:1.3636363636;margin-bottom:2.5rem;width:100%}
.t4s .c-hero-contact__content a:not(.btn){color:rgba(var(--color-white))}
.t4s .c-hero-contact__buttons{margin-bottom:2.5rem}
.t4s .c-hero-contact__grid{align-items:start;display:grid;gap:2.5rem;grid-template-columns:1fr}
.t4s .c-hero-contact__column{display:flex;flex-direction:column;position:relative;z-index:3}
.t4s .c-hero-contact__image{margin:0 0 3.125rem;overflow:hidden;padding:0;width:100%}
.t4s .c-hero-contact__image img{aspect-ratio:4/3;display:block;-o-object-fit:cover;object-fit:cover;width:100%}
.t4s .c-hero-contact__column-title{font-size:clamp(1.5rem,1.3725rem + .5229vw,2rem);font-weight:var(--font-weight-normal);margin-bottom:.9375rem}
.t4s .c-hero-contact__column-content{font-size:clamp(.875rem,.8431rem + .1307vw,1rem);line-height:1.6}
.t4s .c-hero-contact__column-content p+p{margin-top:1.125rem}
.t4s .c-hero-contact__column-content a{color:rgba(var(--color-white));font-weight:700;text-decoration:underline}
.t4s .c-hero-contact__column-content a:hover{text-decoration:none}
.t4s .c-hero-contact__table{font-size:clamp(.875rem,.8431rem + .1307vw,1rem);margin-top:.9375rem;max-width:17.5rem}
.t4s .c-hero-contact__table-row{display:grid;gap:.625rem;grid-template-columns:1fr 1fr;padding-block:.125rem}
.t4s .c-hero-contact__table-cell p{margin:0}
.t4s .c-featured-trainer{position:relative}
.t4s .c-featured-trainer__header{margin-bottom:2.5rem}
.t4s .c-featured-trainer__header .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem)}
.t4s .c-featured-trainer__filters{display:flex;flex-wrap:wrap;gap:1.875rem;margin-bottom:1.875rem}
.t4s .c-featured-trainer__filter{display:flex;flex-direction:column;gap:.625rem}
.t4s .c-featured-trainer__filter .filter-label{font-size:clamp(.875rem,.875rem + 0vw,.875rem);text-transform:uppercase}
.t4s .c-featured-trainer__filter .facetwp-display-value{padding-right:0!important}
.t4s .c-featured-trainer__filter .facetwp-facet{margin-bottom:0}
.t4s .c-featured-trainer__filter .facetwp-checkbox{border:1px solid rgba(var(--color-black))!important;font-size:clamp(.9375rem,.9216rem + .0654vw,1rem);height:2.5rem;padding-inline:.9375rem;text-transform:uppercase}
.t4s .c-featured-trainer__filter .facetwp-checkbox.checked{border-color:rgba(var(--color-primary))!important}
.t4s .c-facilities{position:relative}
.t4s .c-facilities__wrapper{position:relative;z-index:10}
.t4s .c-facilities__wrapper .content-wrapper .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem)}
.t4s .c-facilities__wrapper .content-wrapper .content{font-size:clamp(1.0625rem,1.0466rem + .0654vw,1.125rem)}
.t4s .c-facilities__wrapper .content-wrapper+.facilities-list{margin-top:2.5rem}
.t4s .c-facilities__wrapper .facilities-list{align-items:center;display:flex;flex-wrap:wrap;gap:.625rem;list-style-type:none;margin:0;padding:0}
.t4s .c-facilities__wrapper .facilities-list>li{align-items:center;background:rgba(var(--color-white));border:.0625rem solid rgba(var(--color-black));display:flex;font-size:clamp(.9375rem,.9216rem + .0654vw,1rem);gap:.3125rem;height:2.5rem;padding-inline:.9375rem;text-transform:uppercase;white-space:nowrap}
.t4s .c-facilities__wrapper .facilities-list>li img{max-height:1.125rem;max-width:1.125rem;width:100%}
.t4s .c-facilities+.c-gallery{margin-top:-1.25rem}
.t4s .c-clubs-grid__header .title{font-size:clamp(2.375rem,1.3873rem + 4.0523vw,6.25rem);margin-bottom:2.5rem;margin-top:-.05em;padding-top:.05em}
.t4s .c-clubs-grid__club{margin-bottom:3.125rem;position:relative;z-index:4}
.t4s .c-clubs-grid__club:last-child{margin-bottom:0}
.t4s .c-clubs-grid__image{aspect-ratio:8/5;height:auto;margin-bottom:1.25rem;-o-object-fit:cover;object-fit:cover;width:100%}
.t4s .c-clubs-grid__name{font-size:clamp(1.75rem,1.4314rem + 1.3072vw,3rem);margin-bottom:.625rem}
.t4s .c-clubs-grid__usps{font-size:clamp(.9375rem,.8897rem + .1961vw,1.125rem);margin-bottom:1.5625rem}
.t4s .c-clubs-grid .buttons{display:flex;flex-wrap:wrap;gap:.625rem}
.t4s .c-faq{position:relative}
.t4s .c-faq__header{margin-bottom:1.875rem;position:relative;z-index:5}
.t4s .c-faq__header .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem)}
.t4s .c-faq__header .content{font-size:clamp(.9375rem,.8897rem + .1961vw,1.125rem)}
.t4s .c-faq__items{display:flex;flex-direction:column}
.t4s .c-faq__item{border-bottom:1px solid rgba(var(--color-black));padding:.75rem 0}
.t4s .c-faq__item:first-child{border-top:1px solid rgba(var(--color-black))}
.t4s .c-faq__item .question{align-items:center;cursor:pointer;display:flex;font-weight:600;gap:.75rem;justify-content:space-between;list-style:none;padding:.375rem 1.25rem .375rem 0}
.t4s .c-faq__item .question::-webkit-details-marker{display:none}
.t4s .c-faq__item .question .question-text{font-size:clamp(1.0625rem,.9828rem + .3268vw,1.375rem);font-weight:var(--font-weight-normal)}
.t4s .c-faq__item .question .icon{flex:none;transition:.3s ease}
.t4s .c-faq__item .answer{display:grid;font-size:clamp(1.125rem,1.125rem + 0vw,1.125rem);grid-template-rows:0fr;opacity:0;pointer-events:none;transition:grid-template-rows .3s ease,opacity .2s ease;will-change:grid-template-rows,opacity}
.t4s .c-faq__item .answer>*{overflow:hidden}
.t4s .c-faq details[open] .question-text{text-decoration:underline}
.t4s .c-faq details[open] .icon{rotate:90deg}
.t4s .c-faq details[open] .icon .st0-1{opacity:0}
.t4s .c-faq details[open] .answer{grid-template-rows:1fr;opacity:1;padding-block:1.25rem;pointer-events:auto}
/* FAQ: la risposta di un <details> chiuso non ha stile calcolato, quindi la prima apertura
   scattava a piena altezza (la chiusura invece anima). Punto di partenza esplicito */
@starting-style{
  .fh-0985[open] .fh-1529,.t4s .c-faq details[open] .answer{grid-template-rows:0fr;opacity:0;padding-block:0}
}
.t4s .c-featured-partners-per-category__header .title{margin-bottom:1.875rem;text-align:center}
.t4s .c-featured-partners-per-category__header .subtitle{margin-bottom:1.25rem;text-align:center}
.t4s .c-featured-pro-padeller__header .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem)}
.t4s .c-usps{position:relative}
.t4s .c-usps .container-grid{row-gap:2.5rem}
.t4s .c-usps__header .title{color:rgba(var(--color-secondary));font-size:clamp(2.25rem,1.7083rem + 2.2222vw,4.375rem)}
.t4s .c-usps__item{align-items:flex-start;display:flex;flex-direction:column;grid-column:span 2}
.t4s .c-usps__item .image{aspect-ratio:4/3;margin-bottom:1.5625rem;-o-object-fit:cover;object-fit:cover;width:100%}
/* occhielli dei componenti del tema (usps, clubs, partners, services bianchi): niente blu,
   stesso colore degli occhielli dei nostri blocchi su fondo chiaro */
.t4s .c-usps__item .subtitle{margin-bottom:.625rem}
.t4s .c-usps__item .title{color:rgba(var(--color-secondary));font-size:clamp(1.5rem,1.3407rem + .6536vw,2.125rem);margin-bottom:.9375rem}
.t4s .c-usps__item .description{font-size:clamp(1rem,.9841rem + .0654vw,1.0625rem);margin-bottom:1.25rem}
.t4s .c-usps__item .link{color:rgba(var(--color-secondary));font-family:var(--font-family-body),monospace;font-size:clamp(.9375rem,.9216rem + .0654vw,1rem);font-weight:var(--font-weight-bold);margin-top:auto;text-decoration:underline;text-underline-offset:.25rem}
.t4s .c-usps__item .link:hover{color:rgba(var(--color-primary))}
.t4s .c-usps--dark{background:rgba(var(--color-secondary));color:rgba(var(--color-white));padding-block:3.125rem}
.t4s .c-usps--dark .c-usps__header .subtitle{color:rgba(var(--color-white),.6)}
.t4s .c-usps--dark .c-usps__header .title{color:rgba(var(--color-white))}
.t4s .c-usps--dark .c-usps__item .subtitle{color:rgba(var(--color-white),.6)}
.t4s .c-usps--dark .c-usps__item .link, .t4s .c-usps--dark .c-usps__item .title{color:rgba(var(--color-white))}
.t4s .c-usps--dark .c-usps__item .link:hover{color:rgba(var(--color-white),.6)}
.t4s .c-services{background:rgba(var(--color-secondary));color:rgba(var(--color-white));padding-block:3.125rem;position:relative}
.t4s .c-services__header{position:relative;z-index:10}
.t4s .c-services__header .subtitle{color:rgba(var(--color-white),.6)}
.t4s .c-services__header .title{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem);margin-bottom:1.875rem}
.t4s .c-services__header .content{font-size:clamp(1.0625rem,1.0466rem + .0654vw,1.125rem)}
.t4s .c-services__list{display:grid;gap:3.125rem;grid-template-columns:1fr;list-style-type:none;margin:3.125rem 0 0;padding:0;position:relative;z-index:10}
.t4s .c-services__list .service{align-items:flex-start;display:flex;flex-direction:column}
.t4s .c-services__list .service__image{margin-bottom:1.5625rem;width:100%}
.t4s .c-services__list .service__image img{aspect-ratio:294/215;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}
.t4s .c-services__list .service__subtitle{color:rgba(var(--color-white),.6);font-size:clamp(.8125rem,.7966rem + .0654vw,.875rem);margin-bottom:.625rem;text-transform:uppercase}
.t4s .c-services__list .service__title{color:rgba(var(--color-white));font-size:clamp(1.5rem,1.2451rem + 1.0458vw,2.5rem);margin-bottom:.9375rem}
.t4s .c-services__list .service__description{font-size:clamp(1rem,.9841rem + .0654vw,1.0625rem);margin-bottom:1.25rem}
.t4s .c-services__list .service__link{color:rgba(var(--color-white));font-size:clamp(1rem,.9841rem + .0654vw,1.0625rem);font-weight:var(--font-weight-bold);margin-top:auto;text-decoration:underline;text-underline-offset:.375rem}
.t4s .c-services__list .service__link:hover{opacity:.6}
.t4s .c-services--white{background:rgba(var(--color-white));color:inherit}
.t4s .c-services--white .c-services__header .title{color:rgba(var(--color-secondary))}
.t4s .c-services--white .c-services__list .service__link, .t4s .c-services--white .c-services__list .service__title{color:rgba(var(--color-secondary))}
.t4s .c-services--white .c-services__list .service__link:hover{color:rgba(var(--color-primary));opacity:1}
.t4s .c-events__header .subtitle{color:rgba(var(--color-primary))}
.t4s .c-events__header .title{color:rgba(var(--color-secondary));font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem);margin-top:-.05em;padding-top:.05em}
.t4s .footer__navigation .btn--nav{margin-top:5rem}
.t4s .page-404__inner .btn{margin-inline:auto;margin-top:1.875rem}
.t4s .page-template-page-clubs .page-clubs__slider .club-card__content .title{font-size:clamp(2.375rem,1.3873rem + 4.0523vw,6.25rem);margin-bottom:1.25rem}
.t4s .page-template-page-form .page-form__wrapper .btn--back{margin-bottom:1.875rem}
@media (min-width:576px){.t4s .container{max-width:540px}}
@media (min-width:768px){.t4s .container{max-width:720px}
.t4s .col-md-6{flex:0 0 auto;width:50%}
.t4s .white-component{padding-block:6.25rem}
.t4s .light-blue-component{padding-block:6.25rem}
.t4s .c-title-content-image{padding-block:6.25rem}
.t4s .c-content-image__content{padding-block:6.25rem}
.t4s .c-hero-page__wrapper{padding-bottom:31.25rem;padding-top:7.5rem}
.t4s .c-hero-page__image{height:28.125rem;width:calc(100% - 2.5rem)}
.t4s .c-partners__wrapper .slider .swiper-slide{padding-inline:0}
.t4s .c-partners-grid__tile{padding:2.1875rem 1.5625rem}
.t4s .c-cta__avatar{width:30vw}
.t4s .c-cta__wrapper{padding-bottom:6.25rem}
.t4s .c-cta__wrapper form{width:25rem}
.t4s .c-archive-post__header{padding-block:9.375rem 6.25rem}
.t4s .c-archive-faq__header{padding-block:9.375rem 6.25rem}
.t4s .c-hero-contact__wrapper{padding-bottom:5rem;padding-top:9.375rem}
.t4s .c-hero-contact__grid{gap:1.875rem;grid-template-columns:repeat(2,1fr)}
.t4s .c-usps .container-grid{row-gap:3.125rem}
.t4s .c-usps__item{grid-column:span 1;padding-right:1.5625rem}
.t4s .c-usps--dark{padding-block:6.25rem}
.t4s .c-services{padding-block:6.25rem}
.t4s .c-services__list{-moz-column-gap:1.875rem;column-gap:1.875rem;grid-template-columns:repeat(2,1fr);margin-top:5rem;row-gap:3.75rem}}
@media (min-width:992px){.t4s .container{max-width:960px}
.t4s .col-lg-4{flex:0 0 auto;width:33.33333333%}
.t4s .col-lg-6{flex:0 0 auto;width:50%}
.t4s .col-lg-8{flex:0 0 auto;width:66.66666667%}
.t4s .offset-lg-1{margin-left:8.33333333%}
.t4s .offset-lg-7{margin-left:58.33333333%}
.t4s p.subtitle{margin-bottom:2.8125rem}
.t4s .container-grid{grid-template-columns:23.65% 26.35% 26.35% 23.65%;max-width:108.375rem;width:90.94%}
.t4s .container-grid .sm-full{grid-column:span 4}
.t4s .container-grid .lg-1-2-3{grid-column:1/4}
.t4s .container-grid .lg-2-3{grid-column:2/4}
.t4s .container-grid .lg-1{grid-column:1/2}
.t4s .container-grid .lg-3{grid-column:3/4}
.t4s .container-grid .lg-4{grid-column:4/5}
.t4s .container-grid .lg-half{grid-column:span 2}
.t4s .container-grid .lg-half-2{grid-column:3/5}
.t4s .container-grid .lg-full{grid-column:span 4}
.t4s .white-component{padding-block:11.875rem}
.t4s .light-blue-component{padding-block:11.875rem}
.t4s .btn{gap:.625rem;height:3.125rem;padding-inline:1.25rem}
.t4s .btn--nav{padding-block:1.125rem}
.t4s .btn--back{margin-bottom:0}
.t4s .article-content>*{margin-bottom:.9375rem}
.t4s .article-content blockquote+h2, .t4s .article-content blockquote+h3, .t4s .article-content blockquote+h4, .t4s .article-content blockquote+h5, .t4s .article-content blockquote+h6, .t4s .article-content p+h2, .t4s .article-content p+h3, .t4s .article-content p+h4, .t4s .article-content p+h5, .t4s .article-content p+h6{margin-top:1.875rem}
.t4s .article-content p+h1, .t4s .article-content p+h2, .t4s .article-content p+h3, .t4s .article-content p+h4, .t4s .article-content p+h5, .t4s .article-content p+h6, .t4s .article-content ul+h1, .t4s .article-content ul+h2, .t4s .article-content ul+h3, .t4s .article-content ul+h4, .t4s .article-content ul+h5, .t4s .article-content ul+h6{margin-top:3.125rem}
.t4s .article-content ul{margin-top:1.875rem}
.t4s nav.buttons{gap:.625rem;margin-top:1.875rem}
.t4s .card-vacancy__left .title{margin-top:.9375rem}
.t4s .card-trainer__left .title{margin-top:.5rem}
.t4s .card-pro-player__left .title{margin-top:.9375rem}
.t4s .c-featured-posts__functions>.swiper-buttons>.swiper-button{height:3.125rem;width:3.125rem}
.t4s .c-featured-posts__functions>.swiper-buttons>.swiper-button .icon{height:.75rem;width:.75rem}
.t4s .c-title-content-image{padding-block:11.875rem}
.t4s .c-title-content-image__top .title{margin-bottom:9.375rem}
.t4s .c-title-content-image__content{grid-column:span 1}
.t4s .c-title-content-image__content .buttons{margin-top:5.3125rem}
.t4s .c-title-content-image__image{grid-column:3/5;margin-top:0}
.t4s .c-title-content-image--image-left .c-title-content-image__content{grid-column:4/5;grid-row:1}
.t4s .c-title-content-image--image-left .c-title-content-image__image{grid-column:1/3;grid-row:1}
.t4s .c-content-image{background:unset}
.t4s .c-content-image__content{display:flex;flex-direction:column;justify-content:center;padding-block:12.5rem}
.t4s .c-content-image__content .title{margin-bottom:3.75rem}
.t4s .c-content-image__content .navigation{margin-top:3.125rem}
.t4s .c-content-image__content .navigation>li a{padding-block:1.125rem}
.t4s .c-content-image__content .content{max-width:25.9375rem}
.t4s .c-content-image__content .buttons{margin-top:5.3125rem}
.t4s .c-content-image__image{bottom:0;height:calc(100% - 6.25rem);position:absolute;right:0;width:50%}
.t4s .c-content-image:before{display:block}
.t4s .c-content-image.style-component-light-blue{background:unset}
.t4s .c-hero-page{padding-top:22vh}
.t4s .c-hero-page:before{height:calc(100% - 6.25rem)}
.t4s .c-hero-page__icon{display:block;grid-column:4/5}
.t4s .c-hero-page__wrapper{justify-content:flex-end;padding-bottom:0;padding-top:0}
.t4s .c-hero-page__wrapper .container-grid .content{margin-bottom:0;margin-top:-2.8125rem}
.t4s .c-hero-page__wrapper .container-grid .buttons{flex-direction:row;flex-wrap:nowrap;margin-bottom:0;margin-top:3.75rem;width:-moz-max-content;width:max-content}
.t4s .c-hero-page__wrapper .container-grid .buttons .btn{flex:0 0 auto}
.t4s .c-hero-page__wrapper .container-grid .title{grid-column:span 4;margin-bottom:0}
.t4s .c-hero-page__wrapper .container-grid .title .second-title{text-align:right}
.t4s .c-hero-page__wrapper .container-grid .content-wrapper{grid-column:span 1}
.t4s .c-hero-page__image{height:44.6875rem;margin-right:calc(50% - 50vw);margin-top:-4.6875rem;position:relative;width:calc(50% + 50vw)}
.t4s .c-hero-page--reversed .c-hero-page__icon{display:block;grid-column:1/2}
.t4s .c-hero-page--reversed .c-hero-page__wrapper .title .first-title{display:block;text-align:right}
.t4s .c-hero-page--reversed .c-hero-page__wrapper .title .second-title{margin-left:0;text-align:left}
.t4s .c-hero-page--reversed .c-hero-page__wrapper .content-wrapper{grid-column:4/5;grid-row:1}
.t4s .c-hero-page--reversed .c-hero-page__image{grid-column:1/3;grid-row:1}
.t4s .c-hero-compact .buttons{margin-top:2.5rem}
.t4s .c-content__wrapper figure{margin-top:5rem}
.t4s .c-marquee-text__inner>.wrapper{animation-duration:120s;letter-spacing:-.1875rem}
.t4s .c-marquee-text__inner>.wrapper p{letter-spacing:2px}
.t4s .c-marquee-text__inner>.wrapper p:after{margin-top:-2.125rem}
.t4s .c-slider__slider .swiper-buttons{display:none}
.t4s .c-slider__slider .card__thumbnail{margin-bottom:3.75rem}
.t4s .c-slider__slider .card__content .text-btn{margin-top:1.875rem}
.t4s .c-gallery__header{margin-bottom:5rem}
.t4s .c-gallery__slider .swiper-buttons{display:none}
.t4s .c-partners__wrapper{padding-block:1.5625rem}
.t4s .c-partners__wrapper .slider .swiper-wrapper{gap:7.5rem}
.t4s .c-partners__wrapper .slider .swiper-slide{padding-inline:0}
.t4s .c-partners__wrapper .slider .swiper-slide .partner .thumb img{height:7.5rem}
.t4s .c-partners-grid .title{margin-bottom:3.125rem}
.t4s .c-partners-grid__grid{grid-template-columns:repeat(4,1fr)}
.t4s .c-partners-grid__tile{padding:2.8125rem 1.875rem}
.t4s .c-partners-grid__tile .thumb img{max-height:3.75rem}
.t4s .c-cta:before{height:calc(100% - 6.25rem)}
.t4s .c-cta__avatar{width:13.8541666667vw}
.t4s .c-cta__marquee{margin-top:-6.25rem}
.t4s .c-cta__wrapper{padding-bottom:11.875rem}
.t4s .c-cta__wrapper .article-content{padding-block:0}
.t4s .c-cta__wrapper form{margin-top:3.75rem}
.t4s .c-featured-vacancy__header{margin-bottom:6.25rem}
.t4s .c-archive-post{padding-bottom:9.375rem}
.t4s .c-archive-post__header{padding-block:14.75rem 9.375rem}
.t4s .c-archive-post__items{padding-top:9.375rem}
.t4s .c-archive-faq__header{padding-block:14.75rem 9.375rem}
.t4s .c-archive-faq__filter{margin-bottom:3.125rem}
.t4s .c-archive-faq__items{padding-block:9.375rem}
.t4s .c-archive-faq__items .faq-wrapper:not(:last-child){margin-bottom:3.125rem}
.t4s .c-hero-contact__wrapper{padding-bottom:6.25rem;padding-top:11.25rem}
.t4s .c-hero-contact__title{margin-bottom:3.125rem}
.t4s .c-hero-contact__title .second-title{text-align:right}
.t4s .c-hero-contact__content{margin-bottom:5rem;width:50%}
.t4s .c-hero-contact__buttons{margin-bottom:5rem}
.t4s .c-hero-contact__grid{gap:2.5rem;grid-template-columns:repeat(3,1fr)}
.t4s .c-featured-trainer__header{margin-bottom:5rem}
.t4s .c-featured-trainer__filter .facetwp-checkbox{height:3.125rem;padding-inline:1.25rem}
.t4s .c-facilities__wrapper .facilities-list>li{gap:.625rem;height:3.125rem;padding-inline:1.25rem}
.t4s .c-facilities+.c-gallery{margin-top:-6.25rem}
.t4s .c-clubs-grid__header .title{margin-bottom:5rem}
.t4s .c-clubs-grid__club{margin-bottom:5rem}
.t4s .c-clubs-grid__club:nth-last-child(-n+2){margin-bottom:0}
.t4s .c-clubs-grid__club:nth-child(odd){padding-right:1.25rem}
.t4s .c-clubs-grid__club:nth-child(2n){padding-left:1.25rem}
.t4s .c-clubs-grid__image{margin-bottom:1.875rem}
.t4s .c-clubs-grid__name{margin-bottom:.9375rem}
.t4s .c-clubs-grid__usps{margin-bottom:2.1875rem}
.t4s .c-clubs-grid .buttons{gap:.9375rem}
.t4s .c-faq__header{margin-bottom:5rem}
.t4s .c-usps .container-grid{row-gap:5rem}
.t4s .c-usps__item{padding-right:2.8125rem}
.t4s .c-usps__item:last-child{padding-right:0}
.t4s .c-usps__item .image{aspect-ratio:unset;height:14.5rem;margin-bottom:2.1875rem}
.t4s .c-usps__item .subtitle{margin-bottom:.9375rem}
.t4s .c-usps__item .title{margin-bottom:1.25rem}
.t4s .c-usps--dark{padding-block:11.875rem}
.t4s .c-services{padding-block:11.875rem}
.t4s .c-services__header .title{margin-bottom:3.125rem}
.t4s .c-services__header .content{max-width:42.5rem}
.t4s .c-services__list{-moz-column-gap:2.8125rem;column-gap:2.8125rem;grid-template-columns:repeat(3,1fr);margin-top:6.875rem}
.t4s .c-services__list .service__image{margin-bottom:2.5rem}
.t4s .c-services__list .service__title{margin-bottom:1.25rem}
.t4s .page-template-page-clubs .page-clubs__slider .club-card__content .title{margin-bottom:4.375rem}
.t4s .page-template-page-form .page-form__image .swiper, .t4s .page-template-page-form .page-form__image .swiper-slide{height:100%}
.t4s .page-template-page-form .page-form__wrapper .btn--back{margin-bottom:3.125rem}}
@media (min-width:1200px){.t4s .container{max-width:1140px}}
/* da 992px il container torna largo come la griglia (.container-grid), come fa il tema con .u-0907:
   i tetti Bootstrap qui sopra rientravano il contenuto di 95px rispetto al titolo */
@media (min-width:992px){.t4s .container{max-width:calc(90.94% + 1.875rem);width:calc(90.94% + 1.875rem)}}
@media (min-width:1800px){.t4s .container{max-width:1746px;width:calc(90.94% + 1.875rem)}}
@media screen and (min-width:1920px){.t4s .c-hero-page{padding-top:15.375rem}}
@media (min-width:1400px){.t4s .c-usps__item .image{height:19.375rem}}

/* --- Adattamenti t4kit (non presenti nel tema originale) --- */
.t4s .c-partners__wrapper .c-marquee-text__inner>.wrapper{animation-duration:35s;font-size:inherit;letter-spacing:normal;text-transform:none}
.t4s .c-partners__wrapper .wrapper{align-items:center;display:flex;gap:3.125rem;padding-right:3.125rem}
.t4s .c-partners__wrapper .wrapper p:after{display:none}
.t4s .partner{align-items:center;display:flex;justify-content:center}
.t4s .partner img{height:3.4rem;max-width:14rem;object-fit:contain;transition:all .3s ease}
.t4s .partner:hover img{scale:1.08}
@media (min-width:992px){.t4s .c-partners__wrapper .wrapper{gap:7.5rem;padding-right:7.5rem}.t4s .partner img{height:4.2rem}}
.t4s .c-cta__avatar img{display:block}
/* Gallery/slider: fallback scroll-snap quando Swiper non è inizializzato */
.t4s .c-gallery__slider{margin-top:2.5rem}
.t4s .c-gallery__slider .swiper-wrapper:not(.swiper-initialized *){display:flex;gap:1.25rem}
.t4s [data-t4-slider]:not(.swiper-initialized) .swiper-wrapper{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.75rem;-webkit-overflow-scrolling:touch}
.t4s [data-t4-slider]:not(.swiper-initialized) .swiper-slide{flex:0 0 78%;scroll-snap-align:start}
@media (min-width:768px){.t4s [data-t4-slider]:not(.swiper-initialized) .swiper-slide{flex-basis:44%}}
@media (min-width:1200px){.t4s [data-t4-slider]:not(.swiper-initialized) .swiper-slide{flex-basis:31%}}
.t4s .c-gallery__slider .card__thumbnail img{aspect-ratio:3/2;height:auto;object-fit:cover;width:100%}
.t4s .facilities-list li svg{flex-shrink:0;height:1.6rem;width:1.6rem}
.t4s .c-partners-grid__tile .thumb img{max-height:3rem}
.t4s .c-gallery.light-blue-component,.t4s .c-gallery.light-blue-component .title{color:rgba(var(--color-text-dark))}

/* --- Card gara (calendario) — stessa impronta dei componenti del tema --- */
.t4s .c-races{position:relative}
.t4s .c-races__list{display:grid;gap:1.25rem;grid-template-columns:1fr;list-style:none;margin:2.5rem 0 0;padding:0}
.t4s .race-card{align-items:flex-start;background:rgba(var(--color-white));border:1px solid rgba(var(--color-black),.12);display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}
.t4s .race-card__date{color:rgba(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:clamp(.8125rem,.7966rem + .0654vw,.875rem);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.t4s .race-card__body{flex:1;min-width:0}
.t4s .race-card__title{font-size:clamp(1.25rem,1.1rem + .6vw,1.75rem);margin-bottom:.375rem}
.t4s .race-card__place{font-size:clamp(.9375rem,.9rem + .15vw,1.0625rem);opacity:.75}
.t4s .race-card__cats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.875rem}
.t4s .race-card__cat{border:1px solid rgba(var(--color-black),.18);font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.04em;padding:.25rem .625rem;text-transform:uppercase}
.t4s .race-card__side{align-items:flex-start;display:flex;flex-direction:column;gap:.75rem}
.t4s .race-card__cost{font-size:clamp(1.5rem,1.3rem + .8vw,2.25rem);font-weight:var(--font-weight-bold);line-height:1;white-space:nowrap}
@media (min-width:768px){
  .t4s .race-card{align-items:center;display:grid;gap:2rem;grid-template-columns:11rem 1fr auto;padding:1.75rem 2rem}
  .t4s .race-card__side{align-items:flex-end}
}
.t4s .c-races--dark{background:rgba(var(--color-secondary));color:rgba(var(--color-white))}
.t4s .c-races--dark .race-card{background:transparent;border-color:rgba(var(--color-white),.2)}
.t4s .c-races--dark .race-card__cat{border-color:rgba(var(--color-white),.25)}

/* --- Lista circuiti (pagina Circuiti) --- */
.t4s .c-tracks__list{display:grid;gap:2.5rem;grid-template-columns:1fr;list-style:none;margin:2.5rem 0 0;padding:0}
@media (min-width:768px){.t4s .c-tracks__list{grid-template-columns:repeat(2,1fr);gap:2.5rem 1.875rem}}
@media (min-width:1200px){.t4s .c-tracks__list{grid-template-columns:repeat(3,1fr);column-gap:2.8125rem}}
.t4s .track-card{display:flex;flex-direction:column}
.t4s .track-card__image{aspect-ratio:8/5;margin-bottom:1.25rem;object-fit:cover;width:100%;background:rgba(var(--color-black),.06)}
.t4s .track-card__region{color:rgba(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.05em;margin-bottom:.375rem;text-transform:uppercase}
.t4s .track-card__name{font-size:clamp(1.375rem,1.2rem + .7vw,1.875rem);margin-bottom:.5rem}
.t4s .track-card__text{font-size:clamp(.9375rem,.9rem + .15vw,1.0625rem);margin-bottom:1rem;opacity:.8}
.t4s .track-card__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-family:var(--font-family-body),monospace;font-size:.9rem;margin-top:auto;opacity:.7}

/* --- Mappa a piena larghezza --- */
.t4s .c-map{position:relative}
.t4s .c-map__frame{background:rgba(var(--color-background-blue),.35);border:1px solid rgba(var(--color-black),.12);margin-top:2.5rem;padding:1rem}
@media (min-width:992px){.t4s .c-map__frame{padding:2rem}}

/* --- Elenco contatti con logo (pagina Team) --- */
.t4s .c-contact-list__items{border-top:1px solid rgba(var(--color-black),.12);display:grid;gap:0;grid-template-columns:1fr;list-style:none;margin:2.5rem 0 0;padding:0}
@media (min-width:992px){.t4s .c-contact-list__items{grid-template-columns:repeat(2,1fr);column-gap:2.8125rem}}
.t4s .contact-item{align-items:center;border-bottom:1px solid rgba(var(--color-black),.12);display:flex;gap:1.25rem;padding:1.25rem 0}
.t4s .contact-item__logo{align-items:center;background:rgba(var(--color-black),.04);display:flex;flex:0 0 5.5rem;height:4rem;justify-content:center;margin:0;overflow:hidden}
.t4s .contact-item__logo img{max-height:3rem;max-width:4.5rem;object-fit:contain}
.t4s .contact-item__body{min-width:0}
.t4s .contact-item__name{font-size:clamp(1.125rem,1.05rem + .3vw,1.375rem);margin-bottom:.125rem}
.t4s .contact-item__role{color:rgba(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.03em;margin-bottom:.375rem;text-transform:uppercase}
.t4s .contact-item__links{font-size:1.1rem;opacity:.85}
.t4s .contact-item__links a{color:inherit;text-decoration:underline;text-underline-offset:.2rem}
.t4s .contact-item__links a:hover{color:rgba(var(--color-primary))}

/* Gli host dei componenti kit devono occupare tutta la riga: alcuni contenitori
   del tema sono flex e collasserebbero le card sul contenuto. */
[data-t4-calendar],[data-t4-tracks],[data-t4-track],[data-t4-news],[data-t4-standings],[data-t4-map],[data-t4-comparison],[data-t4-calculator],[data-t4-test],[data-t4-teamform],[data-t4-trackform],[data-t4-support],[data-t4-nx]{display:block!important;grid-column:1/-1;width:100%}
.t4s{width:100%}
/* il body del tema usa --color-text, mai definita: senza questo il testo dei blocchi
   resta nero puro invece del #0f1320 della palette (i blocchi scuri hanno il loro colore) */
.t4s{color:rgb(var(--color-text-dark))}
.t4s .c-races__list,.t4s .c-tracks__list{width:100%}

/* ============ RESPONSIVE ============
   Il container del tema (.u-0469) è una griglia a 2 colonne su mobile e 4 su
   desktop: ogni blocco che aggiungiamo deve dichiarare quanto occupa, altrimenti
   finisce in mezza colonna e il testo si strizza. */
.u-0469 > [data-t4-comparison],
.u-0469 > [data-t4-calculator],
.u-0469 > [data-t4-map],
.u-0469 > [data-t4-tracks],
.u-0469 > [data-t4-calendar],
.u-0469 > [data-t4-news],
.u-0469 > [data-t4-standings],
.u-0469 > [data-t4-test],
.u-0469 > [data-t4-teamform],
.u-0469 > [data-t4-trackform],
.u-0469 > [data-t4-support]{grid-column:1/-1}
/* candidatura circuito: 6 campi, su desktop due righe da 3 (con auto-fit a 1100px restava un campo da solo) */
@media (min-width:992px){[data-t4-trackform] .t4v-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media (max-width:767px){
  /* Sezioni del kit: una colonna piena, spaziature ridotte */
  .t4s .container-grid{grid-template-columns:1fr}
  .t4s .container-grid > *{grid-column:1/-1!important}
  .t4s .c-usps__item{padding-right:0}
  .t4s .c-services{padding-block:3rem}
  .t4s .c-services__list{gap:2.5rem;grid-template-columns:1fr}
  .t4s .c-clubs-grid__club{margin-bottom:2.5rem;padding-left:0;padding-right:0}
  .t4s .c-clubs-grid__club:last-child{margin-bottom:0}
  .t4s .c-content-image__content{padding-block:2.5rem}
  .t4s .c-content-image__image{aspect-ratio:16/10;height:auto;position:relative;width:100%}
  .t4s .c-contact-list__items{grid-template-columns:1fr}
  .t4s .c-tracks__list{grid-template-columns:1fr}
  .t4s .race-card{padding:1.25rem}
  .t4s .race-card__side{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}
  .t4s .c-cta__wrapper{padding-bottom:2.5rem}
  .t4s .buttons{flex-wrap:wrap}
  .t4s .btn{white-space:normal}
  /* il marquee gigante resta contenuto */
  .t4s .c-marquee-text{overflow-x:hidden}
}

/* Nessuna immagine o media può sfondare la colonna */
.t4s img,.t4s video,.t4s svg{max-width:100%}
.t4s .c-partners__wrapper{overflow-x:hidden}

/* ============ COERENZA COL TEMA (allineamento a XNRGY) ============ */

/* Reveal on scroll: equivalente CSS delle timeline GSAP del tema.
   L'attributo data-reveal lo mette t4kit.js: se il JS non gira, niente resta nascosto. */
@media (prefers-reduced-motion: no-preference){
  .t4s [data-reveal]{opacity:0;transform:translateY(var(--reveal-y,30px));
    transition:opacity var(--reveal-dur,.55s) cubic-bezier(.215,.61,.355,1) var(--reveal-delay,0s),
               transform var(--reveal-dur,.55s) cubic-bezier(.215,.61,.355,1) var(--reveal-delay,0s);
    will-change:opacity,transform}
  .t4s [data-reveal].is-revealed{opacity:1;transform:none}
}

/* Linee verticali di sfondo: materializzano la griglia a 4 colonne come nel tema */
.t4s .lines{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}
@media (min-width:992px){.t4s .lines{left:50%;max-width:108.375rem;transform:translateX(-50%);width:90.94%}}
.t4s .lines > div{background:rgba(var(--color-black),.06);height:100%;position:absolute;width:.0625rem;z-index:2}
.t4s .lines .line-1{display:none;left:23.65%}
.t4s .lines .line-2{left:50%;transform:translateX(-50%)}
.t4s .lines .line-3{display:none;right:23.65%}
@media (min-width:992px){.t4s .lines .line-1,.t4s .lines .line-3{display:block}}
.t4s .c-services:not(.c-services--white) .lines > div,
.t4s .c-usps--dark .lines > div,
.t4s .c-races--dark .lines > div,
.t4s .c-cta .lines > div{background:rgba(var(--color-white),.09)}
.t4s .c-facilities .lines{z-index:-1}

/* Hover: stessa convenzione dei componenti ereditati */
.t4s .track-card__image{transition:scale .2s ease}
.t4s .track-card:hover .track-card__image{scale:1.05}
.t4s .track-card__name,.t4s .race-card__title{transition:color .3s ease}
.t4s .track-card:hover .track-card__name,
.t4s .race-card:hover .race-card__title{color:rgba(var(--color-primary))}
.t4s .race-card{transition:border-color .3s ease}
.t4s .race-card:hover{border-color:rgba(var(--color-primary))}
.t4s .c-races--dark .race-card:hover{border-color:rgba(var(--color-white),.5)}
.t4s .contact-item__logo img{transition:opacity .3s ease}
.t4s .contact-item:hover .contact-item__logo img{opacity:.6}

/* Scala tipografica e spaziature del sistema (niente valori fuori ladder) */
.t4s .race-card{gap:1.25rem;padding:1.5625rem}
@media (min-width:768px){.t4s .race-card{gap:1.875rem;padding:1.875rem 2.1875rem}}
.t4s .race-card__title{font-size:clamp(1.5rem,1.3407rem + .6536vw,2.125rem);margin-bottom:.3125rem}
.t4s .race-card__place{font-size:clamp(1rem,.9841rem + .0654vw,1.0625rem)}
.t4s .race-card__cats{gap:.625rem;margin-top:.9375rem}
.t4s .race-card__cat{font-size:clamp(.95rem,.92rem + .08vw,1rem);letter-spacing:normal;padding:.3125rem .625rem}
.t4s .race-card__side{gap:.625rem}
.t4s .race-card__cost{font-size:clamp(1.5rem,1.2451rem + 1.0458vw,2.5rem)}
.t4s .race-card__date{font-size:clamp(.95rem,.92rem + .08vw,1rem);letter-spacing:normal}
.t4s .track-card__name{font-size:clamp(1.75rem,1.4314rem + 1.3072vw,3rem);margin-bottom:.625rem}
.t4s .track-card__text{font-size:clamp(1rem,.9841rem + .0654vw,1.0625rem);margin-bottom:.9375rem;opacity:1}
.t4s .track-card__region,.t4s .contact-item__role{font-size:clamp(.95rem,.92rem + .08vw,1rem);letter-spacing:normal}
.t4s .track-card__meta,.t4s .contact-item__links{font-size:clamp(.95rem,.92rem + .08vw,1rem);opacity:1}
.t4s .track-card__meta,.t4s .race-card__place{color:rgba(var(--color-secondary),.7)}
.t4s .contact-item__name{font-size:clamp(1.125rem,1.0931rem + .1307vw,1.25rem)}
.t4s .contact-item__logo{flex:0 0 6.25rem;height:3.125rem}
.t4s .c-map__frame{padding:.9375rem}
@media (min-width:992px){.t4s .c-map__frame{padding:1.875rem}}
/* le liste crescono con il viewport, come nel tema */
@media (min-width:768px){
  .t4s .c-races__list,.t4s .c-tracks__list,.t4s .c-contact-list__items,.t4s .c-map__frame{margin-top:3.75rem}
}
@media (min-width:992px){
  .t4s .c-races__list,.t4s .c-tracks__list,.t4s .c-contact-list__items,.t4s .c-map__frame{margin-top:5rem}
  .t4s .c-races__list{gap:1.875rem}
  .t4s .c-tracks__list{row-gap:5rem}
}

/* Grid: le tracce 1fr hanno min-width auto e non si comprimono sotto il
   contenuto (liste flex, parole lunghe): senza questo una card può allargare
   la colonna oltre il viewport. */
.t4s .container-grid > *,.t4s .row > *,.t4s .c-services__list > *,.t4s .c-tracks__list > *{min-width:0}
.t4s .facilities-list{flex-wrap:wrap}
.t4s .facilities-list > li{max-width:100%}
.t4s .title,.t4s .c-clubs-grid__name,.t4s .race-card__title,.t4s .track-card__name{overflow-wrap:break-word}
/* Le pillole della lista icone nel tema sono etichette brevi ad altezza fissa:
   con testi più lunghi devono poter andare a capo invece di sfondare. */
.t4s .c-facilities__wrapper .facilities-list > li{height:auto;min-height:3.125rem;padding-block:.625rem;white-space:normal}
/* stesse pillole a bordo leggero degli altri chip del sito (erano riquadri col bordo nero);
   raggio = metà dell'altezza minima, così su più righe restano rettangoli arrotondati.
   main .fh-0207 .fh-0444 è la stessa lista nel markup del tema (kart, noleggio) */
.t4s .c-facilities__wrapper .facilities-list>li,main .fh-0207 .fh-0444>li{background:transparent;border-color:rgba(var(--color-black),.18);border-radius:1.5625rem}

/* --- Componenti del framework portati a metà: regole base mancanti --- */
.t4s .c-hero-compact{background:rgba(var(--color-secondary));color:rgba(var(--color-white));padding-block:7.1875rem 3.75rem;position:relative}
@media (min-width:768px){.t4s .c-hero-compact{padding-block:9.375rem 6.25rem}}
@media (min-width:992px){.t4s .c-hero-compact{padding-block:14.75rem 9.375rem}}

.t4s .c-content-list-cta__list{list-style-type:none;margin-bottom:0;padding-left:0}
.t4s .c-content-list-cta__list .item{border-bottom:1px solid #000;display:flex;flex-direction:column;gap:1.25rem;padding-block:1.875rem}
.t4s .c-content-list-cta__list .item:first-child{border-top:1px solid #000}
.t4s .c-content-list-cta__list .item .description{font-size:clamp(1rem,.9841rem + .0654vw,1.0625rem)}
@media (min-width:992px){.t4s .c-content-list-cta__list .item{align-items:center;flex-direction:row;gap:3.125rem;justify-content:space-between;padding-block:2.5rem}}
.t4s .c-content-list-cta__image{display:block;margin-bottom:.9375rem;max-height:12.5rem;object-fit:cover;width:100%}

.t4s .card-post{display:grid;gap:1.25rem;grid-template-columns:50% 50%}
@media (min-width:768px){.t4s .card-post{gap:1.875rem}}
.t4s .card-post__thumbnail{aspect-ratio:459/295;overflow:hidden}
.t4s .card-post__thumbnail img{height:100%;object-fit:cover;transition:scale .2s ease;width:100%}
.t4s .card-post:hover .card-post__thumbnail img{scale:1.05}
.t4s .card-vacancy{border-bottom:1px solid #a6aab3;padding-block:1.875rem}
@media (min-width:992px){.t4s .card-vacancy{padding-block:2.8125rem}}

/* Smooth scroll: motore unico (Lenis). Il tema imposta scroll-behavior:smooth,
   che va in conflitto con lo scroll programmatico di Lenis. */
html{scroll-behavior:auto!important}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* Striscia loghi partner: stessa resa in home e Team (.t4s .c-partners, dal
   CMS) e in Calendario e Classifiche (striscia del tema, .fh-0820). Sul grigio
   della pagina, non più sul salvia del tema (che resta alle altre sezioni
   .fh-0241); tessere bianche uguali, loghi alla stessa altezza e in scala di
   grigi, che tornano a colori al passaggio del mouse o col focus. */
.t4s .c-partners,main .fh-0820.fh-0241{background:transparent;padding-block:clamp(2.5rem,1.5rem + 3vw,5rem)}
.fh-0820.fh-0241 + .t4s > .c-cta:first-child{background:transparent}
/* padding verticale: l'anello del focus non viene tagliato; ai lati i loghi sfumano */
.t4s .c-partners .c-partners__wrapper,main .fh-0820.fh-0241 .fh-0278{background:transparent;border:0;overflow:hidden;padding-block:.375rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent);mask-image:linear-gradient(90deg,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent)}
.t4s .c-partners .swiper-slide{display:flex;align-items:center;justify-content:center;height:auto}
/* spazio tra le tessere: gap CSS senza Swiper e sulle strisce del tema
   (spaceBetween 0 in behavior.js); con il nostro Swiper lo dà spaceBetween
   (t4kit.js, logoGap(): stessi valori) */
.t4s .c-partners .c-partners__wrapper .slider .swiper-wrapper,main .fh-0820 .fh-0278 .fh-1521 .swiper-wrapper{gap:1rem}
.t4s .c-partners .c-partners__wrapper .slider.swiper-initialized .swiper-wrapper{gap:0}
.t4s .c-partners .c-partners__wrapper .slider .swiper-slide .partner,main .fh-0820 .fh-0278 .fh-1521 .swiper-slide .u-1138{align-items:center;background:#fff;border:1px solid rgba(var(--color-black),.12);border-radius:1rem;box-sizing:border-box;display:flex;height:5.5rem;justify-content:center;padding:1rem 1.25rem;position:relative;transition:border-color .3s ease;width:10.5rem}
.t4s .c-partners .c-partners__wrapper .slider .swiper-slide .partner .thumb,main .fh-0820 .fh-0278 .fh-1521 .swiper-slide .u-1138 .fh-1627{align-items:center;display:flex;height:100%;justify-content:center;margin:0;width:100%}
.t4s .c-partners .c-partners__wrapper .slider .swiper-slide .partner .thumb img,main .fh-0820 .fh-0278 .fh-1521 .swiper-slide .u-1138 .fh-1627 img{filter:grayscale(1);height:2.25rem;max-width:100%;object-fit:contain;opacity:.7;scale:none;transition:filter .3s ease,opacity .3s ease;width:auto}
.t4s .c-partners .c-partners__wrapper .slider .swiper-slide .partner:is(:hover,:focus-within),main .fh-0820 .fh-0278 .fh-1521 .swiper-slide .u-1138:is(:hover,:focus-within){border-color:rgba(var(--color-primary),.45)}
.t4s .c-partners .c-partners__wrapper .slider .swiper-slide .partner:is(:hover,:focus-within) .thumb img,main .fh-0820 .fh-0278 .fh-1521 .swiper-slide .u-1138:is(:hover,:focus-within) .fh-1627 img{filter:none;opacity:1;scale:none}
/* il link copre la tessera: stessi angoli e anello del focus come nei moduli */
.t4s .c-partners .partner .link,main .fh-0820 .u-1138 .fh-1649{border-radius:inherit}
.t4s .c-partners .partner .link:focus-visible,main .fh-0820 .u-1138 .fh-1649:focus-visible{outline:2px solid #2448d8;outline-offset:2px}
@media (min-width:992px){
  .t4s .c-partners .c-partners__wrapper .slider .swiper-wrapper,main .fh-0820 .fh-0278 .fh-1521 .swiper-wrapper{gap:1.5rem}
  .t4s .c-partners .c-partners__wrapper .slider .swiper-slide .partner,main .fh-0820 .fh-0278 .fh-1521 .swiper-slide .u-1138{height:8rem;padding:1.5rem 2rem;width:18rem}
  .t4s .c-partners .c-partners__wrapper .slider .swiper-slide .partner .thumb img,main .fh-0820 .fh-0278 .fh-1521 .swiper-slide .u-1138 .fh-1627 img{height:3.25rem}
}
@media (prefers-reduced-motion:reduce){
  .t4s .c-partners .c-partners__wrapper .slider .swiper-slide .partner,main .fh-0820 .fh-0278 .fh-1521 .swiper-slide .u-1138,
  .t4s .c-partners .c-partners__wrapper .slider .swiper-slide .partner .thumb img,main .fh-0820 .fh-0278 .fh-1521 .swiper-slide .u-1138 .fh-1627 img{transition:none}
}

/* Card circuito cliccabile: link che copre la card, come le card del tema */
.t4s .track-card--link{position:relative}
.t4s .track-card__link{inset:0;position:absolute;z-index:2}
.t4s .track-card__cta{align-items:center;color:rgba(var(--color-primary));display:inline-flex;font-family:var(--font-family-body),monospace;font-size:.9rem;gap:.375rem;letter-spacing:.02em;margin-top:.9375rem;text-transform:uppercase;transition:gap .3s ease}
.t4s .track-card--link:hover .track-card__cta{gap:.75rem}
.t4s .track-card--link:hover .track-card__image{scale:1.05}

/* --- Hero delle pagine interne ---
   Nel tema la foto risale di -4.6875rem (main .fh-0315) e, stando dopo nel
   DOM, arriva sotto la coda del titolo. Su XNRGY funziona perche' i titoli
   sono corti; i nostri occupano due righe piene, quindi le ultime parole
   finivano SOPRA la foto — bianco su cielo, illeggibile. Alzare solo lo
   z-index non basta: il testo resta sopra un fondo chiaro. Qui la risalita
   viene annullata, cosi' la foto comincia dove il titolo finisce. */
@media (min-width:992px){
  main .fh-0240 .u-0469 .fh-1618{position:relative;z-index:6}
  main .fh-0240 .u-0469.fh-0914{margin-top:1.875rem}
  main .fh-0240 .fh-0315{margin-top:0}
}

/* --- Form del sito (noleggio, richiedi informazioni, contatti…) ---
   Il markup dei form arriva dal plugin del tema, ma le sue classi (u-1531,
   fh-1629, u-0653…) non sono nel CSS che usiamo: i campi restavano nudi e
   impilati a tutta larghezza. Qui si stila per attributo — data-static-form
   è stabile e non dipende dalla classmap offuscata — così tutti i form del
   sito hanno lo stesso aspetto e si aggiornano in un punto solo. */
.t4-form{background:rgba(var(--color-white),.03);border:1px solid rgba(var(--color-white),.12);border-radius:.75rem;padding:1.875rem}
@media (min-width:768px){.t4-form{padding:2.5rem}}
form[data-static-form]{display:block}
form[data-static-form] [id^=staticform_fields]{display:grid;gap:1.25rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0}
@media (min-width:768px){form[data-static-form] [id^=staticform_fields]{grid-template-columns:repeat(2,1fr)}}
/* intro, textarea, consensi e pulsante occupano la riga intera */
form[data-static-form] [id^=staticform_fields] > *{grid-column:1/-1;min-width:0}
@media (min-width:768px){
  form[data-static-form] [id^=staticform_fields] > :is(:has(input:not([type=checkbox])),:has(select)){grid-column:auto}
}
form[data-static-form] :is(h2,h3){font-family:var(--font-family-headings),sans-serif;font-size:1.5rem;letter-spacing:-.01em;line-height:1.15;margin:0 0 .5rem;text-transform:uppercase}
form[data-static-form] [id$=_intro] p{margin:0;opacity:.7}
/* :not(#_) vale come un id: batte le regole del tema (.u-0585 form .u-0824 .u-0653
   .u-1531 …, fino a 0,6,2) senza !important. Base = sezione chiara del tema
   (#form .fh-0241: regolamenti, rivenditori, scheda-tecnica, manutenzione);
   variante scura = .t4-formsection (noleggio, richiedi-informazioni).
   Lo sfondo dei campi e' background-color: lo shorthand azzererebbe la freccia delle select;
   select:not([multiple]) pareggia il peso della regola dei campi, cosi' vince il padding a destra. */
form[data-static-form]:not(#_) label{display:block;font-family:var(--font-family-body),monospace;font-size:max(.875rem,11px);letter-spacing:.06em;line-height:1.45;margin-bottom:.5rem;opacity:.8;text-transform:uppercase}
form[data-static-form]:not(#_) label span{margin-left:.3em;opacity:1}
form[data-static-form]:not(#_) .u-0247::after{opacity:.8}
form[data-static-form]:not(#_) :is(input:not([type=checkbox],[type=radio],[type=submit],[type=hidden]),select,textarea){appearance:none;background-color:rgba(var(--color-white),.6);border:1px solid rgba(var(--color-black),.5);border-radius:.375rem;color:rgb(var(--color-black));font-family:var(--font-family-body),monospace;font-size:1.1rem;height:auto;padding:.8125rem .9375rem;transition:border-color .25s ease,background-color .25s ease;width:100%}
form[data-static-form]:not(#_) textarea{min-height:8.75rem;resize:vertical}
form[data-static-form]:not(#_) select:not([multiple]){background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 1.125rem) 55%,calc(100% - .75rem) 55%;background-repeat:no-repeat;background-size:.375rem .375rem;cursor:pointer;padding-right:2.5rem}
form[data-static-form]:not(#_) ::placeholder{color:rgba(var(--color-black),.5);opacity:1}
form[data-static-form]:not(#_) :is(input,select,textarea):focus-visible{border-color:rgb(var(--color-primary));outline:2px solid #2448d8;outline-offset:2px}
/* consenso privacy: casella e testo sulla stessa riga; la casella spuntata mostra il segno */
form[data-static-form] :has(> input[type=checkbox]),form[data-static-form] .t4-form__consent{align-items:flex-start;display:flex;gap:.625rem}
form[data-static-form]:not(#_) input[type=checkbox]{appearance:none;background:transparent;border:1px solid rgba(var(--color-black),.6);border-radius:.25rem;cursor:pointer;flex:0 0 auto;height:1.125rem;margin-top:.125rem;padding:0;width:1.125rem}
form[data-static-form]:not(#_) input[type=checkbox]:checked{background:rgb(var(--color-primary)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/80% no-repeat;border-color:rgb(var(--color-primary))}
form[data-static-form]:not(#_) input[type=checkbox] + label{font-size:max(.875rem,11.5px);letter-spacing:0;margin:0;opacity:.85;text-transform:none}
/* l'asterisco c'e' gia' sulla legenda "Consenso" (come su noleggio): il secondo andava a capo da solo sui telefoni */
form[data-static-form]:not(#_) input[type=checkbox] + label .u-0247::after{content:none}
/* errori di validazione (aria-invalid e .t4-ferr li scrive t4-forms.js) */
form[data-static-form]:not(#_) :is(input,select,textarea)[aria-invalid=true]{border-color:#b42318}
form[data-static-form] .t4-ferr{color:#b42318;font-size:max(.875rem,11px);margin:.375rem 0 0}
/* invio: pillola come gli altri pulsanti del sito */
form[data-static-form]:not(#_) [type=submit]{appearance:none;background:rgb(var(--color-primary));border:0;border-radius:999px;color:rgb(var(--color-white));cursor:pointer;font-family:var(--font-family-headings),sans-serif;font-size:1.15rem;height:auto;letter-spacing:.06em;line-height:1;margin-top:.625rem;min-height:3.75rem;padding:0 1.9rem;text-transform:uppercase;transition:background-color .25s ease,opacity .25s ease;width:auto}
form[data-static-form]:not(#_) [type=submit]:hover{background:#0e1a5a}
form[data-static-form]:not(#_) [type=submit]:disabled{cursor:progress;opacity:.6}
@media (max-width:991px){form[data-static-form]:not(#_) [type=submit]{font-size:1rem;min-height:3.25rem}}
/* variante scura (noleggio, richiedi-informazioni) */
.t4-formsection form[data-static-form]:not(#_) :is(input:not([type=checkbox],[type=radio],[type=submit],[type=hidden]),select,textarea){background-color:rgba(var(--color-white),.04);border-color:rgba(var(--color-white),.4);color:rgb(var(--color-white))}
.t4-formsection form[data-static-form]:not(#_) ::placeholder{color:rgba(var(--color-white),.55)}
.t4-formsection form[data-static-form]:not(#_) :is(input,select,textarea):focus-visible{border-color:#86a0ff;outline-color:#9fb4ff}
.t4-formsection form[data-static-form]:not(#_) input[type=checkbox]{border-color:rgba(var(--color-white),.6)}
.t4-formsection form[data-static-form]:not(#_) input[type=checkbox]:checked{background-color:#86a0ff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%230f1320' stroke-width='2'/%3E%3C/svg%3E");border-color:#86a0ff}
.t4-formsection form[data-static-form]:not(#_) .u-0247::after{color:#9fb4ff}
.t4-formsection form[data-static-form]:not(#_) :is(input,select,textarea)[aria-invalid=true]{border-color:#ffb4ab}
.t4-formsection form[data-static-form] .t4-ferr{color:#ffb4ab}
/* data (noleggio): icona del calendario chiara sul form scuro; su iOS il campo
   vuoto con appearance:none si schiaccia e la data va al centro */
.t4-formsection form[data-static-form]:not(#_) input[type=date]{color-scheme:dark}
form[data-static-form]:not(#_) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}
form[data-static-form]:not(#_) input[type=date]::-webkit-date-and-time-value{min-height:1.5em;text-align:left}
/* riepilogo sotto il pulsante: il rosso e il verde di prima (#dc2626, #16a34a) restavano sotto 4,5:1 */
form[data-static-form] .t4-fmsg{color:#b42318}
form[data-static-form] .t4-fmsg.is-ok{color:#166534}
.t4-formsection form[data-static-form] .t4-fmsg{color:#ffb4ab}
.t4-formsection form[data-static-form] .t4-fmsg.is-ok{color:#4ade80}
.t4-formsection form[data-static-form]:not(#_) [type=submit]:hover{background:#2448d8}
.t4-formsection form[data-static-form] option{background:rgb(var(--color-black));color:rgb(var(--color-white))}
/* Il form vive su fondo scuro: la sezione lo dichiara esplicitamente, come
   fanno le altre sezioni "scure" del kit, perche' il corpo pagina e' chiaro. */

/* Sezione che ospita un form: stesso ritmo verticale delle altre sezioni del kit */
.t4s .t4-formsection{background:rgb(var(--color-black));color:rgb(var(--color-white));padding-block:3.125rem;position:relative}
@media (min-width:992px){.t4s .t4-formsection{padding-block:6.25rem}}
.t4s .t4-formsection > .u-0469{display:block}
@media (min-width:992px){.t4s .t4-formsection .t4-form{margin-inline:auto;max-width:50rem}}

/* ==========================================================================
   Componenti dinamici (t4v-*) — tabella confronto, calcolatore, mappa,
   prenotazione test, supporto, form team.
   Erano stilizzati dentro t4-vetrina.js con valori propri (blu #1f6fe0,
   pillole, font di sistema): fuori dal design system e impossibili da
   manutenere insieme al resto. Qui usano gli stessi token delle altre
   sezioni, così sito e componenti si aggiornano da un punto solo.
   ========================================================================== */
.t4v-card{background:rgba(var(--color-black),.03);border:1px solid rgba(var(--color-black),.12);border-radius:.75rem;margin:1.25rem 0;padding:1.5rem}
@media (min-width:768px){.t4v-card{padding:2rem}}
.t4v-card > h3:first-child{margin-top:0}
.t4v-card h3,.t4v-support h3{font-family:var(--font-family-headings),sans-serif;font-size:1.25rem;letter-spacing:-.01em;line-height:1.2;text-transform:uppercase}

/* tabella di confronto */
.t4v-table{border-collapse:collapse;margin:1.5rem 0;width:100%}
.t4v-table th,.t4v-table td{border-bottom:1px solid rgba(var(--color-black),.15);padding:.875rem 1rem;text-align:left}
.t4v-table thead th{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.06em;opacity:.6;text-transform:uppercase}
.t4v-table td:first-child{font-weight:600}
.t4v-table td:nth-child(2){color:rgb(var(--color-primary));font-weight:700}

/* campi e pulsanti: stessa resa dei form del tema */
.t4v-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(13.75rem,1fr))}
.t4v-field{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0;min-width:0}
.t4v-field label{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.06em;opacity:.75;text-transform:uppercase}
.t4v-field :is(input,select,textarea){appearance:none;background:rgba(var(--color-white),.6);border:1px solid rgba(var(--color-black),.2);border-radius:.375rem;color:rgb(var(--color-black));font-family:var(--font-family-body),monospace;font-size:1.1rem;padding:.8125rem .9375rem;transition:border-color .25s ease;width:100%}
/* appearance:none toglie la freccia nativa: la ridisegniamo, come nei form statici */
.t4v-field select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 1.125rem) 55%,calc(100% - .75rem) 55%;background-repeat:no-repeat;background-size:.375rem .375rem;cursor:pointer;padding-right:2.5rem}
.t4v-field :is(input,select,textarea):focus-visible{border-color:rgb(var(--color-primary));outline:2px solid #2448d8;outline-offset:2px}
.t4v-field textarea{min-height:7rem;resize:vertical}
/* errori dei moduli di candidatura (aria-invalid e .t4-ferr li scrive t4-vetrina.js) */
.t4v-field :is(input,select,textarea)[aria-invalid=true]{border-color:#b42318}
.t4v-field .t4-ferr{color:#b42318;font-size:max(.875rem,11px);margin:0}
.t4v-btn{background:rgb(var(--color-primary));border:0;border-radius:999px;color:rgb(var(--color-white));cursor:pointer;display:inline-block;font-family:var(--font-family-headings),sans-serif;font-size:1.15rem;letter-spacing:.06em;line-height:1;padding:1.2rem 1.9rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:background-color .25s ease,opacity .25s ease;white-space:nowrap}
.t4v-btn:hover{background:#0e1a5a;color:rgb(var(--color-white))}
/* una riga sola (su Supporto "Apri la chat" andava a capo nelle card strette), ma
   le etichette lunghe nella colonna della mappa ("Scheda completa del circuito")
   e sui telefoni ("Paga e prenota · totale") devono andare a capo, non uscire */
.t4v-btn--sm{white-space:normal}
.t4v-btn:disabled{cursor:wait;opacity:.6}
.t4v-btn:disabled{cursor:default;opacity:.5}
/* candidature (t4-vetrina.js): rosso e verde scuri, leggibili sulla card chiara;
   la prenotazione del test dà ancora i suoi colori in linea */
.t4v-msg{color:#b42318;display:none;font-weight:600;margin:.875rem 0 0}
.t4v-msg.is-ok{color:#166534}

/* filtri a chip */
.t4v-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}
.t4v-chip{background:transparent;border:1px solid rgba(var(--color-black),.25);border-radius:999px;color:inherit;cursor:pointer;font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.04em;padding:.5rem 1rem;text-transform:uppercase;transition:background .2s ease,border-color .2s ease}
.t4v-chip.on{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:rgb(var(--color-white))}

/* calcolatore */
.t4v-total{font-family:var(--font-family-headings),sans-serif;font-size:2.25rem;font-weight:400;letter-spacing:-.02em;margin:.75rem 0}
.t4v-break{font-size:.875rem;line-height:1.7;opacity:.75}
.t4v-detail{border-bottom:1px dashed rgba(var(--color-black),.2);display:flex;font-size:1.1rem;gap:1rem;justify-content:space-between;padding:.5rem 0}
/* telefono ed email nella scheda della mappa (link tel:/mailto: da t4-vetrina.js) */
.t4v-detail a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.t4v-detail a:hover{color:#2448d8}

/* mappa circuiti — i colori dei pin sono letti da t4-vetrina.js */
:root{--t4-pin-track:#192B88;--t4-pin-dealer:#0F766E;--t4-pin-team:#7C3AED}
.t4v-mapwrap{align-items:start;display:grid;gap:1.875rem;grid-template-columns:minmax(0,2.2fr) minmax(17.5rem,1fr)}
@media (max-width:900px){.t4v-mapwrap{grid-template-columns:1fr}}
.t4v-map{background:rgba(var(--color-black),.03);border:1px solid rgba(var(--color-black),.12);padding:.75rem}
.t4v-map svg{display:block;height:auto;max-height:80vh;width:100%}
.t4v-map path{fill:rgba(var(--color-primary),.09);stroke:rgba(var(--color-primary),.45);stroke-width:1}
.t4v-pin,.t4v-pin__dot{cursor:pointer;transition:r .15s ease,filter .15s ease}
/* il pin è un gruppo <g class="t4v-pin"> (area di tocco + punto): l'effetto va
   sul punto visibile .t4v-pin__dot */
.t4v-pin:hover .t4v-pin__dot{filter:brightness(1.15) drop-shadow(0 2px 6px rgba(0,0,0,.35))}
/* focus da tastiera: anello blu da 3px a schermo a ogni livello di zoom
   (non-scaling-stroke: lo spessore non segue il viewBox) */
[data-t4-map] .t4v-pin:focus-visible{outline:none}
/* dopo un clic o un tocco Chrome disegnava il suo quadrato blu di 44px attorno al punto */
[data-t4-map] .t4v-pin:focus{outline:none}
[data-t4-map] .t4v-pin:focus-visible .t4v-pin__dot{filter:drop-shadow(0 0 3px #2448d8);stroke:#2448d8;stroke-width:3px;vector-effect:non-scaling-stroke}
/* numero dei luoghi raggruppati nello stesso punto (misura impostata da t4-vetrina.js) */
.t4v-pin__n{dominant-baseline:central;fill:#fff;font-family:var(--font-family-body),monospace;font-weight:700;pointer-events:none;text-anchor:middle}
/* scelta tra i luoghi di un punto raggruppato */
.t4v-plist{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:1rem 0 0;padding:0}
.t4v-plist button{align-items:flex-start;background:transparent;border:1px solid rgba(var(--color-black),.2);border-radius:.5rem;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:.15rem;padding:.75rem 1rem;text-align:left;transition:border-color .2s ease;width:100%}
.t4v-plist button:hover{border-color:rgb(var(--color-primary))}
.t4v-plist span{font-size:.9rem;opacity:.7}
.t4v-place img{border-radius:.5rem;margin-bottom:.75rem;width:100%}
.t4v-place h3{margin:.25rem 0}
.t4v-place p{margin:.5rem 0}

/* giornate di test selezionabili */
.t4v-days{display:flex;flex-direction:column;gap:.625rem;margin:1.25rem 0}
.t4v-day{align-items:center;border:1px solid rgba(var(--color-black),.2);border-radius:.5rem;cursor:pointer;display:flex;gap:.875rem;padding:1rem 1.125rem;transition:border-color .2s ease}
.t4v-day input{accent-color:rgb(var(--color-primary));flex:0 0 auto}
.t4v-day.on{border-color:rgb(var(--color-primary));box-shadow:inset 0 0 0 1px rgb(var(--color-primary))}
/* test drive: extra, taglie sedile, totale, avvisi */
.t4v-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:620px){.t4v-grid--3{grid-template-columns:1fr 1fr}}
.t4v-hint{font-size:.875rem;margin:.25rem 0 .5rem;opacity:.7}
.t4v-extras{display:grid;gap:.625rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:1rem 0}
.t4v-extra{align-items:center;border:1px solid rgba(var(--color-black),.2);border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:.875rem 1rem;transition:border-color .2s ease}
.t4v-extra input{accent-color:rgb(var(--color-primary));flex:0 0 auto}
.t4v-extra span{flex:1}
.t4v-extra strong{font-size:.875rem;white-space:nowrap}
.t4v-extra.on{border-color:rgb(var(--color-primary));box-shadow:inset 0 0 0 1px rgb(var(--color-primary))}
.t4v-accept{border:0;padding:.5rem 0}
/* video briefing di sicurezza (04/11/2026): anteprima, clic = lettore YouTube; anche nella pagina Academy */
.t4v-brief__v{aspect-ratio:16/9;background:#0b1432;border-radius:.5rem;margin:.75rem 0 0;max-width:40rem;overflow:hidden;position:relative}
.t4v-brief__v img{height:100%;object-fit:cover;opacity:.75;width:100%}
.t4v-brief__v iframe{border:0;height:100%;width:100%}
.t4v-brief__play{align-items:center;background:rgb(var(--color-primary));border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:.5rem;left:50%;padding:.75rem 1.25rem;position:absolute;top:50%;transform:translate(-50%,-50%)}
.t4v-brief__play:focus-visible{outline:3px solid #fff;outline-offset:3px}
.t4v-seat{margin:.5rem 0 1rem}
.t4v-seat summary{cursor:pointer;font-size:.875rem;font-weight:600}
.t4v-seat__t{border-collapse:collapse;font-size:.875rem;margin:.75rem 0;width:100%}
.t4v-seat__t :is(th,td){border-bottom:1px solid rgba(var(--color-black),.12);padding:.45rem .5rem;text-align:left}
.t4v-total{align-items:baseline;border-top:1px solid rgba(var(--color-black),.15);display:flex;justify-content:space-between;margin:1rem 0;padding-top:1rem}
.t4v-total strong{font-size:1.5rem}
.t4v-notice{background:rgba(var(--color-primary),.08);border:1px solid rgba(var(--color-primary),.35);border-radius:.5rem;margin:0 0 1rem;padding:.875rem 1rem}
.t4v-notice--ok{background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.45)}
/* link dentro il testo di card e avvisi: blu e sottolineati a
   (il reset del tema li lasciava neri, uguali alla frase). Solo link senza classe:
   i chip social di Supporto stanno anche loro in un <p> della card */
.t4v-card p a:not([class]),.t4v-notice a:not([class]){color:rgb(var(--color-primary));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.t4v-card p a:not([class]):hover,.t4v-notice a:not([class]):hover{color:#2448d8}

/* card dei canali di supporto: minimo 17rem, così sotto i 992px (root 16px) sono 2 colonne
   e non 3 strette in cui titoli ed email escono dal bordo */
.t4v-support{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));margin:1.875rem 0}
.t4v-support .t4v-card{margin:0}
.t4v-support a.t4v-card{color:inherit;display:block;text-decoration:none;transition:border-color .2s ease}
.t4v-support a.t4v-card:hover{border-color:rgb(var(--color-primary))}
.t4v-support h3{margin:.25rem 0 .5rem}
.t4v-support p{font-size:1.15rem;line-height:1.5;margin:0;opacity:.75;overflow-wrap:anywhere}
.t4v-support h3{font-size:1.5rem}
.t4v-support a.t4v-card,.t4v-support .t4v-card{transition:border-color .2s ease,box-shadow .25s ease,transform .25s ease}
.t4v-support a.t4v-card:hover{box-shadow:0 14px 30px rgba(15,19,32,.1);transform:translateY(-3px)}

@media (max-width:760px){
  .t4v-table,.t4v-table tbody,.t4v-table tr,.t4v-table td{display:block;width:100%}
  .t4v-table thead{left:-9999px;position:absolute}
  .t4v-table tr{border:1px solid rgba(var(--color-black),.2);margin:0 0 .75rem;padding:.35rem .9rem}
  .t4v-table td{border:0;border-bottom:1px dashed rgba(var(--color-black),.18);display:flex;gap:1rem;justify-content:space-between;padding:.55rem 0;text-align:right}
  .t4v-table td:last-child{border-bottom:0}
  .t4v-table td:before{content:attr(data-th);font-size:.72rem;letter-spacing:.04em;opacity:.6;text-align:left;text-transform:uppercase}
  .t4v-table td:first-child{font-size:1.02rem;font-weight:700;justify-content:flex-start;text-align:left}
  .t4v-table td:first-child:before{display:none}
  .t4v-grid,.t4v-support{grid-template-columns:1fr}
  .t4v-btn{white-space:normal}
  .t4v-detail{flex-direction:column;gap:.15rem}
  .t4v-detail strong{text-align:left}
  .t4v-day{align-items:flex-start;flex-wrap:wrap}
  .t4v-total{font-size:1.75rem}
  .t4v-card{padding:1.25rem}
}

/* --- Header: menu in flusso invece che centrato in assoluto ---
   Il tema centra il menu con position:absolute e mette i bottoni a destra:
   tra 992 e 1500px le due cose si sovrappongono ("Contatti" finiva sotto
   "Prenota un test"). Sotto i 1500px il menu entra nel flusso flex, allineato
   a destra prima dei bottoni. Con l'header a pillola vale
   a ogni larghezza desktop: centrato sullo schermo, sopra i 1500px il menu
   usciva dalla pillola e finiva sotto "Prenota un test". */
@media (min-width:992px){
  header .fh-0431>.fh-0805{left:auto;margin-left:auto;position:static;top:auto;transform:none}
  header .fh-0431>.fh-0805 .u-0430{gap:clamp(.875rem,1.5vw,1.75rem)}
  header .fh-0431 .fh-0553{flex:none;margin-left:1.25rem}
}
@media (min-width:992px) and (max-width:1199px){
  header .fh-0431>.fh-0805 .u-0430 .u-0908>a{font-size:.9375rem}
}

/* --- Mappa: zoom e trascinamento --- */
.t4v-map{position:relative;touch-action:none;user-select:none}
.t4v-map svg{cursor:grab}
.t4v-map.is-dragging svg{cursor:grabbing}
.t4v-zoom{display:flex;flex-direction:column;gap:.375rem;position:absolute;right:.75rem;top:.75rem;z-index:2}
.t4v-zoom button{align-items:center;background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.2);border-radius:999px;color:rgb(var(--color-black));cursor:pointer;display:flex;font:600 1.125rem/1 var(--font-family-body),monospace;height:2.25rem;justify-content:center;width:2.25rem;transition:background .2s ease}
.t4v-zoom button:hover{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:rgb(var(--color-white))}
.t4v-zoom button:disabled{cursor:default;opacity:.4}
/* telefoni: in alto a destra i pulsanti coprivano i pin del Veneto (Jesolo, fino a 520px);
   in basso, in fila, sopra l'avviso "Trascina…" che sotto i 480px va su due righe */
@media (max-width:575.98px){.t4v-zoom{bottom:3.5rem;flex-direction:row;top:auto}}
.t4v-map__hint{bottom:.5rem;font-family:var(--font-family-body),monospace;font-size:.875rem;left:.75rem;opacity:.55;pointer-events:none;position:absolute}

/* ==========================================================================
   Header a pillola, sempre visibile, in vetro (piano v3, P1)
   Il tema tiene l'header fisso a tutta larghezza e lo nasconde scorrendo
   (classi header--scrolled / header--scrolled-up messe dal suo JS, che
   spostano l'header con un transform). Qui l'header resta sempre in vista e
   il suo contenuto è raccolto in una pillola. Gli !important servono proprio
   contro i transform e le transizioni del tema. Il vetro (due toni, scuro e
   chiaro, scelti da t4-hero.js secondo la sezione sotto la pillola) e i
   colori stanno in t4-hero.css: qui solo forma e variabili --t4n-*.
   ========================================================================== */
header.fh-1516{
  background:transparent!important;
  height:auto!important;
  inset:0 0 auto 0!important;
  opacity:1!important;
  padding:.8rem 0 0!important;
  pointer-events:none;
  position:fixed!important;
  transform:none!important;
  translate:none!important;
  transition:none!important;
  visibility:visible!important;
  z-index:1000!important;
}
/* i contenitori bootstrap del tema non devono limitare né spostare la pillola */
header.fh-1516 .u-0907,header.fh-1516 .u-1747,header.fh-1516 .u-1515{margin:0!important;max-width:none!important;padding:0!important;width:100%!important}
header.fh-1516 .fh-0431{
  border-radius:999px;
  box-sizing:border-box;
  gap:1rem;
  margin:0 auto;
  min-height:3.5rem;
  padding:.45rem .5rem .45rem 1.25rem;
  pointer-events:auto;   /* vetro e larghezza sono in t4-hero.css, che si carica dopo */
}
header.fh-1516 img.t4-logo{height:auto;width:8.4375rem}
/* voci menu: colore del tono del vetro (bianco sul tono scuro, #0e1430 sul
   chiaro); l'!important batte i colori di link e hover del tema */
header.fh-1516 .fh-0805 a,header.fh-1516 .fh-0805 a:hover{color:var(--t4n-fg,rgb(var(--color-white)))!important}
/* bottoni a pillola come il contenitore */
header.fh-1516 .fh-0553{margin-left:auto;padding-right:0!important;transform:none!important}
header.fh-1516 .fh-0553>a.fh-1748{border-radius:999px}
/* bordo e riempimento del tema stanno su :before/:after: squadrati, la pillola li tagliava a pezzi */
header.fh-1516 .fh-0553>a.fh-1748:before,header.fh-1516 .fh-0553>a.fh-1748:after{border-radius:inherit}
header.fh-1516 .fh-0553>a.fh-0634{background:var(--t4n-btn,rgba(var(--color-white),.1));color:var(--t4n-fg,rgb(var(--color-white)))}
header.fh-1516 .fh-0553>a.fh-0634:hover{background:var(--t4n-btn-hover,rgba(var(--color-white),.18))}
header.fh-1516 .fh-0238{border-color:var(--t4n-line-strong,rgba(var(--color-white),.5));border-radius:999px;color:var(--t4n-fg,rgb(var(--color-white)))}
header.fh-1516 .fh-0238 .fh-0711>span{background-color:var(--t4n-fg,rgb(var(--color-white)))!important}
@media (max-width:991px){
  header.fh-1516{padding-top:.6rem!important}
  header.fh-1516 .fh-0431{min-height:3.25rem;padding:.35rem .4rem .35rem .9rem;width:calc(100% - 1.25rem)}
  header.fh-1516 img.t4-logo{width:6.875rem}
}
/* menu offcanvas aperto: il pannello copre la pagina, la pillola (con la X per
   chiudere) resta sopra il pannello, come nel tema; il padding di 5.5rem di
   .fh-0194 tiene le voci sotto la pillola */
.fh-0906{z-index:1001}
header.fh-1516.header--offcanvas-active{z-index:1002!important}
/* footer su telefono: due colonne da metà schermo, le voci di una parola sola
   (Regolamenti, Campionato) a 25px uscivano dalla colonna sotto i 400px */
@media (max-width:575.98px){footer.fh-1522 .fh-0313 ul:not(.fh-1135) a{font-size:min(1.5625rem,6.2vw)}}
/* telefono, email e link legali: in hover diventavano blu Bootstrap (email, legali)
   o blu primario (telefono, regola del tema), quasi invisibili sul fondo scuro */
footer.fh-1522 :is(.fh-0554,.fh-0471) a:hover{color:#9fb4ff}
/* sotto i 768px il copyright (nowrap nel tema) usciva dallo schermo e veniva tagliato:
   va a capo su una riga sua; i link legali diventano più facili da toccare */
@media (max-width:767.98px){
  footer.fh-1522 .fh-0471 ul>li.fh-0314{border-inline-end:0;flex-basis:100%;line-height:1.4;padding-right:0;white-space:normal}
  footer.fh-1522 .fh-0471 ul>li a{display:inline-block;padding-block:.5rem}
}

/* ==========================================================================
   Pagina Kart / Prenota un test: griglia di scelta (t4k-*); la scheda prodotto
   t4kp-* non c'è più (v4: blocco unico in t4-kart-select.css)
   (il vecchio carosello ricambi t4pt-* è stato sostituito da t4-shop.css, P2.4)
   ========================================================================== */
[data-t4-kart]{display:block!important;grid-column:1/-1;width:100%}
.t4s .t4k{padding-block:3.125rem;position:relative}
@media (min-width:992px){.t4s .t4k{padding-block:6.25rem}}
.t4k-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;margin-top:2.5rem}
@media (min-width:640px){.t4k-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.t4k-grid{gap:1.5rem;grid-template-columns:repeat(3,1fr)}}
@keyframes t4k-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
/* ingresso: reveal su scroll di t4kit (REVEAL_LISTS). Il sollevamento usa
   translate: transform resta al reveal, che con is-revealed lo forza a none */
.t4k-card{background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.1);border-radius:1rem;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:translate .35s cubic-bezier(.215,.61,.355,1),box-shadow .35s ease,border-color .35s ease}
.t4k-card:hover{border-color:rgba(var(--color-primary),.5);box-shadow:0 18px 40px rgba(15,19,32,.14);translate:0 -4px}
/* con data-reveal vale la transition del reveal: si rimettono quelle dell'hover */
@media (prefers-reduced-motion:no-preference){.t4s .t4k-card[data-reveal]{transition:opacity var(--reveal-dur,.55s) cubic-bezier(.215,.61,.355,1) var(--reveal-delay,0s),transform var(--reveal-dur,.55s) cubic-bezier(.215,.61,.355,1) var(--reveal-delay,0s),translate .35s cubic-bezier(.215,.61,.355,1),box-shadow .35s ease,border-color .35s ease}}
.t4k-card__hit{inset:0;position:absolute;z-index:2;background:none;border:0;cursor:pointer}
.t4k-card__hit:focus-visible{outline:2px solid rgb(var(--color-primary));outline-offset:-2px}
.t4k-card__media{aspect-ratio:4/3;background:rgba(var(--color-black),.04);margin:0;overflow:hidden}
.t4k-card__media img{display:block;height:100%;object-fit:cover;transition:scale .6s cubic-bezier(.215,.61,.355,1);width:100%}
.t4k-card:hover .t4k-card__media img{scale:1.05}
.t4k-card__body{display:flex;flex:1;flex-direction:column;gap:.5rem;padding:1.25rem 1.375rem 1.375rem}
.t4k-chip{align-self:flex-start;background:rgba(var(--color-primary),.1);border-radius:999px;color:rgb(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.08em;padding:.3rem .7rem;text-transform:uppercase}
.t4k-card__name{font-family:var(--font-family-headings),sans-serif;font-size:1.5rem;letter-spacing:-.01em;line-height:1.1;margin:.25rem 0 0;text-transform:uppercase}
.t4k-card__tagline{color:rgba(var(--color-black),.7);font-size:1.1rem;line-height:1.5;margin:0}
.t4k-card__foot{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:auto;padding-top:.75rem}
.t4k-card__price{font-family:var(--font-family-body),monospace;font-size:.9rem;font-weight:700}
.t4k-card__cta{align-items:center;color:rgb(var(--color-primary));display:inline-flex;font-family:var(--font-family-body),monospace;font-size:.9rem;gap:.375rem;letter-spacing:.02em;text-transform:uppercase;transition:gap .3s ease}
.t4k-card:hover .t4k-card__cta{gap:.75rem}

/* modalità selezione (Prenota un test): card scelta evidenziata */
.t4k-card__check{align-items:center;background:rgb(var(--color-primary));border-radius:999px;color:#fff;display:none;font-family:var(--font-family-body),monospace;font-size:.875rem;gap:.3rem;left:.875rem;letter-spacing:.06em;padding:.3rem .7rem;position:absolute;text-transform:uppercase;top:.875rem;z-index:3}
.t4k-card.is-selected{border-color:rgb(var(--color-primary));box-shadow:0 0 0 3px rgba(var(--color-primary),.2)}
.t4k-card.is-selected .t4k-card__check{display:inline-flex}
.t4v-model{align-items:center;background:rgba(var(--color-primary),.08);border:1px solid rgba(var(--color-primary),.25);border-radius:.5rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:0 0 1.25rem;padding:.75rem 1rem}
.t4v-model__label{font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.06em;opacity:.65;text-transform:uppercase}
.t4v-model strong{font-family:var(--font-family-headings),sans-serif;font-size:1.125rem;text-transform:uppercase}
.t4v-model__change{color:rgb(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:.9rem;margin-left:auto;text-decoration:underline}

/* componentistica: ricambi MP Kart Shop */
[data-t4-parts]{display:block!important;grid-column:1/-1;width:100%}

/* scorrimento orizzontale agganciato allo scroll (pagina Kart, Team) */
.t4hs{background:#0e1430;color:#fff;position:relative}
.t4hs__pin{display:flex;flex-direction:column;gap:2rem;justify-content:center;overflow:hidden;padding:4rem 0}
.t4hs.is-pinned .t4hs__pin{height:100vh;height:100svh;padding:6.5rem 0 3rem;position:sticky;top:0}
.t4hs__head{align-items:end;display:flex;flex-wrap:wrap;gap:1rem 3rem;justify-content:space-between;margin:0 auto;padding:0 1.25rem;width:min(1280px,100%)}
.t4hs__head .subtitle{color:#86a0ff}
.t4hs__head h2{font-family:var(--font-family-headings),sans-serif;font-size:clamp(3.4rem,5.4vw,7rem);letter-spacing:-.02em;line-height:.92;margin:.4rem 0 0;text-transform:uppercase}
.t4hs__head p{font-size:1.4rem;line-height:1.55;margin:0 0 .8rem;max-width:36rem;opacity:.72}
.t4hs__hint{align-items:center;display:inline-flex;font-family:var(--font-family-body),monospace;font-size:.95rem;gap:.5rem;letter-spacing:.1em;opacity:.6;text-transform:uppercase}
.t4hs__track{display:flex;gap:1.25rem;overflow-x:auto;padding:0 1.25rem;scroll-snap-type:x mandatory;scrollbar-width:none}
@media not all and (pointer:fine){.t4hs__track::-webkit-scrollbar{display:none}}
/* fila non agganciata (riduci movimento, o sotto i 768px) con il mouse: la rotella scorre
   la pagina, non la fila, quindi serve una barra visibile da trascinare */
@media (pointer:fine){.t4hs:not(.is-pinned) .t4hs__track{scrollbar-width:thin;scrollbar-color:rgba(159,180,255,.55) transparent;padding-bottom:1rem}}
.t4hs.is-pinned .t4hs__track{overflow:visible;padding:0 max(2rem,calc((100vw - 1280px) / 2 + 2rem));scroll-snap-type:none;will-change:transform}
.t4hs__item{border-radius:1rem;flex:0 0 auto;height:clamp(16rem,48vh,32rem);margin:0;overflow:hidden;position:relative;scroll-snap-align:center;width:auto;aspect-ratio:4/3}
.t4hs__item:nth-child(3n+2){aspect-ratio:3/4}
.t4hs.is-pinned .t4hs__item:nth-child(even){transform:translateY(1.75rem)}
/* max-width:none: il max-width:100% del tema sulle img taglierebbe il 116% e lascerebbe una striscia scura a destra */
.t4hs__item img{height:100%;left:-8%;max-width:none;object-fit:cover;position:absolute;top:0;width:116%;will-change:transform}
.t4hs__item figcaption{background:linear-gradient(transparent,rgba(5,8,22,.75));bottom:0;display:flex;font-size:.95rem;gap:.75rem;left:0;padding:2.5rem 1.1rem 1rem;position:absolute;right:0;font-size:1.25rem}
.t4hs__item figcaption b{color:#86a0ff;font-family:var(--font-family-body),monospace;font-size:1rem;font-weight:400;letter-spacing:.06em}
.t4hs__progress{background:rgba(255,255,255,.15);border-radius:2px;height:3px;margin:0 auto;overflow:hidden;width:min(1280px - 4rem,calc(100% - 2.5rem))}
.t4hs__progress span{background:#86a0ff;display:block;height:100%;transform:scaleX(0);transform-origin:left}
.t4hs:not(.is-pinned) .t4hs__progress{display:none}
/* da 992px testata, prima card e barra partono dalla griglia del tema (90,94%, max 108,375rem) */
@media (min-width:992px){
  .t4hs__head{padding:0;width:min(90.94%,108.375rem)}
  .t4hs__progress{width:min(90.94%,108.375rem)}
  .t4hs__track,.t4hs.is-pinned .t4hs__track{padding-inline:calc((100% - min(90.94%,108.375rem)) / 2)}
}
/* fila non agganciata col mouse: frecce al posto di "Scorri" (t4-hscroll.js) */
.t4hs.has-nav .t4hs__hint{display:none}
.t4hs__nav{display:flex;gap:.75rem;margin-top:1rem}
.t4hs__nav[hidden]{display:none}
.t4hs__arrow{align-items:center;background:#fff;border:0;border-radius:999px;color:#0e1430;cursor:pointer;display:flex;height:3.6rem;justify-content:center;transition:background .2s ease,opacity .2s ease;width:3.6rem}
.t4hs__arrow:hover{background:#9fb4ff}
.t4hs__arrow:disabled{cursor:default;opacity:.35}
@media (max-width:991.98px){.t4hs__arrow{height:2.75rem;width:2.75rem}}
/* la fila stessa prende il fuoco: anello dentro il bordo (fuori verrebbe tagliato) */
.t4hs__track:focus-visible{outline:2px solid #9fb4ff;outline-offset:-2px}

/* --- Cartellini prezzi (blocco CMS price_cards) --- */
[data-t4-maintenance],[data-t4-regulations]{display:block!important;grid-column:1/-1;width:100%}
.t4s .c-pricecards,.t4s .t4m,.t4s .t4r{padding-block:3.125rem;position:relative}
@media (min-width:992px){.t4s .c-pricecards,.t4s .t4m,.t4s .t4r{padding-block:6.25rem}}
.pricecards{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin:2rem 0 1.5rem}
@media (min-width:768px){.pricecards{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1100px){.pricecards{gap:1.25rem;grid-template-columns:repeat(4,1fr)}}
.pricecard{background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.12);border-radius:.75rem;display:flex;flex-direction:column;gap:.25rem;padding:1.25rem 1.25rem 1.125rem;position:relative;overflow:hidden}
.pricecard:before{background:rgb(var(--color-primary));content:"";height:.25rem;left:0;position:absolute;right:0;top:0}
.pricecard--hl{background:rgb(var(--color-primary));color:rgb(var(--color-white))}
.pricecard--hl:before{background:rgba(255,255,255,.35)}
.pricecard__label{font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.08em;opacity:.7;text-transform:uppercase}
.pricecard__price{font-family:var(--font-family-headings),sans-serif;font-size:clamp(1.5rem,2.4vw,2.125rem);letter-spacing:-.02em;line-height:1.05;margin-top:.25rem}
.pricecard__per{font-size:.9rem;opacity:.75}
.pricecard__note{border-top:1px dashed rgba(127,127,127,.35);font-size:.9rem;margin-top:.5rem;opacity:.7;padding-top:.5rem}

/* --- Guida manutenzione (pagina Kart) --- */
.t4m-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;margin:2rem 0 1.5rem}
@media (min-width:900px){.t4m-grid{grid-template-columns:repeat(2,1fr)}}
.t4m-card{background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.12);border-radius:.75rem;padding:1.25rem 1.375rem}
.t4m-card__title{font-family:var(--font-family-headings),sans-serif;font-size:1.25rem;margin:0 0 .75rem;text-transform:uppercase}
.t4m-list{list-style:none;margin:0;padding:0}
.t4m-row{border-top:1px dashed rgba(var(--color-black),.15);display:grid;gap:.25rem .75rem;grid-template-columns:1fr auto;padding:.55rem 0}
.t4m-task{font-size:1.1rem;grid-column:1/-1}
.t4m-task em{font-family:var(--font-family-body),monospace;font-size:.875rem;font-style:normal;opacity:.6}
.t4m-int{font-family:var(--font-family-body),monospace;font-size:.9rem;opacity:.65;text-transform:uppercase;letter-spacing:.03em}
.t4m-cost{font-family:var(--font-family-body),monospace;font-size:.9rem;font-weight:700;justify-self:end;color:rgb(var(--color-primary))}
@media (min-width:600px){.t4m-row{grid-template-columns:1fr 10rem 6rem}.t4m-task{grid-column:auto}.t4m-cost{text-align:right}}

/* --- Regolamenti (pagina Campionato) --- */
.t4r-group{margin-top:2rem}
.t4r-group__title{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.08em;margin:0 0 .75rem;opacity:.6;text-transform:uppercase}
.t4r-docs{display:grid;gap:.75rem;grid-template-columns:1fr}
@media (min-width:768px){.t4r-docs{grid-template-columns:repeat(2,1fr)}}
.t4r-doc{align-items:center;background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.12);border-radius:.75rem;color:inherit;display:flex;gap:.875rem;padding:1rem 1.125rem;text-decoration:none;transition:border-color .25s ease,transform .25s ease,color .25s ease}
.t4r-doc:hover{border-color:rgb(var(--color-primary));transform:translateY(-2px)}
.t4r-doc__ico{color:rgb(var(--color-primary));display:flex;flex:none}
.t4r-doc__title{flex:1;font-size:1.1rem;font-weight:600}
.t4r-doc__cta{align-items:center;color:rgb(var(--color-primary));display:inline-flex;font-family:var(--font-family-body),monospace;font-size:.9rem;gap:.3rem;letter-spacing:.04em}


/* --- Pagina Team: elenco team (host) --- */
[data-t4-teams]{display:block!important;grid-column:1/-1;width:100%}
/* ancore: le sezioni con id non finiscono sotto la pillola */
[id="per-i-piloti"],[id="diventa-team"],[id="partner"],[id="team-ufficiali"],[id="candidatura"]{scroll-margin-top:6rem}


/* gare nel popup del circuito (mappa) */
.t4v-place__h{font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.08em;margin:1rem 0 .5rem;opacity:.6;text-transform:uppercase}
.t4v-racelist{display:flex;flex-direction:column;gap:.375rem;list-style:none;margin:0;padding:0}
.t4v-racelist li{align-items:center;border-top:1px dashed rgba(var(--color-black),.15);display:grid;gap:.5rem;grid-template-columns:auto 1fr auto;padding:.4rem 0;font-size:.875rem}
.t4v-racelist__date{font-family:var(--font-family-body),monospace;font-size:.875rem;opacity:.65;text-transform:uppercase}
.t4v-racelist__btn{text-decoration:none}


/* --- Pagina Contatti (t4ct-*) --- */
.t4s .t4ct{padding-block:3.125rem;position:relative}
@media (min-width:992px){.t4s .t4ct{padding-block:6.25rem}}
.t4ct-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:900px){.t4ct-grid{grid-template-columns:1.3fr 1fr 1fr}}
.t4ct-card{background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.12);border-radius:1rem;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}
.t4ct-card--main{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:#fff}
.t4ct-card--main .subtitle{color:rgba(255,255,255,.7)}
.t4ct-title{font-family:var(--font-family-headings),sans-serif;font-size:1.5rem;line-height:1.1;margin:0;text-transform:uppercase}
.t4ct-card p{margin:0;opacity:.85}
.t4ct-list{list-style:none;margin:.25rem 0 0;padding:0}
.t4ct-list li{border-top:1px dashed rgba(127,127,127,.35);display:flex;flex-direction:column;gap:.15rem;padding:.6rem 0}
.t4ct-list span{font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.06em;opacity:.65;text-transform:uppercase}
.t4ct-list a{color:inherit;font-weight:600}
.t4ct-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}
/* sulla card blu i pulsanti del kit disegnano il fondo con :before/:after: vanno ricolorati lì */
.t4ct-card--main .btn--primary{color:rgb(var(--color-primary))}
.t4ct-card--main .btn--primary:before{background:#fff;border-color:#fff}
.t4ct-card--main .btn--primary:hover{color:#fff}
.t4ct-card--main .btn--outline{color:#fff}
.t4ct-card--main .btn--outline:before{border-color:rgba(255,255,255,.6)}
.t4ct-card--main .btn--outline:after{background:#fff;border-color:#fff}
.t4ct-card--main .btn--outline:hover{color:rgb(var(--color-primary))}
.t4ct-shortcuts{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.t4ct-shortcuts a{border-top:1px dashed rgba(var(--color-black),.15);color:inherit;display:block;padding:.65rem 0;text-decoration:none;transition:color .2s ease,padding .2s ease}
.t4ct-shortcuts a:after{content:" →";opacity:.5}
.t4ct-shortcuts a:hover{color:rgb(var(--color-primary));padding-left:.35rem}


/* --- News: host dell'elenco --- */
[data-t4-news]{display:block!important;grid-column:1/-1;width:100%}

/* --- Fascia CTA t4-testcta (oggi solo "Diventa circuito T4" su Circuiti) --- */
.t4s .t4-testcta{background:rgb(var(--color-primary));color:rgb(var(--color-white));padding-block:2.5rem;position:relative}
@media (min-width:992px){.t4s .t4-testcta{padding-block:3.5rem}}
.t4-testcta__wrap{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem 3rem;justify-content:space-between}
.t4s .t4-testcta .subtitle{color:rgba(var(--color-white),.7)}
.t4s .t4-testcta .title{color:rgb(var(--color-white));font-size:clamp(1.75rem,3vw,2.75rem);margin:.25rem 0 .5rem}
.t4-testcta__text{margin:0;max-width:40rem;opacity:.85}
/* il fondo del pulsante lo disegna :before (come sulla card blu di Contatti):
   il bianco messo sull'<a> restava sotto e il testo blu spariva sul blu */
.t4s .t4-testcta .t4-testcta__btn{color:rgb(var(--color-primary));flex:none}
.t4s .t4-testcta .t4-testcta__btn:before{background:rgb(var(--color-white));border-color:rgb(var(--color-white))}
.t4s .t4-testcta .t4-testcta__btn:hover{color:rgb(var(--color-white))}

/* ==========================================================================
   Pagina Calendario: timeline + banner gara con tendina (t4c-*)
   ========================================================================== */
[data-t4-calendario]{display:block!important;grid-column:1/-1;width:100%}
.t4s .t4c{padding-block:3.125rem;position:relative}
@media (min-width:992px){.t4s .t4c{padding-block:6.25rem}}

/* timeline: verticale su mobile, orizzontale scorrevole da tablet in su */
@media (min-width:768px){
}

/* elenco gare: banner + tendina */
.t4c-list{display:flex;flex-direction:column;gap:.75rem}
.t4c-race{background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.12);border-radius:1rem;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}
.t4c-race.is-next{border-color:rgba(var(--color-primary),.6)}
.t4c-race.is-open{box-shadow:0 18px 40px rgba(15,19,32,.1)}
/* h3 attorno al pulsante del banner (titolo della gara/pista): solo struttura, nessun aspetto suo */
.t4s .t4c-banner__h{color:inherit;font:inherit;letter-spacing:inherit;margin:0;text-transform:none}
.t4c-banner{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:grid;font:inherit;gap:.75rem 1rem;grid-template-columns:auto 1fr auto;padding:1rem 1.125rem;text-align:left;width:100%;transition:background .25s ease}
.t4c-banner:hover{background:rgba(var(--color-black),.03)}
.t4c-banner__n{font-family:var(--font-family-body),monospace;font-size:1rem;letter-spacing:.06em;opacity:.55}
.t4c-banner__main{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.t4c-banner__title{font-family:var(--font-family-headings),sans-serif;font-size:1.7rem;line-height:1.1;text-transform:uppercase}
.t4c-race.is-next .t4c-banner__title{font-size:2.3rem}
.t4c-banner__meta{font-size:1.15rem;opacity:.65}
.t4c-banner__date{font-family:var(--font-family-body),monospace;font-size:1.05rem;grid-column:2;opacity:.8}
.t4c-banner__state{border:1px solid rgba(var(--color-black),.2);border-radius:999px;font-family:var(--font-family-body),monospace;font-size:.9rem;grid-column:2;letter-spacing:.08em;padding:.25rem .6rem;text-transform:uppercase;width:fit-content}
.t4c-race.is-next .t4c-banner__state{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:#fff}
.t4c-race.is-done .t4c-banner__state{opacity:.6}
.t4c-banner__chev{align-items:center;display:flex;grid-column:3;grid-row:1/4;transition:transform .35s cubic-bezier(.215,.61,.355,1)}
.t4c-race.is-open .t4c-banner__chev{transform:rotate(180deg)}
/* da 992px: tra 900 e 991 (root a 16px, contenitore stretto) il titolo andava a capo
   parola per parola e finiva sotto la data, anche in Circuiti */
@media (min-width:992px){
  .t4c-banner{grid-template-columns:3.5rem 1fr 15rem 11rem 2.5rem;padding:1.6rem 2rem}
  .t4c-banner__date,.t4c-banner__state{grid-column:auto;justify-self:start}
  .t4c-banner__chev{grid-column:auto;grid-row:auto;justify-self:end}
  .t4c-race.is-next .t4c-banner{padding-block:1.75rem}
}
.t4c-race__body{border-top:1px solid rgba(var(--color-black),.1);padding:1.25rem 1.125rem 1.5rem}
@media (min-width:900px){.t4c-race__body{padding:1.75rem 1.5rem 2rem}}
.t4c-race__grid{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:700px){.t4c-race__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:700px){.t4c-race__grid > .t4c-box--format{grid-row:span 2}}
@media (min-width:1100px){.t4c-race__grid{grid-template-columns:1.15fr 1.15fr 1fr}.t4c-race__grid > .t4c-box--format{grid-row:auto}}
.t4c-box h4{font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.08em;margin:0 0 .75rem;opacity:.6;text-transform:uppercase}
.t4c-box dl{margin:0}
.t4c-row{border-bottom:1px dashed rgba(var(--color-black),.15);padding:.5rem 0}
.t4c-row dt{font-size:.9rem;opacity:.6;text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-family-body),monospace}
.t4c-row dd{font-size:1.1rem;margin:.15rem 0 0}
.t4c-prices{display:flex;flex-direction:column;gap:.375rem}
.t4c-price{align-items:baseline;border-bottom:1px dashed rgba(var(--color-black),.15);display:flex;font-family:var(--font-family-body),monospace;font-size:.9375rem;font-weight:700;justify-content:space-between;padding:.35rem 0}
.t4c-price em{font-size:.9rem;font-style:normal;font-weight:400;opacity:.65;text-transform:uppercase;letter-spacing:.04em}
.t4c-cats{font-size:.9rem;margin:.75rem 0 0;opacity:.65}
.t4c-race__links{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1.5rem}
/* "Scarica entry list" (cliente 28/10/2026, punto 51): menu delle categorie sotto il pulsante, nel flusso
   (la tendina della gara ha overflow:hidden e taglierebbe un menu sovrapposto); aperto va a capo */
.t4c-el[open]{flex-basis:100%}
.t4c-el>summary{list-style:none;cursor:pointer}
.t4c-el>summary::-webkit-details-marker{display:none}
.t4c-el__tag{background:#c8102e;border-radius:.25rem;color:#fff;font-size:.7rem;letter-spacing:.04em;margin-left:.5rem;padding:.1rem .4rem;text-transform:uppercase}
.t4c-el__menu{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.5rem;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.1);margin-top:.5rem;max-width:24rem;padding:.4rem}
.t4c-el__menu a{border-radius:.35rem;color:#111;display:flex;gap:.5rem;justify-content:space-between;padding:.55rem .7rem;text-decoration:none}
.t4c-el__menu a:hover,.t4c-el__menu a:focus-visible{background:rgba(31,111,224,.1)}
.t4c-el__menu small{opacity:.6}
.t4c-el__note{font-size:.78rem;margin:.3rem .7rem .4rem;opacity:.7}

/* --- Elenco gare del Calendario (giro 8/10): data + chiusura iscrizioni nel banner,
   striscia della chiusura in cima alla tendina, costi del weekend, divisorio "Oggi",
   scheletro di caricamento, cascata d'ingresso e tendina che scorre. Solo banner
   .t4c-banner--cal: Circuiti usa gli stessi banner con la sua colonna (lunghezza) --- */
.t4c-banner__when{align-items:flex-start;display:flex;flex-direction:column;gap:.3rem;grid-column:2;min-width:0}
.t4c-banner .t4-dl{font-size:.9rem}
@media (max-width:991px){.t4c-banner .t4-dl{font-size:.8125rem}}
@media (min-width:992px){
  /* 22rem: "Iscrizioni entro ven 9 ott, 18:00 ·" sta su una riga, "mancano N ore" sotto */
  .t4c-banner--cal{grid-template-columns:3.5rem minmax(0,1fr) 22rem 11rem 2.5rem}
  .t4c-banner__when{grid-column:auto}
}
/* gara in corso (il giorno di gara): in evidenza come la prossima */
.t4c-race.is-live{border-color:rgba(var(--color-primary),.6)}
.t4c-race.is-live .t4c-banner__title{font-size:2.3rem}
.t4c-race.is-live .t4c-banner__state{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:#fff}
/* chiusura iscrizioni in cima alla tendina, con il pulsante (rossa sotto le 48 ore) */
.t4c-race__deadline{align-items:center;background:rgba(var(--color-primary),.06);border:1px solid transparent;border-radius:1rem;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-bottom:1.25rem;padding:1rem 1.25rem}
.t4c-race__deadline.is-urgent{background:#fef3f2;border-color:#fecdca}
.t4c-race__deadline-l{font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.08em;opacity:.6;text-transform:uppercase}
.t4c-race__deadline .t4-dl{font-size:1.1rem}
/* cliente 23/10/2026: striscia = Iscrizione 130 € · chiusura · "Iscriviti in un passo"
   (pillola piena di t4-fx.css, 48px, la stessa misura in tutto il sito) */
.t4c-race__fact{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.t4c-race__fee{font-family:var(--font-family-headings);font-size:1.9rem;font-weight:500;line-height:1}
.t4c-race__deadline .t4c-go{margin-left:auto}
@media (min-width:600px){.t4c-race__deadline{column-gap:2.4rem}}
@media (max-width:599px){
  .t4c-race__deadline{align-items:flex-start;flex-direction:column}
  .t4c-race__deadline .t4-dl{font-size:.9375rem}
  .t4c-race__fee{font-size:1.6rem}
  .t4c-race__deadline .t4c-go{justify-content:space-between;margin-left:0;width:100%}
}
@media (max-width:399px){.t4c-race__deadline{padding:.9rem 1rem}}
/* cliente 28/10/2026, punti 50 e 28: gara conclusa, Risultati (anche per categoria),
   Classifica e News in cima alla tendina */
.t4c-race__rcats{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.15rem}
.t4c-race__rcats a{border:1px solid rgba(var(--color-primary),.3);border-radius:999px;color:rgb(var(--color-primary));font-size:.9375rem;font-weight:500;padding:.3rem .85rem;text-decoration:none;transition:background-color .2s,color .2s}
.t4c-race__rcats a:hover,.t4c-race__rcats a:focus-visible{background:rgb(var(--color-primary));color:#fff}
.t4c-race__rbtns{display:flex;flex-wrap:wrap;gap:.6rem;margin-left:auto}
@media (max-width:599px){.t4c-race__rbtns{margin-left:0;width:100%}.t4c-race__rbtns .btn{flex:1 1 auto;justify-content:center;text-align:center}}
/* format a passi numerati (1 Warm-up, 2 Qualifiche…): un filo unisce i cerchi */
.t4c-steps{display:grid;gap:.9rem;list-style:none;margin:0 0 .25rem;padding:0}
.t4c-steps li{align-items:center;display:flex;gap:.9rem;position:relative}
.t4c-steps li + li:before{background:rgba(var(--color-primary),.25);content:"";height:.9rem;left:1.2rem;position:absolute;top:-.9rem;width:2px}
.t4c-steps__n{align-items:center;background:rgb(var(--color-primary));border-radius:50%;color:#fff;display:inline-flex;flex:0 0 2.4rem;font-family:var(--font-family-headings);font-size:1.15rem;height:2.4rem;justify-content:center}
.t4c-steps__t{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.t4c-steps__t strong{font-family:var(--font-family-headings);font-size:1.25rem;font-weight:500;line-height:1.15}
.t4c-steps__t small{font-family:var(--font-family-body),monospace;font-size:.875rem;opacity:.65}
/* categorie con il peso minimo, una card per categoria */
.t4c-catw{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));list-style:none;margin:0;padding:0}
.t4c-catw li{background:rgba(var(--color-primary),.06);border-radius:.8rem;display:flex;flex-direction:column;gap:.15rem;padding:.7rem .85rem}
.t4c-catw strong{font-family:var(--font-family-body),monospace;font-size:.875rem;font-weight:400;letter-spacing:.06em;opacity:.7;text-transform:uppercase}
.t4c-catw span{font-family:var(--font-family-headings);font-size:1.5rem;line-height:1.1}
.t4c-catw small{font-family:var(--font-family-body),monospace;font-size:.875rem;opacity:.65}
/* costi del weekend: gara e prove libere */
.t4c-sub{color:rgb(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.06em;margin:.9rem 0 .25rem;text-transform:uppercase}
.t4c-box h4 + .t4c-sub{margin-top:0}
.t4c-price .is-tbd{font-style:italic;font-weight:400;opacity:.6}
/* "Oggi" tra le gare corse e quelle da correre */
.t4c-today{align-items:center;color:rgb(var(--color-primary));display:flex;font-family:var(--font-family-body),monospace;font-size:.875rem;gap:1rem;letter-spacing:.08em;margin:.5rem 0;text-transform:uppercase}
.t4c-today:before,.t4c-today:after{background:linear-gradient(90deg,rgba(var(--color-primary),0),rgb(var(--color-primary)));content:"";flex:1;height:2px}
.t4c-today:after{transform:scaleX(-1)}
@media (max-width:767px){.t4c-today{font-size:.75rem;gap:.75rem}}
/* scheletro finché l'API non risponde, poi l'elenco o un messaggio */
.t4c-skel{background:rgba(var(--color-black),.04);border:1px solid rgba(var(--color-black),.08);border-radius:1rem;height:7rem;overflow:hidden;position:relative}
.t4c-skel:after{animation:t4c-skel 1.4s linear infinite;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));content:"";inset:0;position:absolute;transform:translateX(-100%)}
@keyframes t4c-skel{to{transform:translateX(100%)}}
@media (max-width:899px){.t4c-skel{height:8.5rem}}
.t4c-empty{border:1px dashed rgba(var(--color-black),.25);border-radius:1rem;font-size:1.2rem;line-height:1.5;margin:0;padding:1.5rem 1.75rem}
.t4c-empty a{color:rgb(var(--color-primary));text-decoration:underline;text-underline-offset:.2rem}
/* cascata d'ingresso: i banner scendono uno dopo l'altro e si srotolano verso il basso.
   Riempimento "backwards": a fine animazione niente clip-path rimasto (taglierebbe
   l'ombra della gara aperta) */
.t4c-list{position:relative}
.t4c-list[data-cascade]:not(.is-cascade):not(.is-each) > :is(.t4c-race,.t4c-today){opacity:0}
.t4c-list.is-cascade > .t4c-race{animation:t4c-drop .6s cubic-bezier(.215,.61,.355,1) backwards;animation-delay:calc(min(var(--k,0),12) * 65ms)}
.t4c-list.is-cascade > .t4c-today{animation:t4c-fade .5s ease-out backwards;animation-delay:calc(min(var(--k,0),12) * 65ms)}
@keyframes t4c-drop{from{clip-path:inset(0 0 100% 0 round 1rem);opacity:0;transform:translateY(-1.6rem)}to{clip-path:inset(0 0 0 0 round 1rem);opacity:1;transform:none}}
@keyframes t4c-fade{from{opacity:0}to{opacity:1}}
/* sotto i 992px (is-each, t4-calendario.js) ogni card scende quando entra in vista */
.t4c-list.is-each > :is(.t4c-race,.t4c-today):not(.is-in){opacity:0}
.t4c-list.is-each > .t4c-race.is-in{animation:t4c-drop .6s cubic-bezier(.215,.61,.355,1) backwards;animation-delay:var(--d,0ms)}
.t4c-list.is-each > .t4c-today.is-in{animation:t4c-fade .5s ease-out backwards;animation-delay:var(--d,0ms)}
/* binario blu che scende lungo l'elenco, da 992px (fuori dalle card) */
@media (min-width:992px){
  .t4c-list[data-cascade]::before{background:linear-gradient(#2448d8,#86a0ff 60%,rgba(134,160,255,0));border-radius:2px;bottom:0;content:"";left:-2.4rem;position:absolute;top:0;transform:scaleY(0);transform-origin:top;width:2px}
  .t4c-list.is-cascade::before{animation:t4c-rail 1.4s cubic-bezier(.65,0,.35,1) both,t4c-rail-out .8s ease 1.6s forwards}
}
@keyframes t4c-rail{to{transform:scaleY(1)}}
@keyframes t4c-rail-out{to{opacity:0}}
/* prossima gara: un riflesso blu passa una volta sul banner quando la si vede */
.t4c-race.is-next .t4c-banner{overflow:hidden;position:relative}
.t4c-race.is-next .t4c-banner:after{background:linear-gradient(100deg,rgba(36,72,216,0) 30%,rgba(36,72,216,.16) 50%,rgba(36,72,216,0) 70%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transform:translateX(-100%)}
.t4c-race.is-next.is-sheen .t4c-banner:after{animation:t4c-sheen 1.1s ease-out both}
@keyframes t4c-sheen{from{opacity:1;transform:translateX(-100%)}to{opacity:1;transform:translateX(100%)}}
/* fuori vista la pulsazione delle scadenze si ferma */
.t4c-list.is-away .t4-dl.is-urgent{animation-play-state:paused}
/* gara aperta: la chiusura sta nella striscia in cima alla tendina, sotto la data
   del banner si toglie (la stessa scritta rossa pulsava due volte a 100px) */
.t4c-race.is-open .t4c-banner .t4-dl{display:none}
/* le linee verticali di sfondo del tema (.lines, z-index 2) passavano sopra le card */
.t4s .t4c .t4c-list{z-index:3}
/* gare già corse più leggere, come nella timeline: si vede subito dove si è */
.t4c-race.is-done:not(.is-open) .t4c-banner :is(.t4c-banner__main,.t4c-banner__when){opacity:.6}
.t4c-race.is-done:not(.is-open){border-color:rgba(var(--color-black),.08)}
@media (max-width:767px){
  .t4c-race.is-done:not(.is-open) .t4c-banner{padding-block:.75rem}
  .t4c-race.is-done:not(.is-open) .t4c-banner__title{font-size:1.25rem}
  .t4c-race.is-done:not(.is-open) .t4c-banner__meta{font-size:.875rem}
}
/* da 1700px il container (padding in px) rientrava di 9px rispetto al titolo
   (.container-grid: 90,94%, max 108,375rem): stessa larghezza del titolo */
@media (min-width:992px){.t4s :is(.t4c,.t4nx) .container{max-width:calc(108.375rem + 30px);width:calc(90.94% + 30px)}}
/* tendina che scorre: righe 0fr -> 1fr (il JS toglie hidden, poi aggiunge is-open) */
.t4c-race__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.215,.61,.355,1)}
.t4c-race__panel[hidden]{display:none}
.t4c-race.is-open .t4c-race__panel{grid-template-rows:1fr}
.t4c-race__clip{min-height:0;overflow:hidden}
.t4c-race.is-opening :is(.t4c-race__deadline,.t4c-box){animation:t4c-box-in .5s cubic-bezier(.215,.61,.355,1) both}
.t4c-race.is-opening .t4c-box:nth-child(2){animation-delay:.07s}
.t4c-race.is-opening .t4c-box:nth-child(3){animation-delay:.14s}
.t4c-race.is-opening .t4c-box:nth-child(4){animation-delay:.21s}
@keyframes t4c-box-in{from{opacity:0;transform:translateY(-.8rem)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .t4c-skel:after,.t4c-race.is-next .t4c-banner:after{animation:none;display:none}
  .t4c-race__panel{transition:none}
}

/* riquadro foto che segue il mouse */

/* --- Campionato: risultati stile live results (t4lr-*) --- */
.t4lr-kicker,.t4lr-stat span,.t4lr-winner dt,.t4lr-table th,.t4lr-legend,.t4lr-flag,.t4lr-dbox h4{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}
.t4lr-top{align-items:center;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;margin:0 0 1.25rem}
.t4lr-champs{background:rgba(var(--color-black),.06);border-radius:999px;display:inline-flex;gap:.3rem;padding:.35rem}
.t4lr-champ{background:none;border:0;border-radius:999px;color:inherit;cursor:pointer;font-family:var(--font-family-headings),sans-serif;font-size:1.5rem;letter-spacing:.02em;padding:.75rem 1.6rem;text-transform:uppercase;transition:background .25s ease,color .25s ease,box-shadow .25s ease}
.t4lr-champ:hover{background:rgba(var(--color-black),.06)}
.t4lr-champ.is-on{background:rgb(var(--color-primary));box-shadow:0 8px 22px rgba(23,42,134,.3);color:#fff}
.t4lr-gen{align-items:center;color:rgb(var(--color-primary));display:inline-flex;font-family:var(--font-family-body),monospace;font-size:1rem;gap:.4rem;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.t4lr-gen:hover{color:rgb(var(--color-primary));text-decoration:underline}
.t4lr-rounds{display:flex;gap:.75rem;margin:0 0 2rem;overflow-x:auto;padding:.3rem .1rem 1rem;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:thin}
.t4lr-round{background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.14);border-radius:1rem;color:inherit;cursor:pointer;display:grid;flex:0 0 auto;gap:.2rem;min-width:14.5rem;padding:1rem 1.2rem;position:relative;scroll-snap-align:start;text-align:left;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease,background .25s ease}
.t4lr-round:hover:not(:disabled){border-color:rgb(var(--color-primary));transform:translateY(-2px)}
.t4lr-round.is-on{background:linear-gradient(160deg,#1d3299,#0e1a5a);border-color:transparent;box-shadow:0 14px 30px rgba(23,42,134,.3);color:#fff}
.t4lr-round.is-future{cursor:default;opacity:.55}
.t4lr-round__n{font-family:var(--font-family-headings),sans-serif;font-size:1.7rem;line-height:1;text-transform:uppercase}
.t4lr-round__d{font-size:1.15rem;font-weight:600}
.t4lr-round__p{font-size:1.05rem;opacity:.7}
.t4lr-round__s{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.08em;margin-top:.4rem;opacity:.65;text-transform:uppercase}
.t4lr-round.is-on .t4lr-round__s{color:#9fb4ff;opacity:1}
.t4lr-body{transition:opacity .25s ease}
.t4lr-body.is-loading{opacity:.35}
.t4lr-empty{font-size:1.2rem;opacity:.7;padding:2rem 0}
.t4lr-hero{display:grid;gap:1.25rem;grid-template-columns:1fr;margin-bottom:1.25rem}
@media (min-width:992px){.t4lr-hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}
.t4lr-winner{background:radial-gradient(70% 90% at 100% 0%,rgba(72,104,255,.45),transparent 60%),linear-gradient(160deg,#16244f,#0b112a);border-radius:1.2rem;color:#fff;display:flex;flex-direction:column;gap:1.4rem;justify-content:space-between;min-height:100%;overflow:hidden;padding:2rem;position:relative}
.t4lr-winner:after{background:repeating-linear-gradient(90deg,#fff 0 12px,transparent 12px 24px),repeating-linear-gradient(90deg,transparent 0 12px,#fff 12px 24px);background-position:0 0,0 12px;background-repeat:repeat-x;background-size:24px 12px;bottom:0;content:"";height:24px;opacity:.08;position:absolute;right:0;width:40%}
.t4lr-kicker{margin:0;opacity:.7}
.t4lr-winner__id{align-items:center;display:flex;gap:1.4rem}
.t4lr-winner__num{align-items:center;background:#fff;border-radius:.9rem;color:#0e1a5a;display:flex;font-family:var(--font-family-headings),sans-serif;font-size:3rem;height:5.6rem;justify-content:center;min-width:5.6rem;padding:0 .6rem}
.t4lr-winner__name{display:flex;flex-direction:column;line-height:.92;margin:0;text-transform:uppercase}
.t4lr-winner__name span{font-family:var(--font-family-headings),sans-serif;font-size:2rem;opacity:.8}
.t4lr-winner__name strong{font-family:var(--font-family-headings),sans-serif;font-size:clamp(3.4rem,4.6vw,5.6rem);font-weight:400}
.t4lr-winner__dl{display:grid;gap:1rem;grid-template-columns:repeat(3,auto);justify-content:start;margin:0}
.t4lr-winner__dl div{border-left:1px solid rgba(255,255,255,.25);padding:0 2rem 0 1rem}
.t4lr-winner__dl div:first-child{border-left:0;padding-left:0}
.t4lr-winner dt{opacity:.65}
.t4lr-winner dd{font-family:var(--font-family-headings),sans-serif;font-size:2.4rem;font-variant-numeric:tabular-nums;margin:.3rem 0 0}
.t4lr-track{background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.12);border-radius:1.2rem;display:flex;flex-direction:column;overflow:hidden}
.t4lr-track__img{aspect-ratio:16/7;margin:0;overflow:hidden}
.t4lr-track__img img{display:block;height:100%;object-fit:cover;transition:transform .8s ease;width:100%}
.t4lr-track:hover .t4lr-track__img img{transform:scale(1.04)}
.t4lr-track__body{display:flex;flex-direction:column;gap:.5rem;padding:1.4rem 1.6rem 1.5rem}
.t4lr-track__name{font-family:var(--font-family-headings),sans-serif;font-size:2.2rem;line-height:1;margin:.2rem 0 0;text-transform:uppercase}
.t4lr-track__city{font-size:1.15rem;margin:0;opacity:.7}
.t4lr-track__facts{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;list-style:none;margin:.4rem 0 0;padding:0}
.t4lr-track__facts li{display:flex;flex-direction:column}
.t4lr-track__facts span{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.06em;opacity:.6;text-transform:uppercase}
.t4lr-track__facts strong{font-size:1.2rem}
.t4lr-track__links{display:flex;flex-wrap:wrap;gap:1.2rem;margin:.6rem 0 0}
.t4lr-track__links a{align-items:center;color:rgb(var(--color-primary));display:inline-flex;font-family:var(--font-family-body),monospace;font-size:.95rem;gap:.35rem;letter-spacing:.05em;text-decoration:none;text-transform:uppercase}
.t4lr-track__links a:hover{text-decoration:underline}
.t4lr-flag{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.5);border-radius:.6rem;color:#92400e;display:inline-block;margin:0 0 1.25rem;padding:.5rem .9rem}
.t4lr-filters{align-items:center;border-bottom:1px solid rgba(var(--color-black),.14);display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;margin-bottom:1.2rem}
.t4lr-tabs{display:flex;gap:.25rem}
.t4lr-tab{background:none;border:0;border-bottom:3px solid transparent;color:inherit;cursor:pointer;font-family:var(--font-family-headings),sans-serif;font-size:1.6rem;margin-bottom:-1px;opacity:.5;padding:.9rem 1.2rem;text-transform:uppercase;transition:opacity .2s ease,border-color .2s ease,color .2s ease}
.t4lr-tab:hover{opacity:.85}
.t4lr-tab.is-on{border-bottom-color:rgb(var(--color-primary));color:rgb(var(--color-primary));opacity:1}
.t4lr-sessions{display:flex;flex-wrap:wrap;gap:.4rem;padding-bottom:.6rem}
.t4lr-sess{background:none;border:1px solid rgba(var(--color-black),.2);border-radius:999px;color:inherit;cursor:pointer;font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.06em;padding:.55rem 1.1rem;text-transform:uppercase;transition:all .2s ease}
.t4lr-sess:hover{border-color:rgb(var(--color-black))}
.t4lr-sess.is-on{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:#fff}
.t4lr-scroll{border:1px solid rgba(var(--color-black),.12);border-radius:1rem;overflow-x:auto}
/* is-more (t4-results.js): la tabella continua a destra, il bordo sfuma come nella timeline */
.t4lr-scroll.is-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),transparent)}
.t4lr-table{border-collapse:collapse;font-size:1.2rem;min-width:62rem;width:100%}
.t4lr-table th{background:#0e1430;color:#fff;font-weight:400;padding:1rem 1.1rem;text-align:left;white-space:nowrap}
.t4lr-table td{padding:1rem 1.1rem;white-space:nowrap}
.t4lr-table .r{text-align:right}
.t4lr-table .mono,.t4lr-table td.r{font-variant-numeric:tabular-nums}
.t4lr-rowgroup{border-top:1px solid rgba(var(--color-black),.09)}
.t4lr-row{cursor:pointer;transition:background .2s ease}
.t4lr-row:hover{background:rgba(var(--color-primary),.05)}
.t4lr-row:focus-visible{outline:2px solid rgb(var(--color-primary));outline-offset:-2px}
.t4lr-rowgroup.is-open .t4lr-row{background:rgba(var(--color-primary),.08)}
.t4lr-pos{font-family:var(--font-family-headings),sans-serif;font-size:1.6rem;width:4.5rem}
.t4lr-row.is-podium .t4lr-pos{color:rgb(var(--color-primary))}
.t4lr-num{opacity:.7;width:3.5rem}
.t4lr-pilot{font-weight:600}
/* sigla nazione: una sola regola per Classifiche e Piloti (.t4p-flag era a .75rem, 9px a 1440) */
.t4lr-nat,.t4p-flag{border:1px solid rgba(var(--color-black),.25);border-radius:.3rem;font-family:var(--font-family-body),monospace;font-size:.9rem;font-weight:400;letter-spacing:.06em;margin-left:.6rem;opacity:.7;padding:.1rem .35rem;vertical-align:2px}
.t4lr-best{color:#7c3aed;font-weight:700}
.t4lr-gv{background:#7c3aed;border-radius:.3rem;color:#fff;font-size:.9rem;padding:.1rem .35rem;vertical-align:1px}
.t4lr-th-x,.t4lr-x{text-align:right;width:3.5rem}
.t4lr-x svg{opacity:.5;transition:transform .3s ease,opacity .2s ease;vertical-align:middle}
.t4lr-row:hover .t4lr-x svg{opacity:1}
.t4lr-rowgroup.is-open .t4lr-x svg{opacity:1;transform:rotate(180deg)}
.t4lr-detail td{padding:0}
.t4lr-detail__wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.215,.61,.355,1)}
.t4lr-rowgroup.is-open .t4lr-detail__wrap{grid-template-rows:1fr}
.t4lr-detail__in{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;overflow:hidden;padding:0 1.1rem;white-space:normal}
.t4lr-rowgroup.is-open .t4lr-detail__in{padding:1rem 1.1rem 1.4rem}
.t4lr-dbox{background:rgba(var(--color-primary),.05);border-radius:.8rem;padding:1rem 1.2rem}
.t4lr-dbox h4{margin:0 0 .7rem;opacity:.7}
.t4lr-dsess{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;list-style:none;margin:0;padding:0}
.t4lr-dsess li{display:flex;flex-direction:column}
.t4lr-dsess span{font-size:.95rem;opacity:.65}
.t4lr-dsess strong{font-family:var(--font-family-headings),sans-serif;font-size:1.9rem;font-weight:400;line-height:1.1}
.t4lr-dsess em{font-size:.9rem;font-style:normal;opacity:.6}
.t4lr-dnote{font-size:1.05rem;margin:0;opacity:.7}
.t4lr-legend{margin:.8rem 0 0;opacity:.55}
.t4lr-metrics{margin-top:2.5rem}
.t4lr-metrics h3{font-family:var(--font-family-headings),sans-serif;font-size:2rem;margin:0 0 1rem;text-transform:uppercase}
.t4lr-stats{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.t4lr-stat{border:1px solid rgba(var(--color-black),.12);border-radius:.9rem;display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.2rem}
.t4lr-stat span{opacity:.6}
.t4lr-stat strong{font-family:var(--font-family-headings),sans-serif;font-size:1.7rem;font-weight:400}
.t4lr-video{aspect-ratio:16/9;border-radius:1rem;margin-top:2rem;overflow:hidden}
.t4lr-video iframe{border:0;height:100%;width:100%}
@media (max-width:767px){.t4lr-champ{font-size:1.25rem;padding:.65rem 1.1rem}.t4lr-winner{padding:1.4rem}.t4lr-winner__dl{grid-template-columns:repeat(3,minmax(0,1fr))}.t4lr-winner__dl div{padding:0 .6rem}.t4lr-winner dd{font-size:1.8rem}.t4lr-detail__in{grid-template-columns:1fr}.t4lr-table{font-size:1.1rem}}

/* --- Campionato: timeline stagione a corsie (t4ss-*) --- */
.t4ss{--t4ss-label:13rem}
.t4ss-legend{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;margin:0 0 1.6rem}
.t4ss-key{align-items:center;display:inline-flex;font-family:var(--font-family-body),monospace;font-size:.95rem;gap:.55rem;letter-spacing:.06em;text-transform:uppercase}
.t4ss-key i{align-items:center;border-radius:999px;color:#fff;display:inline-flex;height:1.4rem;justify-content:center;width:1.4rem}
.t4ss-key i svg{height:.85rem;width:.85rem}
.t4ss-key--done i{background:#9aa1b4}
/* legenda neutra: lo stato si legge dal riempimento, il colore è quello della serie */
.t4ss-key--next i{background:rgb(var(--color-black));box-shadow:0 0 0 .3rem rgba(var(--color-black),.2)}
.t4ss-key--soon i{background:#fff;border:3px solid rgb(var(--color-black))}
.t4ss-grid{display:none;position:relative}
.t4ss-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}
@media (min-width:900px){.t4ss-grid{display:block}.t4ss-list{display:none}}
.t4ss-months{border-bottom:1px solid rgba(var(--color-black),.18);height:1.75rem;margin-left:var(--t4ss-label);position:relative}
.t4ss-months span{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.08em;opacity:.6;position:absolute;text-transform:uppercase;top:0}
.t4ss-lane{align-items:center;border-bottom:1px dashed rgba(var(--color-black),.14);display:grid;grid-template-columns:var(--t4ss-label) 1fr;min-height:5.5rem}
.t4ss-lane__label{display:grid;font-family:var(--font-family-headings),sans-serif;font-size:1.35rem;gap:.1rem .6rem;grid-template-columns:auto 1fr;text-transform:uppercase}
.t4ss-lane__label i{align-self:center;background:var(--c);border-radius:999px;grid-row:span 2;height:1rem;width:1rem}
.t4ss-lane__label small{font-family:var(--font-family-body),monospace;font-size:.9rem;grid-column:2;font-weight:400;letter-spacing:.06em;opacity:.55;text-transform:uppercase}
.t4ss-track{height:5.5rem;position:relative}
.t4ss-track:before{background:rgba(var(--color-black),.12);content:"";height:2px;left:0;position:absolute;right:0;top:50%}
.t4ss-ev{--c:rgb(var(--color-primary));color:inherit;height:100%;position:absolute;text-decoration:none;top:0;transform:translateX(-50%);width:1.5rem}
.t4ss-ev.is-span{transform:none}
.t4ss-dot{align-items:center;background:rgb(var(--color-white));border:3px solid var(--c);border-radius:999px;color:#fff;display:flex;height:1.5rem;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .2s ease,box-shadow .2s ease;width:1.5rem}
.t4ss-dot svg{height:.9rem;width:.9rem}
.t4ss-ev.is-span .t4ss-dot{border-radius:999px;left:0;transform:translateY(-50%);width:100%}
.t4ss-ev.is-done .t4ss-dot{background:#9aa1b4;border-color:#9aa1b4}
.t4ss-ev.is-done .t4ss-lbl{opacity:.45}
.t4ss-ev.is-next .t4ss-dot{background:var(--c);height:2.1rem;width:2.1rem;animation:t4ss-pulse 1.8s ease-out infinite}
/* testo della prossima gara: tinta della serie scurita al 70% (ciano e ambra puri
   stavano sotto 4,5:1 sul grigio); punto e bordi restano nel colore pieno */
.t4ss-ev.is-next .t4ss-lbl{color:color-mix(in srgb,var(--c) 70%,#000);font-weight:700;opacity:1}
@keyframes t4ss-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 55%,transparent)}100%{box-shadow:0 0 0 1rem transparent}}
.t4ss-ev:hover .t4ss-dot,.t4ss-ev:focus-visible .t4ss-dot{transform:translate(-50%,-50%) scale(1.3)}
.t4ss-ev.is-span:hover .t4ss-dot{transform:translateY(-50%) scaleY(1.3)}
.t4ss-tip{background:#0e1430;border-radius:.6rem;bottom:calc(50% + 1.4rem);box-shadow:0 12px 30px rgba(15,19,32,.25);color:#fff;display:flex;flex-direction:column;font-size:1.05rem;gap:.25rem;left:50%;opacity:0;padding:.8rem 1rem;pointer-events:none;position:absolute;transform:translate(-50%,.3rem);transition:all .18s ease;white-space:nowrap;z-index:5}
.t4ss-tip em{font-style:normal;opacity:.7}
.t4ss-tip b{color:#9fb4ff;font-weight:600}
.t4ss-ev:hover .t4ss-tip,.t4ss-ev:focus-visible .t4ss-tip{opacity:1;transform:translate(-50%,0)}
.t4ss-lbl{font-family:var(--font-family-body),monospace;font-size:.9rem;left:50%;letter-spacing:.04em;opacity:.6;position:absolute;text-transform:uppercase;top:calc(50% + .8rem);transform:translateX(-50%);white-space:nowrap}
.t4ss-ev.is-span .t4ss-lbl{left:0;transform:none}
.t4ss-lane--italia .t4ss-ev,.t4ss-lane--italia .t4ss-lane__label i{--c:#2448d8}
.t4ss-lane--club .t4ss-ev,.t4ss-lane--club .t4ss-lane__label i{--c:#192B88}
/* T4 ST2 (kart a due tempi, 19/10/2026): corsia sua, compare solo con gare */
.t4ss-lane--st2 .t4ss-ev,.t4ss-lane--st2 .t4ss-lane__label i{--c:#E14D29}
.t4ss-lane--europa .t4ss-ev,.t4ss-lane--europa .t4ss-lane__label i{--c:#86a0ff}
.t4ss-lane--mondiale .t4ss-ev,.t4ss-lane--mondiale .t4ss-lane__label i{--c:#0e1430}
/* "Oggi" come nel Calendario: linea blu sottile, scritta mono sopra la riga dei mesi
   (prima pillola rossa sopra "OTT"); la linea passa sotto pallini ed etichette */
.t4ss-grid{padding-top:2.4rem}
.t4ss-now{border-left:2px solid #2448d8;bottom:0;pointer-events:none;position:absolute;top:2.4rem;z-index:1}
.t4ss-now span{color:#2448d8;font-family:var(--font-family-body),monospace;font-size:.875rem;left:0;letter-spacing:.08em;line-height:1.3;position:absolute;text-transform:uppercase;top:-2.2rem;transform:translateX(-50%);white-space:nowrap}
.t4ss-now span b{font-weight:400;opacity:.75}
.t4ss-months{z-index:2}
.t4ss-months span{background:rgb(var(--color-white));color:rgba(var(--color-black),.6);opacity:1;padding-right:.3rem}
.t4ss-row{--c:rgb(var(--color-primary));align-items:center;border:1px solid rgba(var(--color-black),.14);border-left:4px solid var(--c);border-radius:.5rem;color:inherit;display:grid;gap:.75rem;grid-template-columns:5.5rem 1fr auto;padding:.75rem .9rem;text-decoration:none}
.t4ss-row.is-done{background:rgba(var(--color-black),.03);border-left-color:#9aa1b4}
.t4ss-row.is-done .t4ss-row__go{color:#5b6275}
.t4ss-row.is-next{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent)}
.t4ss-row.is-next .t4ss-row__go{background:color-mix(in srgb,var(--c) 70%,#000);border-radius:999px;color:#fff;font-size:.9rem;padding:.25rem .7rem}
.t4ss-row--italia{--c:#2448d8}.t4ss-row--club{--c:#192B88}.t4ss-row--europa{--c:#86a0ff}.t4ss-row--mondiale{--c:#0e1430}
.t4ss-row--st2{--c:#E14D29}
.t4ss-row__date{font-family:var(--font-family-body),monospace;font-size:.95rem;text-transform:uppercase}
.t4ss-row__main{display:flex;flex-direction:column}
.t4ss-row__main em{font-size:1rem;font-style:normal;opacity:.65}
.t4ss-row__go{font-weight:700}

/* --- Campionato: stagione in breve + categorie (t4cp-*) --- */
.t4cp-facts{margin-top:1.75rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
/* sono sempre 4: 2+2 sul tablet invece di 3+1 con una card sola sull'ultima riga */
@media (min-width:600px){.t4cp-facts{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.t4cp-facts{grid-template-columns:repeat(4,1fr)}}
.t4cp-fact{border:1px solid rgba(var(--color-black),.14);border-radius:1rem;padding:1.25rem}
.t4cp-fact strong{display:block;font-size:2rem;line-height:1.1}
.t4cp-fact span{display:block;font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.08em;margin:.4rem 0 .6rem;opacity:.6;text-transform:uppercase}
.t4cp-fact p{font-size:1.1rem;margin:0;opacity:.8}
.t4cp-cats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin-top:2.5rem}
.t4cp-cat{background:rgb(var(--color-black));border-radius:1rem;color:rgb(var(--color-white));display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;text-decoration:none}
.t4cp-cat h3{font-size:1.5rem;margin:0}
.t4cp-cat p{margin:0;opacity:.75}
.t4cp-cat dl{display:grid;gap:.25rem 1rem;grid-template-columns:auto 1fr;margin:.75rem 0 0}
.t4cp-cat dt{font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.06em;opacity:.6;text-transform:uppercase}
.t4cp-cat dd{font-weight:600;margin:0}
.t4cp-cat:hover{color:rgb(var(--color-white));outline:2px solid rgb(var(--color-primary))}

/* --- Pagina Piloti: podi per categoria (t4p-*) --- */
.t4p-champ{margin:2rem 0 2.5rem}
.t4p-champ__title{font-size:1.25rem;margin:0 0 1rem}
.t4p-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
/* tablet: 2 colonne e l'ultima card dispari a tutta riga (le categorie dipendono dai dati);
   sotto i 768px il container è al massimo 510px e in due colonne nome+sigla+punti non ci stanno */
@media (max-width:767px){.t4p-grid{grid-template-columns:1fr}}
@media (min-width:768px) and (max-width:991px){.t4p-grid{grid-template-columns:repeat(2,1fr)}.t4p-grid>:last-child:nth-child(odd){grid-column:1/-1}}
.t4p-card{border:1px solid rgba(var(--color-black),.14);border-radius:1rem;padding:1.25rem}
.t4p-card__cat{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.08em;margin:0 0 .75rem;opacity:.65;text-transform:uppercase}
.t4p-podium{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}
.t4p-row{align-items:center;display:grid;gap:.75rem;grid-template-columns:2rem 1fr auto}
.t4p-pos{align-items:center;background:rgba(var(--color-black),.08);border-radius:.5rem;display:flex;font-weight:700;height:2rem;justify-content:center}
.t4p-row--1 .t4p-pos{background:rgb(var(--color-primary));color:#fff}
.t4p-row--1 .t4p-name{font-weight:700}
.t4p-pts{font-variant-numeric:tabular-nums;font-weight:600}
.t4p-meta{font-size:.9rem;margin:.9rem 0 0;opacity:.6}
.t4p-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}

/* --- Academy: percorso in 4 passi (t4ac-*) --- */
.t4ac-steps{counter-reset:none;margin-top:1.75rem!important;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));list-style:none;margin:0;padding:0}
.t4ac-step{border:1px solid rgba(var(--color-black),.14);border-radius:1rem;display:flex;gap:1rem;padding:1.5rem}
.t4ac-n{align-items:center;background:rgb(var(--color-primary));border-radius:.75rem;color:#fff;display:flex;flex:0 0 auto;font-size:1.25rem;font-weight:700;height:2.75rem;justify-content:center;width:2.75rem}
/* il titolo del passo resta il testo più grande della card; il link come il paragrafo
   (prima ereditava la misura del body ed era più grande del titolo) */
.t4ac-step h3{font-size:clamp(1.25rem,1.1rem + .4vw,1.75rem);line-height:1.1;margin:0 0 .5rem}
.t4ac-step p{font-size:1.1rem;margin:0 0 .75rem;opacity:.85}
.t4ac-link{font-size:1.1rem;font-weight:600}

/* --- Chiusura iscrizioni (t4-dl, da t4Reg in t4-calendario.js): riquadro della
   tappa, card della timeline, banner e countdown della testata. Sotto le 48 ore
   rossa con una pulsazione leggera; con "riduci movimento" restano rosso, grassetto,
   icona e "mancano N ore" --- */
/* icona accanto alla prima riga anche quando il testo va a capo (con wrap restava da sola sopra) */
.t4-dl{align-items:flex-start;display:inline-flex;flex-wrap:nowrap;font-family:var(--font-family-body),monospace;font-size:.95rem;gap:.4rem;letter-spacing:.02em;line-height:1.35}
.t4-dl svg{flex:0 0 auto;margin-top:calc((1.35em - 14px) / 2);opacity:.7}
.t4-dl__t{min-width:0}
.t4-dl.is-closed{opacity:.6}
.t4-dl.is-urgent{animation:t4-dl-pulse 1.4s ease-in-out infinite;color:#b42318;font-weight:700;transform-origin:left center}
.t4-dl.is-urgent svg{opacity:1}
.t4-dl--dark.is-urgent{color:#ffb4ab}
@keyframes t4-dl-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media (prefers-reduced-motion:reduce){.t4-dl.is-urgent{animation:none}}
@media (max-width:991px){.t4-dl{font-size:.8125rem}}
/* "Partecipa"/"Iscriviti alla gara" a iscrizioni chiuse: i pulsanti hanno un display
   loro, che batterebbe [hidden] */
[data-t4-reg-cta][hidden]{display:none!important}

/* --- Timeline della stagione (t4tl-*): Calendario (header blu) e Circuiti ---
   Tre stati a colpo d'occhio: gare corse = pallino pieno con la spunta e linea
   continua; gara in evidenza (prossima o in corso) = pallino grande pieno (bianco sul
   blu, blu sul grigio) con anelli e onde; in programma = anello vuoto e linea
   tratteggiata. Tra corse e da correre
   uno spazio "Oggi" con la sua stanghetta. */
.t4tl{--tl-done:rgba(var(--color-black),.3);--tl-done-dot:#a9aaae;--tl-soon:rgb(var(--color-primary));--tl-next:rgba(134,160,255,.6);--tl-core:#2448d8;--tl-now:rgb(var(--color-primary));--tl-hot:rgb(var(--color-primary));--tl-glow:rgba(36,72,216,.35);--tl-flash:rgba(36,72,216,.45);--tl-sweep:linear-gradient(90deg,rgba(36,72,216,0),#4868ff 60%,#192b88);--tl-sweep-glow:rgba(36,72,216,.45);--tl-text:rgb(var(--color-black));--tl-muted:rgba(var(--color-black),.55);--tl-ring:rgb(var(--color-white));--tl-card-bg:rgb(var(--color-primary));--tl-card-fg:#fff;--tl-border:rgba(var(--color-black),.18);color:var(--tl-text);margin:2.5rem 0 1rem;position:relative}
.t4tl--dark{--tl-done:rgba(255,255,255,.32);--tl-done-dot:#616ead;--tl-soon:#86a0ff;--tl-next:#4868ff;--tl-core:#fff;--tl-now:#fff;--tl-hot:#fff;--tl-glow:rgba(134,160,255,.55);--tl-flash:rgba(255,255,255,.75);--tl-sweep:linear-gradient(90deg,rgba(159,180,255,0),#9fb4ff 60%,#fff);--tl-sweep-glow:rgba(159,180,255,.8);--tl-text:#fff;--tl-muted:rgba(255,255,255,.66);--tl-ring:#172a86;--tl-card-bg:#fff;--tl-card-fg:rgb(var(--color-primary));--tl-border:rgba(255,255,255,.3);margin:1.5rem 0 0}
.t4tl__head{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:.5rem}
.t4tl__legend{color:var(--tl-muted);display:flex;flex-wrap:wrap;font-family:var(--font-family-body),monospace;font-size:.95rem;gap:.4rem 1.6rem;letter-spacing:.08em;margin:0;text-transform:uppercase}
.t4tl__legend span:before{background:var(--tl-done-dot);border-radius:50%;box-sizing:border-box;content:"";display:inline-block;height:.85rem;margin-right:.6rem;vertical-align:-.05rem;width:.85rem}
.t4tl__legend :is(.is-next,.is-live){color:var(--tl-text)}
.t4tl__legend :is(.is-next,.is-live):before{background:var(--tl-core);box-shadow:0 0 0 .2rem var(--tl-next);margin-left:.2rem}
.t4tl__legend .is-soon:before{background:transparent;border:2px solid var(--tl-soon)}
.t4tl__nav{align-items:center;display:flex;gap:.6rem}
.t4tl__hint{color:var(--tl-muted);font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.08em;margin-right:.6rem;text-transform:uppercase}
.t4tl__hint i{display:inline-block;font-style:normal;animation:t4tl-left 1.4s ease-in-out infinite}
.t4tl__hint i:last-child{animation-name:t4tl-right}
@keyframes t4tl-left{0%,100%{transform:none}50%{transform:translateX(-.4rem)}}
@keyframes t4tl-right{0%,100%{transform:none}50%{transform:translateX(.4rem)}}
.t4tl__arrow{align-items:center;background:transparent;border:1px solid var(--tl-border);border-radius:50%;color:var(--tl-text);cursor:pointer;display:flex;height:3.8rem;justify-content:center;transition:background .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease;width:3.8rem}
.t4tl__arrow:hover:not(:disabled){background:var(--tl-soon);border-color:var(--tl-soon);color:#fff}
.t4tl__arrow:disabled{cursor:default;opacity:.3}
.t4tl__viewport{cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5rem,#000 calc(100% - 5rem),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 5rem,#000 calc(100% - 5rem),transparent 100%);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;position:relative;scrollbar-width:none}
.t4tl.at-start .t4tl__viewport{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 5rem),transparent 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 5rem),transparent 100%)}
.t4tl.at-end .t4tl__viewport{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5rem);mask-image:linear-gradient(90deg,transparent 0,#000 5rem)}
.t4tl.at-start.at-end .t4tl__viewport{-webkit-mask-image:none;mask-image:none}
.t4tl__viewport::-webkit-scrollbar{display:none}
.t4tl__viewport.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}
/* sopra le date: spazio per la card della gara in evidenza. --tl-top è l'altezza
   della card misurata da t4-calendario.js (titoli dal CMS su una o due righe, chiusura
   iscrizioni): + 1rem di stacco, .5rem di fluttuazione e un margine */
.t4tl__track{display:flex;list-style:none;margin:0;padding:calc(var(--tl-top,11.5rem) + 2.2rem) 5rem 1.5rem;width:max-content}
/* backwards, non both: a ingresso finito la tappa non resta un contesto di
   sovrapposizione e i pallini (z-index 1) stanno sopra scia e cometa */
.t4tl__item,.t4tl__now{animation:t4tl-in .7s cubic-bezier(.215,.61,.355,1) backwards;animation-delay:calc(var(--i,0) * 70ms + .2s);flex:0 0 16rem;position:relative}
.t4tl__item.is-feat{flex-basis:20rem}
@keyframes t4tl-in{from{opacity:0;transform:translateY(1.6rem)}to{opacity:1;transform:none}}
/* linea: un tratto per tappa, così copre tutta la stagione anche scorrendo.
   Continua per le corse, tratteggiata per le future; nella gara in evidenza piena
   fino al pallino e tratteggiata dopo */
.t4tl__item:before,.t4tl__now:before{background:var(--tl-soon);content:"";height:2px;left:0;position:absolute;right:0;top:calc(4.2rem - 1px);transform-origin:left;animation:t4tl-line .6s ease both;animation-delay:calc(var(--i,0) * 70ms + .3s)}
.t4tl__item.is-done:before{background:var(--tl-done)}
.t4tl__item.is-soon:before{background:repeating-linear-gradient(90deg,var(--tl-soon) 0 .8rem,transparent 0 1.4rem)}
.t4tl__item:is(.is-next,.is-live):before{background:linear-gradient(90deg,var(--tl-hot),var(--tl-hot)) left/50% 100% no-repeat,repeating-linear-gradient(90deg,var(--tl-soon) 0 .8rem,transparent 0 1.4rem) right/50% 100% no-repeat}
.t4tl__item:first-child:before,.t4tl__now:first-child:before{left:50%}
.t4tl__item:last-child:before,.t4tl__now:last-child:before{right:50%}
@keyframes t4tl-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* "Oggi": spazio vuoto tra corse e da correre, linea che passa dal grigio al bianco */
.t4tl__now{flex-basis:7rem}
.t4tl__now:before{background:linear-gradient(90deg,var(--tl-done),var(--tl-hot))}
.t4tl__now:after{background:var(--tl-now);content:"";height:3.2rem;left:50%;position:absolute;top:2.6rem;transform:translateX(-50%);width:2px}
.t4tl__now-l{align-items:center;color:var(--tl-now);display:flex;flex-direction:column;font-family:var(--font-family-body),monospace;font-size:max(.875rem,10.5px);gap:.1rem;left:50%;letter-spacing:.08em;line-height:1.2;position:absolute;text-transform:uppercase;top:0;transform:translateX(-50%);white-space:nowrap}
.t4tl__now-l b{font-weight:400;opacity:.8}
.t4tl__stop{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;padding:0 .8rem;position:relative;text-align:center;width:100%}
.t4tl__date{align-items:baseline;color:var(--tl-muted);display:flex;font-family:var(--font-family-body),monospace;font-size:.95rem;gap:.35rem;height:3.4rem;justify-content:center;letter-spacing:.06em;text-transform:uppercase}
.t4tl__date b{color:var(--tl-text);font-family:var(--font-family-headings),sans-serif;font-size:2.2rem;font-weight:400;letter-spacing:0}
/* pallini: --s è il diametro, i margini tengono il centro sulla linea (4,2rem) */
.t4tl__dot{--s:1.5rem;animation:t4tl-dot-in .6s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i,0) * 70ms + .35s);background:var(--tl-ring);border:2px solid var(--tl-soon);border-radius:50%;box-shadow:0 0 0 .35rem var(--tl-ring);box-sizing:border-box;height:var(--s);margin:calc((1.6rem - var(--s)) / 2) 0 calc(1rem + (1.6rem - var(--s)) / 2);position:relative;transition:scale .25s ease;width:var(--s);z-index:1}
.t4tl__item.is-done .t4tl__dot{--s:1.3rem;background:var(--tl-done-dot) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.5-5' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/62% no-repeat;border:0}
.t4tl--dark .t4tl__item.is-done .t4tl__dot{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.5-5' fill='none' stroke='%23172a86' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.t4tl__item:is(.is-next,.is-live) .t4tl__dot{--s:2.4rem;background:var(--tl-core);border:0;box-shadow:0 0 0 .4rem var(--tl-next),0 0 0 .75rem var(--tl-ring),0 0 2.4rem .6rem var(--tl-glow)}
.t4tl__item:is(.is-next,.is-live) .t4tl__dot:before,.t4tl__item:is(.is-next,.is-live) .t4tl__dot:after{animation:t4tl-ripple 2.4s cubic-bezier(.2,.6,.35,1) 2s infinite;border:2px solid var(--tl-soon);border-radius:50%;content:"";inset:-.4rem;opacity:0;position:absolute}
.t4tl__item:is(.is-next,.is-live) .t4tl__dot:after{animation-delay:3.2s}
/* arriva la scia: il pallino della gara in evidenza si accende */
.t4tl.is-inview .t4tl__item:is(.is-next,.is-live) .t4tl__dot{animation:t4tl-dot-in .6s cubic-bezier(.34,1.56,.64,1) both,t4tl-ignite .9s ease-out;animation-delay:calc(var(--i,0) * 70ms + .35s),1.75s}
@keyframes t4tl-dot-in{0%{background-color:#4868ff;transform:scale(0)}60%{background-color:#9fb4ff;transform:scale(1.3)}100%{transform:scale(1)}}
@keyframes t4tl-ripple{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
@keyframes t4tl-ignite{40%{box-shadow:0 0 0 .4rem var(--tl-next),0 0 0 .75rem var(--tl-ring),0 0 4rem 1.6rem var(--tl-flash)}}
/* evento in corso che non è la gara in evidenza (es. la Nations Cup mentre la
   prossima è un'altra): pallino pieno azzurro con un'onda sola e la scritta "In
   corso"; la linea dopo resta tratteggiata fino alla prossima (prima era identico
   a "Prossima" e la linea tornava piena) */
.t4tl{--tl-live:#4868ff}
.t4tl--dark{--tl-live:#9fb4ff}
.t4tl__item.is-live:not(.is-feat) .t4tl__dot{--s:1.9rem;background:var(--tl-live);box-shadow:0 0 0 .35rem var(--tl-ring)}
.t4tl__item.is-live:not(.is-feat) .t4tl__dot:before{border-color:var(--tl-live)}
.t4tl__item.is-live:not(.is-feat) .t4tl__dot:after{display:none}
.t4tl__item.is-live:not(.is-feat) .t4tl__title{color:var(--tl-live)}
.t4tl.is-inview .t4tl__item.is-live:not(.is-feat) .t4tl__dot{animation:t4tl-dot-in .6s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i,0) * 70ms + .35s)}   /* si accende solo quella in evidenza */
.t4tl__tag{align-self:center;background:var(--tl-live);border-radius:999px;color:var(--tl-ring);font-family:var(--font-family-body),monospace;font-size:max(.8rem,10.5px);font-weight:700;letter-spacing:.08em;line-height:1;margin-top:.6rem;padding:.35rem .7rem;text-transform:uppercase}
.t4tl__item.is-live:not(.is-feat) ~ .t4tl__item.is-next:before{background:repeating-linear-gradient(90deg,var(--tl-soon) 0 .8rem,transparent 0 1.4rem)}
.t4tl__legend .is-live:not(.is-feat):before{background:var(--tl-live);box-shadow:none;margin-left:0}
/* scale (proprietà a sé): transform è dell'animazione d'ingresso */
.t4tl__stop:hover .t4tl__dot,.t4tl__item.is-open .t4tl__dot{scale:1.25}
.t4tl__title{font-family:var(--font-family-headings),sans-serif;font-size:1.35rem;line-height:1.15;text-transform:uppercase}
.t4tl__place{color:var(--tl-muted);font-size:1.15rem;line-height:1.35;margin-top:.3rem}
.t4tl__item.is-done .t4tl__title,.t4tl__item.is-done .t4tl__date{opacity:.55}
.t4tl__stop:hover .t4tl__title,.t4tl__item.is-open .t4tl__title{color:var(--tl-soon);opacity:1}
/* scia della stagione (dal primo pallino a quello in evidenza, una volta) e cometa
   sulle gare future: span posizionati da t4-calendario.js dentro il viewport */
.t4tl__sweep{background:var(--tl-sweep);border-radius:3px;box-shadow:0 0 12px var(--tl-sweep-glow);height:3px;opacity:0;pointer-events:none;position:absolute;transform-origin:left}
.t4tl.is-inview .t4tl__sweep{animation:t4tl-sweep 1.5s .45s cubic-bezier(.65,0,.35,1) both}
@keyframes t4tl-sweep{0%{opacity:1;transform:scaleX(0)}75%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1)}}
.t4tl__comet{height:3px;overflow:hidden;pointer-events:none;position:absolute}
.t4tl__comet i{background:linear-gradient(90deg,transparent,var(--tl-soon),var(--tl-hot));border-radius:3px;display:block;height:100%;transform:translateX(-6rem);width:6rem}
.t4tl.is-inview .t4tl__comet i{animation:t4tl-comet 7s 2.4s linear infinite}
@keyframes t4tl-comet{0%{transform:translateX(-6rem)}35%,100%{transform:translateX(var(--w))}}
/* gara in evidenza: card rialzata sopra la data, agganciata dal basso (con la
   chiusura iscrizioni cresce verso l'alto, non sopra la data) */
.t4tl__card{animation:t4tl-float 3.2s ease-in-out infinite;background:var(--tl-card-bg);border-radius:1.4rem;bottom:calc(100% + 1rem);box-shadow:0 1.6rem 3.6rem rgba(4,10,40,.3);color:var(--tl-card-fg);display:flex;flex-direction:column;gap:.35rem;left:50%;margin-left:-11rem;padding:1.3rem 1.5rem 1.4rem;position:absolute;text-align:left;width:22rem}
.t4tl__card:after{background:inherit;bottom:-.6rem;content:"";height:1.4rem;left:calc(50% - .7rem);position:absolute;transform:rotate(45deg);width:1.4rem}
.t4tl__card .t4tl__badge{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.08em;opacity:.8;text-transform:uppercase}
.t4tl__card .t4tl__title{color:inherit!important;font-size:1.8rem;opacity:1!important}
.t4tl__card .t4tl__place{color:inherit;opacity:.75}
.t4tl__card .t4-dl{align-self:flex-start;font-size:.9rem;margin-top:.35rem}
/* riquadro della stessa gara aperto: la card si toglie (diceva le stesse cose sopra) */
.t4tl__item.is-open .t4tl__card{opacity:0;pointer-events:none;visibility:hidden}
/* sul blu: bordo sfumato nei colori del sito che scorre due volte e si ferma */
.t4tl--dark .t4tl__card{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#2448d8,#86a0ff,#fff,#86a0ff,#2448d8) border-box;background-size:auto,250% 100%;border:2px solid transparent}
.t4tl--dark .t4tl__card:after{background:#fff}
.t4tl--dark.is-inview .t4tl__card{animation:t4tl-float 3.2s ease-in-out infinite,t4tl-shine 3s 1.6s linear 2}
@keyframes t4tl-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-.5rem)}}
/* 166,667% = una mattonella intera (250% di larghezza): il giro riparte senza scatti */
@keyframes t4tl-shine{to{background-position:0 0,166.667% 0}}
/* la cascata parte quando la timeline entra in vista (is-inview da t4-calendario.js);
   fuori vista (is-away) i giri continui si fermano */
.t4tl:not(.is-inview) .t4tl__item,.t4tl:not(.is-inview) .t4tl__item:before,.t4tl:not(.is-inview) .t4tl__now,.t4tl:not(.is-inview) .t4tl__now:before,.t4tl:not(.is-inview) .t4tl__dot,.t4tl:not(.is-inview) .t4tl__dot:before,.t4tl:not(.is-inview) .t4tl__dot:after{animation-play-state:paused}
.t4tl.is-away .t4tl__dot:before,.t4tl.is-away .t4tl__dot:after,.t4tl.is-away .t4tl__card,.t4tl.is-away .t4tl__comet i,.t4tl.is-away .t4tl__hint i,.t4tl.is-away .t4-dl.is-urgent{animation-play-state:paused}

/* riquadro della tappa */
.t4tl__pop{background:#fff;border-radius:1.6rem;box-shadow:0 2.4rem 6rem rgba(4,10,40,.32);color:rgb(var(--color-black));opacity:0;padding:2rem 2.2rem 2.2rem;position:absolute;transform:translateY(.8rem);transition:opacity .25s ease,transform .25s ease;width:min(36rem,calc(100% - 1.6rem));z-index:30}
.t4tl__pop.is-on{opacity:1;transform:none}
.t4tl__pop.is-off{opacity:0;pointer-events:none}
.t4tl__pop:before{background:#fff;content:"";height:1.4rem;left:calc(var(--arrow-x,50%) - .7rem);position:absolute;top:-.6rem;transform:rotate(45deg);width:1.4rem}
.t4tl__pop-x{align-items:center;background:rgba(var(--color-black),.06);border:0;border-radius:50%;color:inherit;cursor:pointer;display:flex;height:3rem;justify-content:center;position:absolute;right:1.2rem;top:1.2rem;width:3rem}
.t4tl__pop-x:hover{background:rgb(var(--color-primary));color:#fff}
.t4tl__pop-k{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.06em;margin:0 3rem .5rem 0;opacity:.6;text-transform:uppercase}
.t4tl__pop-t{font-family:var(--font-family-headings),sans-serif;font-size:2.1rem;font-weight:400;line-height:1.05;margin:0;padding-right:3.4rem;text-transform:uppercase}
.t4tl__pop-p{font-size:1.25rem;margin:.4rem 0 1.2rem;opacity:.7}
.t4tl__pop-row{border-top:1px solid rgba(var(--color-black),.1);display:flex;flex-direction:column;gap:.5rem;padding:1rem 0}
.t4tl__pop-l{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.08em;opacity:.55;text-transform:uppercase}
.t4tl__pop-row strong{font-size:1.35rem}
.t4tl__pop-chips,.t4tl__pop-costs{display:flex;flex-wrap:wrap;gap:.5rem}
.t4tl-chip{background:rgba(var(--color-primary),.1);border-radius:999px;color:rgb(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.04em;padding:.35rem .9rem;text-transform:uppercase}
.t4tl-cost{background:rgba(var(--color-black),.05);border-radius:.8rem;font-size:1.3rem;font-weight:600;padding:.5rem .9rem}
.t4tl-fee{font-family:var(--font-family-headings);font-size:1.6rem;font-weight:500}
.t4tl-cost em{display:block;font-family:var(--font-family-body),monospace;font-size:.9rem;font-style:normal;font-weight:400;letter-spacing:.06em;opacity:.6;text-transform:uppercase}
/* weekend di gara: prove libere del sabato e iscrizione della domenica */
.t4tl__wk{display:grid;gap:.9rem;margin:0}
.t4tl__wk > div{display:grid;gap:.4rem}
.t4tl__wk dt{color:rgba(var(--color-black),.6);font-family:var(--font-family-body),monospace;font-size:.9rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}
.t4tl__wk dt b{color:rgb(var(--color-black));font-weight:700}
.t4tl__wk dd{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem;margin:0}
.t4tl__wk strong{font-size:1.35rem}
.t4tl__wk .is-tbd{font-style:italic;font-weight:400;opacity:.6}
.t4tl__wk small{flex-basis:100%;font-size:1.05rem;opacity:.7}
.t4tl__pop-row--dl .t4-dl{align-self:flex-start;font-size:1.15rem}
/* da 768px sabato e domenica affiancati in un riquadro più largo: alto 527px,
   sui portatili chiusura iscrizioni e "Partecipa" finivano sotto lo schermo */
@media (min-width:768px){
  .t4tl__pop{width:min(46rem,calc(100% - 1.6rem))}
  .t4tl__wk:has(> div + div){gap:.9rem 1.6rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
}
.t4tl__pop-row--dl.is-urgent{background:#fef3f2;border:1px solid #fecdca;border-radius:.8rem;margin:.4rem 0;padding:.8rem 1rem}
.t4tl__pop-cta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.t4tl-btn{align-items:center;border:1px solid transparent;border-radius:999px;display:inline-flex;font-family:var(--font-family-headings),sans-serif;font-size:1.1rem;gap:.6rem;letter-spacing:.06em;padding:1rem 1.5rem;text-decoration:none;text-transform:uppercase;transition:background .2s ease,color .2s ease,transform .2s ease}
.t4tl-btn--blue{background:rgb(var(--color-primary));color:#fff}
.t4tl-btn--blue:hover{background:#2a43c4;transform:translateY(-.15rem)}
.t4tl-btn--ghost{border-color:rgba(var(--color-black),.25);color:rgb(var(--color-black))}
.t4tl-btn--ghost:hover{border-color:rgb(var(--color-primary));color:rgb(var(--color-primary))}

/* telefoni: tappe più strette, card della gara in evidenza larga quasi quanto lo
   schermo (spazio sopra misurato con badge e chiusura su più righe); il riquadro
   della tappa è un foglio fisso in basso che scorre da solo (data-lenis-prevent) */
@media (max-width:767px){
  .t4tl__hint{display:none}
  .t4tl__legend{font-size:.75rem;gap:.4rem 1rem}
  /* tappe strette: a 360-390px in vista l'ultima corsa, "Oggi", la gara in
     evidenza e la prima in programma (center() in t4-calendario.js); la card
     della gara in evidenza è più stretta dello schermo e resta intera */
  .t4tl__item{flex-basis:6.5rem}
  .t4tl__item.is-feat{flex-basis:6.5rem}
  .t4tl__now{flex-basis:3rem}
  .t4tl__now-l{font-size:.75rem}
  .t4tl__stop{padding:0 .35rem}
  .t4tl__title{font-size:1rem}
  .t4tl__place{font-size:.75rem;overflow-wrap:anywhere}
  .t4tl__date b{font-size:1.75rem}
  .t4tl__card{margin-left:calc(min(16rem,100vw - 7.5rem) / -2);width:min(16rem,calc(100vw - 7.5rem))}
  .t4tl__card{padding:1rem 1.2rem 1.1rem}
  .t4tl__card .t4tl__badge,.t4tl__card .t4-dl{font-size:.75rem}
  .t4tl__card .t4tl__badge{letter-spacing:.03em}
  .t4tl__card .t4tl__title{font-size:1.4rem}
  .t4tl__card .t4tl__place{font-size:1rem}
  .t4tl__track{padding-inline:2rem}
  .t4tl__viewport{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%)}
  .t4tl__pop{border-radius:1.6rem 1.6rem 0 0;bottom:0;box-shadow:0 -1.2rem 4rem rgba(4,10,40,.35);left:0!important;max-height:min(85vh,44rem);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:1.6rem 1.5rem 0;position:fixed;right:0;top:auto!important;transform:translateY(100%);transition:transform .35s cubic-bezier(.215,.61,.355,1),opacity .25s ease;width:auto;z-index:1000}
  /* misure del foglio con la root a 16px: titolo su una riga, pulsanti affiancati,
     chiusura iscrizioni visibile senza scorrere sui telefoni comuni */
  .t4tl__pop-t{font-size:1.6rem}
  .t4tl__pop-p{font-size:1rem;margin:.3rem 0 .8rem}
  .t4tl__pop-row{padding:.75rem 0}
  .t4tl__wk{gap:.7rem}
  .t4tl__wk strong{font-size:1.1rem}
  .t4tl-cost{font-size:1.05rem;padding:.4rem .7rem}
  .t4tl__pop-row--dl .t4-dl{font-size:.9375rem}
  .t4tl-btn{font-size:.875rem;padding:.85rem 1.2rem}
  /* "Partecipa" e "Programma" sempre in vista, fermi in fondo al foglio */
  .t4tl__pop-cta{background:#fff;bottom:0;box-shadow:0 -1px 0 rgba(var(--color-black),.08);margin:1rem -1.5rem 0;padding:.9rem 1.5rem calc(1.1rem + env(safe-area-inset-bottom));position:sticky;z-index:2}
  .t4tl__pop.is-on{transform:none}
  .t4tl__pop:before{display:none}
}
/* tablet (768-991, root a 16px): tappe e sfumature più strette, così come sui
   telefoni in vista ci sono l'ultima gara corsa, "Oggi", la gara in evidenza e la
   prima in programma */
@media (min-width:768px) and (max-width:991px){
  .t4tl__item{flex-basis:12rem}
  .t4tl__item.is-feat{flex-basis:15rem}
  .t4tl__now{flex-basis:5rem}
  .t4tl__viewport{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3rem,#000 calc(100% - 3rem),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 3rem,#000 calc(100% - 3rem),transparent 100%)}
  .t4tl.at-start .t4tl__viewport{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),transparent 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),transparent 100%)}
  .t4tl.at-end .t4tl__viewport{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3rem);mask-image:linear-gradient(90deg,transparent 0,#000 3rem)}
  .t4tl.at-start.at-end .t4tl__viewport{-webkit-mask-image:none;mask-image:none}
}
/* telefoni stretti (320-399): titolo e i due pulsanti del foglio su una riga */
@media (max-width:399px){
  .t4tl__pop-t{font-size:1.4rem}
  .t4tl__pop-cta{flex-wrap:nowrap}
  .t4tl__pop-cta .t4tl-btn{letter-spacing:.04em;padding:.8rem .95rem}
}
/* velo sotto il foglio dei telefoni (tocco = chiude) */
.t4tl__scrim{background:rgba(14,20,48,.55);inset:0;opacity:0;position:fixed;touch-action:none;transition:opacity .3s ease;z-index:999}
.t4tl__scrim.is-on{opacity:1}
.t4tl__scrim[hidden]{display:none}
@media (min-width:768px){.t4tl__scrim{display:none}}
@media (prefers-reduced-motion:reduce){
  .t4tl__item,.t4tl__item:before,.t4tl__now,.t4tl__now:before,.t4tl__card,.t4tl__dot,.t4tl__dot:before,.t4tl__dot:after,.t4tl__hint i{animation:none!important}
  .t4tl__sweep,.t4tl__comet{display:none!important}
}

/* card 4:5 con le foto della pista che segue il mouse sui banner del Calendario */
.t4c-cursor{aspect-ratio:4/5;border-radius:1.6rem;box-shadow:0 2rem 5rem rgba(15,19,32,.35);left:0;opacity:0;overflow:hidden;pointer-events:none;position:fixed;scale:.92;top:0;transform:translate3d(-999px,-999px,0);transition:opacity .3s ease,scale .3s ease;width:clamp(22rem,22vw,30rem);z-index:1200}
.t4c-cursor.is-on{opacity:1;scale:1}
.t4c-cursor__imgs{background:rgb(var(--color-black));inset:0;position:absolute}
.t4c-cursor__imgs img{height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transform:scale(1.08);transition:opacity .7s ease,transform 2.6s ease;width:100%}
.t4c-cursor__imgs img.is-on{opacity:1;transform:scale(1)}
.t4c-cursor__bar{background:rgba(255,255,255,.3);border-radius:999px;bottom:1.2rem;height:.3rem;left:1.2rem;overflow:hidden;position:absolute;right:1.2rem}
.t4c-cursor__bar i{background:#fff;display:block;height:100%;transition:width .5s ease;width:10%}

/* --- Pagina Circuiti: schede dei circuiti (t4ck-*), sui banner del Calendario --- */
.t4c-banner__state.is-live{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:#fff}
.t4ck-body{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr);padding:0 1.6rem 2rem}
@media (min-width:992px){.t4ck-body{gap:3rem;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);padding:0 2rem 2.4rem}}
.t4ck-gal__main{aspect-ratio:4/3;background:rgba(var(--color-black),.06);border-radius:1.2rem;overflow:hidden;position:relative}
.t4ck-gal__main img{height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transition:opacity .5s ease;width:100%}
.t4ck-gal__main img.is-on{opacity:1}
.t4ck-gal__btn{align-items:center;background:rgba(255,255,255,.9);border:0;border-radius:50%;color:rgb(var(--color-black));cursor:pointer;display:flex;height:3.6rem;justify-content:center;position:absolute;top:calc(50% - 1.8rem);transition:background .2s ease,color .2s ease;width:3.6rem;z-index:2}
.t4ck-gal__btn[data-d="-1"]{left:1rem}.t4ck-gal__btn[data-d="1"]{right:1rem}
.t4ck-gal__btn:hover{background:rgb(var(--color-primary));color:#fff}
.t4ck-gal__n{background:rgba(15,19,32,.65);border-radius:999px;bottom:1rem;color:#fff;font-family:var(--font-family-body),monospace;font-size:.9rem;padding:.35rem .8rem;position:absolute;right:1rem;z-index:2}
.t4ck-gal__thumbs{display:flex;gap:.6rem;margin-top:.8rem;overflow-x:auto;scrollbar-width:none}
.t4ck-thumb{background:none;border:2px solid transparent;border-radius:.7rem;cursor:pointer;flex:0 0 7rem;height:5.2rem;overflow:hidden;padding:0}
.t4ck-thumb img{display:block;height:100%;object-fit:cover;width:100%}
.t4ck-thumb.on{border-color:rgb(var(--color-primary))}
.t4ck-info{display:flex;flex-direction:column;gap:1rem}
.t4ck-desc{font-size:1.4rem;line-height:1.6;margin:0}
.t4ck-services{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.t4ck-services li{align-items:center;background:rgba(var(--color-primary),.08);border-radius:999px;color:rgb(var(--color-primary));display:inline-flex;font-size:1.15rem;gap:.45rem;padding:.45rem .9rem}
.t4ck-races{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.t4ck-race{align-items:center;border-top:1px dashed rgba(var(--color-black),.15);display:grid;gap:1rem;grid-template-columns:5.5rem 1fr auto;padding:.7rem 0}
.t4ck-race:first-child{border-top:0}
.t4ck-race__d{font-family:var(--font-family-body),monospace;font-size:1rem;opacity:.7;text-transform:uppercase}
.t4ck-race__t{font-family:var(--font-family-headings),sans-serif;font-size:1.3rem;text-transform:uppercase}
.t4ck-race a{color:rgb(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase}
.t4ck-race.is-done{opacity:.65}
.t4ck-days{font-size:1.25rem;margin:0}
.t4ck .t4c-race__links{border-top:0;padding:0;margin-top:.4rem}

/* position:sticky: il tema mette overflow-x:hidden su html e body, che rende
   body un contenitore di scroll e blocca ogni elemento sticky (scheda kart,
   galleria orizzontale). "clip" taglia allo stesso modo senza crearlo. */
@supports (overflow:clip){html,body{overflow-x:clip!important}}

/* --- News: elenco a righe che si aprono sul posto (t4nw-*) --- */
.t4s .t4nw{padding-block:3.5rem 6rem;position:relative}
.t4nw__head{align-items:end;display:flex;flex-wrap:wrap;gap:1.5rem 3rem;justify-content:space-between;margin-bottom:2rem}
.t4nw__filters{display:flex;flex-wrap:wrap;gap:.5rem}
.t4nw__filter{background:none;border:1px solid rgba(var(--color-black),.18);border-radius:999px;color:inherit;cursor:pointer;font-size:1.1rem;padding:.55rem 1.1rem;transition:background .2s ease,color .2s ease,border-color .2s ease}
.t4nw__filter span{font-family:var(--font-family-body),monospace;font-size:.9rem;opacity:.6}
.t4nw__filter:hover{border-color:rgb(var(--color-primary))}
.t4nw__filter.on{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:#fff}
/* cliente 28/10/2026, punto 28: /news/?gara=ID, solo le notizie di una gara */
.t4nw__gara{align-items:center;background:rgba(var(--color-primary),.06);border-radius:1rem;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;justify-content:space-between;margin:0 0 1.25rem;padding:.9rem 1.25rem}
.t4nw__gara p{font-size:1.1rem;margin:0}
.t4nw__gara span{opacity:.6}
.t4nw__list{border-top:2px solid rgb(var(--color-black));list-style:none;margin:0;padding:0}
.t4nw__item{animation:t4k-in .6s cubic-bezier(.215,.61,.355,1) both;animation-delay:calc(var(--i,0) * .06s);border-bottom:1px solid rgba(var(--color-black),.14)}
.t4nw__list.is-wait .t4nw__item{animation-play-state:paused}   /* is-wait (t4-live.js): righe ferme finché l'elenco non è in vista */
.t4nw__row{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:grid;gap:1.25rem 2rem;grid-template-columns:7rem minmax(0,1fr) auto;padding:1.6rem .5rem;text-align:left;transition:background .25s ease;width:100%}
.t4nw__row:hover{background:rgba(var(--color-primary),.04)}
.t4nw__date{display:flex;flex-direction:column;line-height:1}
.t4nw__date b{font-family:var(--font-family-headings),sans-serif;font-size:3.4rem;font-weight:400}
.t4nw__date span{font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.06em;margin-top:.3rem;opacity:.6;text-transform:uppercase}
.t4nw__main{display:flex;flex-direction:column;gap:.45rem;min-width:0}
/* flex-wrap: sui telefoni testo ed <em> andavano a capo ognuno per conto suo, in due colonne */
.t4nw__kind{align-items:center;color:rgb(var(--color-primary));display:inline-flex;flex-wrap:wrap;font-family:var(--font-family-body),monospace;font-size:.95rem;gap:.4rem;letter-spacing:.08em;row-gap:.15rem;text-transform:uppercase}
.t4nw__kind em{font-style:normal;opacity:.65;white-space:nowrap}
.t4nw__item.is-alert .t4nw__kind{color:#c2410c}
.t4nw__title{font-family:var(--font-family-headings),sans-serif;font-size:clamp(1.9rem,2.2vw,2.6rem);font-weight:400;line-height:1.05;text-transform:uppercase}
.t4nw__excerpt{font-size:1.25rem;line-height:1.5;opacity:.72}
.t4nw__chev{align-items:center;border:1px solid rgba(var(--color-black),.18);border-radius:999px;display:flex;height:3.4rem;justify-content:center;transition:transform .35s ease,background .25s ease,color .25s ease,border-color .25s ease;width:3.4rem}
.t4nw__row:hover .t4nw__chev{border-color:rgb(var(--color-primary));color:rgb(var(--color-primary))}
.t4nw__item.is-open .t4nw__chev{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:#fff;transform:rotate(180deg)}
.t4nw__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.215,.61,.355,1)}
.t4nw__item.is-open .t4nw__panel{grid-template-rows:1fr}
.t4nw__inner{min-height:0;overflow:hidden}
.t4nw__body{display:grid;gap:1.5rem 3rem;grid-template-columns:1fr;opacity:0;padding:0 .5rem 2.2rem;transform:translateY(-8px);transition:opacity .35s ease,transform .45s ease}
.t4nw__item.is-open .t4nw__body{opacity:1;transform:none;transition-delay:.12s}
@media (min-width:900px){.t4nw__body{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding-left:9rem}}
.t4nw__img{aspect-ratio:3/2;border-radius:.9rem;margin:0;overflow:hidden}
.t4nw__img img{display:block;height:100%;object-fit:cover;width:100%}
.t4nw__text p{font-size:1.3rem;line-height:1.65;margin:0 0 1rem}
.t4nw__tools{align-items:center;display:flex;gap:1rem;margin-top:1.5rem!important}
.t4nw__copy{background:none;border:0;border-bottom:1px solid currentColor;color:rgb(var(--color-primary));cursor:pointer;font-family:var(--font-family-body),monospace;font-size:1rem;letter-spacing:.06em;padding:0 0 .15rem;text-transform:uppercase}
.t4nw__done{color:#15803d;font-size:1rem}
@media (max-width:640px){.t4nw__row{gap:.8rem 1rem;grid-template-columns:4.6rem minmax(0,1fr) auto}.t4nw__date b{font-size:2.6rem}.t4nw__chev{height:2.8rem;width:2.8rem}.t4nw__excerpt{display:none}}
@media (prefers-reduced-motion:reduce){.t4nw__panel,.t4nw__body,.t4nw__item{animation:none;transition:none}}
.t4nw__item.is-open .t4nw__excerpt{display:none}
.t4ss-ev.is-up .t4ss-lbl{top:auto;bottom:calc(50% + .95rem)}
.t4ss-ev.is-next.is-up .t4ss-lbl{bottom:calc(50% + 1.3rem)}
.t4s .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}

/* --- Team: card a scorrimento orizzontale (variante CMS "hscroll" delle facilities) --- */
.t4hs--cards{background:radial-gradient(60% 80% at 100% 0%,rgba(72,104,255,.35),transparent 60%),linear-gradient(165deg,#16244f,#0b112a)}
.t4hs--cards .t4hs__track{align-items:stretch}
.t4hs__card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:1.2rem;display:flex;flex:0 0 auto;flex-direction:column;gap:1rem;min-height:clamp(20rem,44vh,28rem);padding:1.8rem;position:relative;scroll-snap-align:center;transition:background .3s ease,border-color .3s ease,transform .3s ease;width:clamp(22rem,26vw,30rem)}
.t4hs__card:hover{background:rgba(255,255,255,.1);border-color:rgba(159,180,255,.5);transform:translateY(-4px)}
.t4hs.is-pinned .t4hs__card:nth-child(even){transform:translateY(2rem)}
.t4hs.is-pinned .t4hs__card:nth-child(even):hover{transform:translateY(calc(2rem - 4px))}
.t4hs__cnum{font-family:var(--font-family-headings),sans-serif;font-size:4.5rem;line-height:1;opacity:.18}
.t4hs__cicon{align-items:center;background:#fff;border-radius:999px;color:#172a86;display:flex;height:4rem;justify-content:center;width:4rem}
.t4hs__cicon svg{height:1.9rem;width:1.9rem}
.t4hs__ctext{font-family:var(--font-family-headings),sans-serif;font-size:2rem;line-height:1.08;margin:auto 0 0;text-transform:uppercase}
.t4hs__cprice{border-top:1px solid rgba(255,255,255,.2);color:#9fb4ff;font-family:var(--font-family-body),monospace;font-size:1.1rem;margin:0;padding-top:.9rem}

/* --- Bottoni a pillola t4tm__btn: nati con la vecchia lista team (sostituita da
   t4-teams.css, P4), restano per l'elenco circuiti di t4-vetrina.js (loadMap) --- */
.t4tm__btn{align-items:center;border:1px solid rgba(var(--color-black),.25);border-radius:999px;color:inherit;display:inline-flex;font-family:var(--font-family-headings),sans-serif;font-size:1.05rem;letter-spacing:.06em;padding:.7rem 1.2rem;text-decoration:none;text-transform:uppercase;transition:all .2s ease}
.t4tm__btn:hover{border-color:rgb(var(--color-primary));color:rgb(var(--color-primary))}
.t4tm__btn--primary{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:#fff}
.t4tm__btn--primary:hover{background:#0e1a5a;color:#fff}

/* --- Candidature team / partner: pulsante sotto la propria sezione, modulo che si apre (t4cand-*) --- */
.t4s .t4cand{padding-block:0 4rem;position:relative}
.t4cand__bar{align-items:center;background:linear-gradient(160deg,#1d3299,#0e1a5a);border-radius:1.2rem;color:#fff;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;padding:1.6rem 2rem}
.t4cand__q{font-family:var(--font-family-headings),sans-serif;font-size:clamp(1.8rem,2.2vw,2.6rem);line-height:1.05;margin:0;text-transform:uppercase}
.t4cand__cta{align-items:center;background:#fff;border:0;border-radius:999px;color:#172a86;cursor:pointer;display:inline-flex;font-family:var(--font-family-headings),sans-serif;font-size:1.35rem;gap:.6rem;letter-spacing:.02em;min-height:4rem;padding:0 1.8rem;text-transform:uppercase;transition:background .2s ease,transform .2s ease}
.t4cand__cta:hover{background:#9fb4ff}
.t4cand__cta svg{transition:transform .3s ease}
.t4cand.is-open .t4cand__cta svg{transform:rotate(180deg)}
.t4cand__wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.215,.61,.355,1)}
.t4cand.is-open .t4cand__wrap{grid-template-rows:1fr}
.t4cand__inner{min-height:0;overflow:hidden}
.t4cand__form{margin-top:1.2rem;opacity:0;transform:translateY(-8px);transition:opacity .3s ease,transform .4s ease}
.t4cand.is-open .t4cand__form{opacity:1;transform:none;transition-delay:.12s}
/* pannelli chiusi (news, team, candidature): fuori dalla tabulazione e dagli screen reader.
   In chiusura visibility si spegne a fine animazione (.5s), in apertura subito */
.t4nw__inner,.t4cand__inner{transition:visibility 0s .5s;visibility:hidden}
.t4nw__item.is-open .t4nw__inner,.t4cand.is-open .t4cand__inner{transition-delay:0s;visibility:visible}
@media (prefers-reduced-motion:reduce){.t4nw__inner,.t4cand__inner{transition:none}}

/* ==========================================================================
   Mobile (< 992px): la root del tema passa da 12px a 16px, quindi i rem dei
   componenti nuovi crescono di un terzo. Qui si riportano a misura di telefono.
   ========================================================================== */
@media (max-width:991px){
  /* ricambi */
  /* scorrimento orizzontale (da telefono è una fila da scorrere col dito) */
  .t4hs__pin{gap:1.4rem;padding:3.5rem 0}
  .t4hs__head h2{font-size:2.4rem}
  .t4hs__head p{font-size:1rem}
  .t4hs__hint{font-size:.75rem}
  .t4hs__item{height:15rem}
  .t4hs__item figcaption{font-size:.95rem}
  .t4hs__item figcaption b{font-size:.75rem}
  .t4hs__card{gap:.8rem;min-height:15rem;padding:1.3rem;width:17rem}
  .t4hs__cnum{font-size:3rem}
  .t4hs__cicon{height:3rem;width:3rem}
  .t4hs__cicon svg{height:1.4rem;width:1.4rem}
  .t4hs__ctext{font-size:1.35rem}
  .t4hs__cprice{font-size:.85rem}
  /* news */
  .t4nw__title{font-size:1.35rem}
  .t4nw__date b{font-size:2rem}
  .t4nw__date span,.t4nw__kind{font-size:.72rem}
  .t4nw__filter{font-size:.85rem;padding:.45rem .85rem}
  .t4nw__text p{font-size:1rem}
  .t4nw__copy{font-size:.8rem}
  .t4nw__body{padding-left:.5rem}
  /* risultati */
  .t4lr-kicker,.t4lr-stat span,.t4lr-winner dt,.t4lr-table th,.t4lr-legend,.t4lr-flag,.t4lr-dbox h4{font-size:.7rem}
  .t4lr-champ{font-size:1.05rem;padding:.6rem 1.1rem}
  .t4lr-gen{font-size:.8rem}
  .t4lr-round{min-width:10.5rem;padding:.8rem 1rem}
  .t4lr-round__n{font-size:1.25rem}
  .t4lr-round__d{font-size:.9rem}
  .t4lr-round__p{font-size:.8rem}
  .t4lr-round__s{font-size:.7rem}
  .t4lr-winner__num{font-size:2rem;height:3.6rem;min-width:3.6rem}
  .t4lr-winner__name span{font-size:1.3rem}
  .t4lr-winner__name strong{font-size:2.4rem}
  .t4lr-winner dd{font-size:1.4rem}
  .t4lr-track__name{font-size:1.5rem}
  .t4lr-track__city{font-size:.9rem}
  .t4lr-track__facts span,.t4lr-track__links a{font-size:.72rem}
  .t4lr-track__facts strong{font-size:.95rem}
  .t4lr-tab{font-size:1.1rem;padding:.7rem .8rem}
  .t4lr-sess{font-size:.75rem}
  /* tabella risultati: Pos e Pilota restano fermi mentre le altre colonne scorrono sotto
     (prima scorrendo sparivano i nomi); il nome va a capo invece di allargare la tabella.
     Pos larga esattamente 3rem, perché Pilota si ferma a left:3rem; 9rem tengono
     "Nome Cognome" su una riga. Il bordo sotto l'intestazione scura (invisibile) va tolto:
     con le celle sticky lasciava un gradino di 1px sotto Pos e Pilota */
  .t4lr-table{font-size:.95rem;min-width:0}
  .t4lr-table th:first-child,.t4lr-table td.t4lr-pos{left:0;min-width:3rem;padding-inline:.75rem .25rem;position:sticky;width:3rem;z-index:1}
  .t4lr-table th:nth-child(3),.t4lr-table td.t4lr-pilot{box-shadow:inset -1px 0 rgba(var(--color-black),.12);left:3rem;line-height:1.25;min-width:9rem;padding-inline:.75rem;position:sticky;white-space:normal;z-index:1}
  .t4lr-table thead th:is(:first-child,:nth-child(3)){z-index:2}
  .t4lr-table thead + .t4lr-rowgroup{border-top:0}
  /* riga aperta: il dettaglio resta nella parte visibile anche con la tabella scorsa */
  .t4lr-scroll{container-type:inline-size}
  .t4lr-detail__wrap{left:0;position:sticky;width:100cqi}
  /* fondo pieno (quello della pagina, più la tinta della riga) sotto le celle ferme.
     Il primo pixel in alto resta scoperto: lì può cadere la riga di separazione
     della tabella, che sotto una riga aperta spariva (dipende dai mezzi pixel) */
  .t4lr-table td.t4lr-pos,.t4lr-table td.t4lr-pilot{background:linear-gradient(rgb(var(--color-white)),rgb(var(--color-white))) 0 1px/100% 100% no-repeat}
  .t4lr-row:hover td.t4lr-pos,.t4lr-row:hover td.t4lr-pilot{background:linear-gradient(rgba(var(--color-primary),.05),rgba(var(--color-primary),.05)) 0 1px/100% 100% no-repeat,linear-gradient(rgb(var(--color-white)),rgb(var(--color-white))) 0 1px/100% 100% no-repeat}
  .t4lr-rowgroup.is-open td.t4lr-pos,.t4lr-rowgroup.is-open td.t4lr-pilot{background:linear-gradient(rgba(var(--color-primary),.08),rgba(var(--color-primary),.08)) 0 1px/100% 100% no-repeat,linear-gradient(rgb(var(--color-white)),rgb(var(--color-white))) 0 1px/100% 100% no-repeat}
  .t4lr-table .t4lr-nat{display:table;margin:.3rem 0 0}
  .t4lr-pos{font-size:1.2rem}
  .t4lr-dsess strong{font-size:1.3rem}
  .t4lr-metrics h3{font-size:1.4rem}
  .t4lr-stat strong{font-size:1.2rem}
  .t4lr-empty{font-size:.95rem}
  /* team */
  .t4tm__btn{font-size:.9rem}
  .t4cand__bar{padding:1.2rem 1.3rem}
  .t4cand__q{font-size:1.3rem}
  .t4cand__cta{font-size:1rem;min-height:3.2rem;padding:0 1.3rem}
  /* calendario stagione (elenco mobile) */
  .t4ss-legend{gap:.5rem 1.2rem}
  .t4ss-key{font-size:.72rem}
  .t4ss-row__date{font-size:.75rem}
  .t4ss-row__main em{font-size:.85rem}
}
.t4v-sup__h{align-items:center;display:flex;gap:.7rem}
.t4v-sup__i{align-items:center;background:rgba(var(--color-primary),.1);border-radius:.7rem;color:rgb(var(--color-primary));display:inline-flex;flex:0 0 auto;height:2.8rem;justify-content:center;width:2.8rem}
@media (max-width:767px){
  .t4tl.at-start .t4tl__viewport{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent 100%)}
  .t4tl.at-end .t4tl__viewport{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px);mask-image:linear-gradient(90deg,transparent 0,#000 18px)}
  .t4tl.at-start.at-end .t4tl__viewport{-webkit-mask-image:none;mask-image:none}
}
/* focus da tastiera visibile su tutti i controlli dei componenti nuovi */
.t4s button:focus-visible,.t4s a:focus-visible,.t4s [tabindex]:focus-visible,.t4hs a:focus-visible,.t4hs button:focus-visible{outline:2px solid #2448d8;outline-offset:3px}
.t4lr-winner :focus-visible,.t4hs :focus-visible,.t4cand__bar :focus-visible{outline-color:#9fb4ff}

/* --- Giro di coerenza 6/10: hover, focus e movimento ridotto --- */
.t4v-chip{transition:background .2s ease,border-color .2s ease,color .2s ease}
.t4v-chip:hover{border-color:rgb(var(--color-primary));color:rgb(var(--color-primary))}
.t4v-chip.on:hover{color:#fff}
.t4v-day,.t4v-extra{transition:border-color .2s ease,background .2s ease}
.t4v-day:hover,.t4v-extra:hover{border-color:rgb(var(--color-primary))}
.t4ck-thumb{transition:opacity .2s ease,border-color .2s ease}
.t4ck-thumb:hover{opacity:1}
.t4nw__copy:hover,.t4ck-race a:hover,.t4ac-link:hover{color:#0e1a5a;text-decoration:underline}
/* link-card e pulsanti: senza un colore nel :hover vince a:hover di Bootstrap
   del tema (#0a58ca, 0,1,1) e testo e frecce diventano blu fuori palette */
.t4r-doc:hover,.t4ss-ev:hover,.t4ss-row:hover{color:inherit}
.t4tl-btn--blue:hover{color:#fff}
.t4v-model__change:hover{color:#2448d8}
/* i widget t4v-* (mappa, moduli, calcolatore, supporto) non stanno dentro .t4s */
.t4v-card :focus-visible,.t4v-chips :focus-visible,[data-t4-map] :focus-visible,[data-t4-comparison] :focus-visible,[data-t4-calc] :focus-visible,[data-t4-test] :focus-visible,[data-t4-trackform] :focus-visible,[data-t4-support] :focus-visible{outline:2px solid #2448d8;outline-offset:3px}
/* "riduci movimento": niente scritte che scorrono, pulsazioni, ingressi animati o cursore con foto */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .t4c-cursor{display:none!important}
}

/* ==========================================================================
   Coerenza (giro 6/10): una sola scala per titoli di sezione, spaziature,
   angoli delle card e pulsanti. Valori ricavati da quelli del tema.
   ========================================================================== */
/* titoli di sezione dei blocchi dinamici = stessa misura dei titoli del tema (52px a 1440).
   10/2026: misura e tracking dai token di t4-fx.css (--t4-h2, --t4-h2-track),
   gli stessi dei titoli delle pagine nuove (Home, Kart, Ricambi, Supporto,
   Campionato); prima i titoli del tema avevano tracking 0 e gli altri -0,03em */
.t4s h2.title{font-size:var(--t4-h2,clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem));line-height:1;margin-top:-.05em;padding-top:.05em}
.t4hs__head h2{font-size:var(--t4-h2,clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem));line-height:1}
h2.title,.t4hs__head h2{letter-spacing:var(--t4-h2-track,-.025em)}
/* occhiello della galleria Kart (sta fuori da .t4s): come gli altri */
.t4hs__head .subtitle{font-family:var(--font-family-body),monospace;font-size:clamp(.95rem,.92rem + .08vw,1rem);margin:0 0 1.25rem;text-transform:uppercase}
/* respiro verticale unico per le sezioni dei componenti nuovi */
@media (min-width:992px){
  .t4s :is(.t4m,.t4nw,.t4lr,.t4ss-sec,.t4cp,.t4r,.t4c,.t4ct,.t4p,.t4k,.t4ac){padding-block:clamp(6.25rem,7vw,9.5rem)}
  .t4s .t4cand{padding-block:0 clamp(4rem,5vw,6.5rem)}
}
/* angoli: card 1rem ovunque (la nuvoletta della timeline resta più morbida) */
.t4v-card,.t4m-card,.t4hs__card,.t4lr-winner,.t4lr-track,.t4gz,.t4cand__bar,.t4lr-round,.t4ct-card,.t4p-card,.t4k-card,.t4lr-scroll,.t4lr-stat,.t4nw__img,.t4lr-dbox,.t4-form{border-radius:1rem}
/* pulsanti del kit (.btn): pillola come quelli della testata, stesso carattere */
.t4s .btn{border-radius:999px;font-family:var(--font-family-headings),sans-serif;font-size:1.15rem;height:auto;letter-spacing:.06em;line-height:1;min-height:3.75rem;padding-inline:1.9rem}
.t4s .btn:before,.t4s .btn:after{border-radius:inherit}
/* stessi pulsanti del tema (.fh-1748) nei testi delle pagine e nel menu mobile:
   erano rettangoli in Space Mono accanto alle pillole con la stessa etichetta */
main nav.fh-1133>a.fh-1748,.fh-0906 a.fh-1748{border-radius:999px;font-family:var(--font-family-headings),sans-serif;font-size:1.15rem;height:auto;letter-spacing:.06em;line-height:1;min-height:3.75rem;padding-inline:1.9rem}
main nav.fh-1133>a.fh-1748:before,main nav.fh-1133>a.fh-1748:after,.fh-0906 a.fh-1748:before,.fh-0906 a.fh-1748:after{border-radius:inherit}
/* con lo smooth-scroll del tema l'aggancio lo fa ScrollTrigger: niente sticky */
.t4-smoother .t4hs.is-pinned .t4hs__pin{position:relative}
/* sezioni statiche nostre dentro la griglia del tema (Costi, Prenota un test,
   Diventa circuito): occhiello, titolo e testo come nelle sezioni dinamiche */
.t4-head > .u-0469 > .subtitle,.t4-head > .u-0469 > h2,.t4-head > .u-0469 > p{grid-column:1/-1}
.t4-head > .u-0469 > .subtitle{font-family:var(--font-family-body),monospace;font-size:clamp(.95rem,.92rem + .08vw,1rem);margin:0 0 1.25rem;text-transform:uppercase}
.t4-head > .u-0469 > h2{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem);line-height:1;margin:0 0 1.5rem;text-transform:uppercase}
.t4-head > .u-0469 > p{font-size:1.2rem;line-height:1.55;margin:0 0 .5rem;max-width:46rem;opacity:.8}
/* occhiello -> titolo: da 992px stesso spazio dei blocchi del kit (.t4s p.subtitle), prima 15px contro 31 */
@media (min-width:992px){.t4-head > .u-0469 > .subtitle,.t4hs__head .subtitle{margin-bottom:2.8125rem}}
/* blocchi dinamici: titolo, testo e contenuto erano attaccati (0px sopra e sotto il testo) */
.t4s .title + .content{margin-top:1.25rem}
@media (min-width:992px){.t4s .title + .content{margin-top:1.5rem}}
.t4s :is(.t4p,.t4c,.t4lr,.t4ss-sec,.t4cp,.t4r,.t4k,.t4m,.t4ac) > .container-grid + .container{margin-top:clamp(1.875rem,1.4rem + 1.2vw,3rem)}
/* articolo d'apertura del tema (.fh-0015) dopo l'header blu: il margine negativo del tema
   tirava la foto sopra l'header; angoli come le card e titolo come quelli di sezione */
main .fh-0015 .fh-0917{border-radius:1rem;margin-top:clamp(3rem,2rem + 3vw,6.25rem);overflow:hidden}
.fh-0015 .fh-0434 > h2:first-child{font-size:clamp(1.875rem,1.2377rem + 2.6144vw,4.375rem);line-height:1;margin-bottom:1.5rem}
.fh-0015 .fh-0434 > h3{font-size:clamp(1.25rem,1rem + .9vw,2rem);line-height:1.1}
/* filtro FAQ: la freccia del tema veniva da una variabile WP Rocket mai definita nell'export */
main .fh-0206 select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23192B88' stroke-width='2'/%3E%3C/svg%3E") right 1.25rem center/1.25rem auto no-repeat}
/* 992-999px: il tema mette la root a 10px solo in questi 8px (testi a 7,5-10px);
   qui resta quella dei 1000px */
@media screen and (min-width:992px) and (max-width:999.98px){html{font-size:12px}}
/* calcolatore Costi: a tutta larghezza, scelte a sinistra e stima a destra */
.u-0469 > [data-t4-calc],.u-0469 > [data-t4-comparison]{grid-column:1/-1}
@media (min-width:992px){
  .t4v-calc{align-items:start;display:grid;gap:2rem 4rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .t4v-calc .t4v-grid{grid-template-columns:1fr}
  .t4v-calc__out{background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.1);border-radius:1rem;padding:1.6rem}
}
@media (max-width:991px){
  .t4s .btn,main nav.fh-1133>a.fh-1748,.fh-0906 a.fh-1748{font-size:1rem;min-height:3.25rem;padding-inline:1.4rem}
  .t4v-btn{font-size:1rem;padding:1.125rem 1.4rem}
  .t4-head > .u-0469 > p{font-size:1rem}
}

/* touch: aree da toccare di circa 44px. I link di testo crescono con padding e margine
   negativo (l'impaginazione non si sposta); le pillole secondarie hanno tutte la stessa altezza */
@media (pointer:coarse){
  .t4lr-gen,.t4lr-track__links a{margin-block:-.8rem;padding-block:.8rem}
  /* max(): da 992px la radice è 12px e 2.75rem facevano 33px (tablet orizzontale) */
  .t4lr-sess,.t4v-chip,.t4nw__filter{min-height:max(2.75rem,44px)}
  .t4v-zoom button{height:max(2.75rem,44px);width:max(2.75rem,44px)}
  /* chip "Risultati" nella lista gare della mappa: più alto, l'etichetta resta al centro */
  .t4v-racelist__btn{align-items:center;display:inline-flex;justify-content:center}
}

/* ==========================================================================
   Residui dopo i giri di correzione (7/10)
   ========================================================================== */
/* galleria e card orizzontali (sfondo scuro): anello chiaro anche su frecce e
   riga scorrevole; .t4hs button e .t4s [tabindex] lo rimettevano blu (2,6:1) */
.t4hs .t4hs__arrow:focus-visible,.t4hs .t4hs__track[tabindex]:focus-visible{outline-color:#9fb4ff}
.t4hs .t4hs__track[tabindex]:focus-visible{outline-offset:-2px}
@media (max-width:991px){
  /* risultati: l'anello della riga stava sotto le celle ferme (Pos, Pilota) e si
     vedeva a pezzi; si disegna sulle celle (e non più con l'outline di .t4s [tabindex]) */
  :is(.t4s,.t4lr-table) .t4lr-row:focus-visible{outline:none}
  .t4lr-row:focus-visible>td{box-shadow:inset 0 2px rgb(var(--color-primary)),inset 0 -2px rgb(var(--color-primary))}
  .t4lr-row:focus-visible>td:first-child{box-shadow:inset 2px 0 rgb(var(--color-primary)),inset 0 2px rgb(var(--color-primary)),inset 0 -2px rgb(var(--color-primary))}
  .t4lr-row:focus-visible>td:last-child{box-shadow:inset -2px 0 rgb(var(--color-primary)),inset 0 2px rgb(var(--color-primary)),inset 0 -2px rgb(var(--color-primary))}
  .t4lr-row:focus-visible>td.t4lr-pilot{box-shadow:inset -1px 0 rgba(var(--color-black),.12),inset 0 2px rgb(var(--color-primary)),inset 0 -2px rgb(var(--color-primary))}
}
/* elenco gare della stagione sotto i 375px: la colonna del titolo era larga
   60px (una parola per riga) e "Risultati" usciva dallo schermo */
@media (max-width:374.98px){
  .t4ss-row{gap:.5rem;grid-template-columns:3.6rem minmax(0,1fr) auto;padding:.7rem .75rem}
  .t4ss-row .t4ss-row__go,.t4ss-row.is-next .t4ss-row__go{font-size:.8rem}
}
/* testi del tema sotto i 10,5px tra 1000 e 1439px (radice 12px): riga legale
   del footer, occhielli e sottotitoli dei servizi in home */
.fh-0471 p,.fh-0471 ul>li a,p.fh-0971,.t4s .c-services__list .service__subtitle{font-size:max(10.5px,clamp(.8125rem,.7966rem + .0654vw,.875rem))}
/* footer da telefono e tablet: "Realizzato da Aster Studio" va comunque a capo:
   sempre su una riga sua e senza il separatore rimasto appeso dopo "Cookie" */
@media (max-width:991px){
  .fh-0471 ul>li.fh-0472{flex-basis:100%;margin-left:0}
  .fh-0471 ul>li:has(+ li.fh-0472){border-inline-end:0;padding-right:0}
}
/* credit (cliente 23/10/2026): "Realizzato da" + logo Aster bianco in SVG (currentColor);
   la ragione sociale è nell'aria-label del logo */
footer.fh-1522 .fh-0471 ul>li>a.t4-credit{display:inline-flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none}
footer.fh-1522 .fh-0471 ul>li>a.t4-credit .t4-credit__by{font-size:15px;line-height:1}
.fh-0471 .t4-credit__logo{display:block;flex:none;width:auto;height:40px;color:#fff}
.fh-0471 .t4-credit:hover .t4-credit__by,.fh-0471 .t4-credit:focus-visible .t4-credit__by{text-decoration:underline}
/* la bolla del chatbot (56px, fissa a 20px dal fondo e dal bordo destro) copriva la
   fine del credit arrivati in fondo alla pagina: la riga legale resta sopra la bolla */
footer.fh-1522 .fh-0471{padding-bottom:88px}
/* blocco titolo-testo-foto dal CMS (t4-cms.js): da 992px testo e foto affiancati, con spazio tra i due */
@media (min-width:992px){.t4s .c-title-content-image .container-grid > .lg-half{padding-right:clamp(2rem,4vw,5rem)}}
.t4s .c-title-content-image__image{border-radius:1rem;overflow:hidden}
/* titolo grande del blocco titolo-testo-foto: a 320px "riconosciuto" si spezzava a metà */
@media (max-width:359.98px){.t4s .c-title-content-image__top .title{font-size:2rem}}
/* slider verticale della home: a 320px e tra 992 e 1150px il testo delle card
   va su 6-7 righe e il limite del tema (5) lo tagliava a metà frase; la foto
   della card si accorcia e fa posto */
main .fh-0435 .fh-1521 .fh-0154{-webkit-line-clamp:7;flex-shrink:0}
main .fh-0435 .fh-1521 .fh-0393{min-height:0;object-fit:cover}
/* Ricambi (Kart): tra titolo e testo lo stesso spazio degli altri blocchi */
/* consenso privacy dei moduli di candidatura (Diventa circuito, Team) */
.t4v-consent{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.4rem .75rem;margin:1rem 0 1.5rem}
.t4v-consent input{accent-color:rgb(var(--color-primary));flex:0 0 auto;height:1.25rem;margin:.15rem 0 0;width:1.25rem}
.t4v-consent input:focus-visible{outline:2px solid #2448d8;outline-offset:2px}
.t4v-consent input[aria-invalid=true]{outline:2px solid #b42318;outline-offset:2px}
.t4v-consent label{flex:1 1 0;font-size:1rem;line-height:1.5}
.t4v-consent label a{color:inherit;text-decoration:underline}
.t4v-consent .t4-ferr{color:#b42318;flex-basis:100%;font-size:max(.875rem,11px);margin:0}
/* select dei moduli statici sotto i 390px: "Seleziona il circuito" era tagliato a metà */
form[data-static-form]:not(#_) select:not([multiple]){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:389.98px){form[data-static-form]:not(#_) select:not([multiple]){font-size:1rem;padding-left:.75rem;padding-right:2.25rem}}
/* striscia partner con "riduci movimento" (t4kit.js, partnersStatic): marchi
   fermi, una volta sola, in righe centrate */
.t4s .c-partners .slider.is-static .swiper-wrapper,main .fh-0820 .fh-1521.is-static .swiper-wrapper{flex-wrap:wrap;justify-content:center;row-gap:1rem;transform:none}
.t4s .c-partners .c-partners__wrapper:has(.is-static),main .fh-0820 .fh-0278:has(.is-static){-webkit-mask-image:none;mask-image:none}
.t4s .c-partners .slider.is-static .swiper-slide{flex:0 0 auto}
@media (min-width:992px){.t4s .c-partners .slider.is-static .swiper-wrapper,main .fh-0820 .fh-1521.is-static .swiper-wrapper{row-gap:1.5rem}}
/* "riduci movimento": la scritta del CTA finale non scorre e restava tagliata
   ("PRONTO A SCE"); la frase compare una volta sola e va a capo nella pagina */
@media (prefers-reduced-motion:reduce){
  .t4s .c-cta__marquee{margin-inline:auto;white-space:normal;width:89.23%}
  .t4s .c-cta__marquee .c-marquee-text__inner{white-space:normal;width:auto}
  .t4s .c-cta__marquee .c-marquee-text__inner>.wrapper{animation:none;font-size:clamp(2.5rem,1.4rem + 4.6vw,7.5rem);line-height:1}
  .t4s .c-cta__marquee .c-marquee-text__inner>.wrapper:not(:first-child),.t4s .c-cta__marquee .c-marquee-text__inner>.wrapper>p:not(:first-child),.t4s .c-cta__marquee .c-marquee-text__inner>.wrapper>p:after{display:none}
}
@media (prefers-reduced-motion:reduce) and (min-width:992px){.t4s .c-cta__marquee{width:min(90.94%,108.375rem)}}

/* slider agganciato della home: il contenitore (overflow hidden) tagliava
   l'anello di focus esterno delle card, ora è disegnato all'interno */
.fh-1521 a.fh-0436:focus-visible{outline:2px solid #2448d8;outline-offset:-4px}

/* ==========================================================================
   Calendario, fondo pagina: invito a Campionato e Kart (t4nx-*, t4-next.js)
   Card statiche nell'HTML; i dati vivi (capoclassifica, modelli del kart)
   arrivano dalle API. Il sollevamento al passaggio usa translate: transform
   resta al reveal di t4kit, che con is-revealed lo forza a none.
   ========================================================================== */
/* viene subito dopo l'elenco gare, che ha già il suo spazio sotto */
.t4s .t4nx{padding-block:1.5rem 3.125rem}
@media (min-width:992px){.t4s .t4nx{padding-block:2.5rem 6.25rem}}
/* le card sopra le linee verticali di sfondo (.lines) */
.t4s .t4nx .container{position:relative;z-index:3}
.t4nx__grid{display:grid;gap:1.25rem;grid-template-columns:1fr;margin-top:2.5rem}
@media (min-width:768px){.t4nx__grid{grid-template-columns:1fr 1fr}}
@media (min-width:992px){.t4nx__grid{gap:1.5rem;margin-top:3rem}}
.t4nx-card{border-radius:1rem;display:flex;flex-direction:column;gap:.9rem;isolation:isolate;min-height:30rem;overflow:hidden;padding:2.4rem;position:relative;transition:translate .35s cubic-bezier(.215,.61,.355,1),box-shadow .35s ease,border-color .35s ease}
@media (prefers-reduced-motion:no-preference){.t4s .t4nx-card[data-reveal]{transition:opacity var(--reveal-dur,.55s) cubic-bezier(.215,.61,.355,1) var(--reveal-delay,0s),transform var(--reveal-dur,.55s) cubic-bezier(.215,.61,.355,1) var(--reveal-delay,0s),translate .35s cubic-bezier(.215,.61,.355,1),box-shadow .35s ease,border-color .35s ease}}
.t4nx-card--champ,.t4nx-card--blue{background:radial-gradient(70% 60% at 90% 0%,rgba(72,104,255,.55),transparent 60%),linear-gradient(160deg,#1d3299,#172a86 45%,#0e1a5a);color:#fff}
.t4nx-card--kart,.t4nx-card--light{background:#fff;border:1px solid rgba(var(--color-black),.12);color:rgb(var(--color-black))}
@media (hover:hover) and (pointer:fine){
  .t4nx-card:hover{box-shadow:0 2.4rem 5rem rgba(15,19,32,.18);translate:0 -.4rem}
  .t4nx-card--kart:hover,.t4nx-card--light:hover{border-color:rgba(var(--color-primary),.45)}
  .t4nx-card:hover .t4nx-card__img img{transform:scale(1.04)}
}
.t4nx .t4nx-card__k{font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.08em;margin:0;opacity:.7;text-transform:uppercase}
.t4nx .t4nx-card__t{color:inherit;font-family:var(--font-family-headings),sans-serif;font-size:clamp(2.4rem,2.6vw,3.6rem);font-weight:400;letter-spacing:-.01em;line-height:1;margin:0;text-transform:uppercase}
.t4nx .t4nx-card__s{font-size:1.25rem;line-height:1.5;margin:0;max-width:36rem;opacity:.8}
.t4nx-card--champ .t4nx-card__s,.t4nx-card--blue .t4nx-card__s{opacity:.85}
/* pista in filigrana sulla card blu, nella parte bassa che la card del kart
   (più alta, con la foto) lascia libera: il kart fa il giro solo al passaggio
   del mouse. Su una colonna sta dietro al testo, più tenue */
.t4nx-card__bg{-webkit-mask-image:linear-gradient(200deg,#000 35%,transparent 75%);mask-image:linear-gradient(200deg,#000 35%,transparent 75%);pointer-events:none;position:absolute;right:-14%;top:-10%;width:min(78%,50rem);z-index:-1}
.t4s .t4nx-card__bg svg{display:block;height:auto;max-width:none;width:100%}
.t4nx-card__bg path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.t4nx-card__bg .t4nx-track__road{stroke:rgba(255,255,255,.08);stroke-width:34}
.t4nx-card__bg .t4nx-track__start{opacity:.8}
.t4nx-card__bg .t4nx-track__line{stroke:rgba(159,180,255,.45);stroke-width:2}
.t4nx-card__bg .t4nx-track__tail{animation:t4nx-lap-tail 6s linear infinite paused;stroke:rgba(159,180,255,.65);stroke-dasharray:40 960;stroke-width:4}
.t4nx-card__bg .t4nx-track__kart{animation:t4nx-lap-head 6s linear infinite paused;stroke:#fff;stroke-dasharray:.5 999.5;stroke-dashoffset:-40;stroke-width:13}
.t4nx-card--champ:hover .t4nx-card__bg path,.t4nx-card--blue:hover .t4nx-card__bg path{animation-play-state:running}
@keyframes t4nx-lap-tail{from{stroke-dashoffset:0}to{stroke-dashoffset:-1000}}
@keyframes t4nx-lap-head{from{stroke-dashoffset:-40}to{stroke-dashoffset:-1040}}
/* dati vivi */
.t4nx-card__live{display:flex;flex-direction:column;gap:.9rem}
.t4nx-card__live[hidden]{display:none}
.t4nx .t4nx-lead{display:grid;gap:.7rem;list-style:none;margin:.4rem 0 0;padding:0}
.t4nx-lead li{align-items:baseline;border-top:1px solid rgba(255,255,255,.18);display:grid;gap:1rem;grid-template-columns:6.5rem minmax(0,1fr) auto;padding-top:.8rem}
.t4nx-lead em{font-family:var(--font-family-body),monospace;font-size:.9rem;font-style:normal;letter-spacing:.06em;opacity:.65;text-transform:uppercase}
.t4nx-lead strong{font-family:var(--font-family-headings),sans-serif;font-size:1.9rem;font-weight:400;line-height:1.15;overflow-wrap:anywhere;text-transform:uppercase}
.t4nx-lead span{color:#9fb4ff;font-family:var(--font-family-body),monospace;font-size:1.05rem;white-space:nowrap}
/* secondo e terzo sotto il primo, da tablet in su (card affiancate) */
.t4nx .t4nx-pod{display:none;grid-column:2/-1;list-style:none;margin:-.3rem 0 0;padding:0}
@media (min-width:768px){.t4nx .t4nx-pod{display:grid;gap:.25rem}}
.t4nx-pod li{align-items:baseline;border-top:0;counter-increment:t4nx-pod;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding-top:0}
.t4nx-pod{counter-reset:t4nx-pod 1}
.t4nx-pod li strong{font-family:var(--font-family-body),monospace;font-size:1.05rem;font-weight:400;letter-spacing:.02em;opacity:.75;text-transform:none}
.t4nx-pod li strong:before{content:counter(t4nx-pod) "° ";opacity:.6}
.t4nx-pod li span{color:rgba(159,180,255,.8);font-size:.95rem}
.t4nx-lead[data-anim] li{opacity:0}
.t4nx-lead[data-anim].is-in li{animation:t4nx-row .55s cubic-bezier(.215,.61,.355,1) both;animation-delay:calc(var(--k,0) * 60ms + .2s)}
@keyframes t4nx-row{from{opacity:0;transform:translateX(-1rem)}to{opacity:1;transform:none}}
.t4nx .t4nx-card__img{aspect-ratio:16/9;background:rgba(var(--color-black),.05);border-radius:.8rem;margin:-1rem -1rem .4rem;overflow:hidden;position:relative}
@media (min-width:1200px){.t4nx .t4nx-card__img{aspect-ratio:21/9}}
.t4nx-card__img img{height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transition:opacity .8s ease,transform 1s cubic-bezier(.215,.61,.355,1);width:100%}
.t4nx-card__img img.is-on{opacity:1}
.t4nx .t4nx-chips{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.t4nx-chips li{background:rgba(var(--color-primary),.08);border-radius:999px;color:rgb(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.04em;padding:.35rem .85rem;text-transform:uppercase;transition:background .4s ease,color .4s ease}
.t4nx-chips li.is-on{background:rgb(var(--color-primary));color:#fff}
.t4nx .t4nx-card__price,.t4nx .t4nx-card__spec{align-items:baseline;border-top:1px solid rgba(var(--color-black),.1);display:grid;gap:1rem;grid-template-columns:7.5rem minmax(0,1fr);margin:0;padding-top:.6rem}
.t4nx .t4nx-card__price{font-size:1.3rem;font-weight:700}
.t4nx .t4nx-card__spec{font-size:1.15rem;opacity:.85}
.t4nx-card__price em,.t4nx-card__spec em{font-family:var(--font-family-body),monospace;font-size:.9rem;font-style:normal;font-weight:400;letter-spacing:.06em;opacity:.6;text-transform:uppercase}
/* tutta la card è il link (il nome accessibile resta quello del pulsante);
   il pulsante non si sposta, se no il suo transform restringerebbe l'area */
.t4nx .t4nx-card__go{align-self:flex-start;font-size:1.15rem;gap:.7rem;letter-spacing:.07em;line-height:1;margin-top:auto;padding:1.2rem 1.9rem}
.t4nx .t4nx-card__go,.t4nx .t4nx-card__go:hover{transform:none}
.t4nx-card__go::after{border-radius:1rem;content:"";inset:0;position:absolute;z-index:1}
.t4nx-card:hover .t4nx-card__go svg{transform:translate(.2rem,-.2rem)}
.t4s .t4nx-card--champ a:focus-visible,.t4s .t4nx-card--blue a:focus-visible{outline-color:#9fb4ff}
@supports selector(:has(*)){
  .t4s .t4nx-card .t4nx-card__go:focus-visible{outline:0}
  .t4nx-card:has(.t4nx-card__go:focus-visible){outline:2px solid #2448d8;outline-offset:4px}
  .t4nx-card--champ:has(.t4nx-card__go:focus-visible) .t4nx-card__bg path,.t4nx-card--blue:has(.t4nx-card__go:focus-visible) .t4nx-card__bg path{animation-play-state:running}
}
@media (max-width:991px){
  .t4nx-card{min-height:0;padding:1.5rem}
  .t4nx .t4nx-card__img{margin:-.5rem -.5rem .25rem}
  .t4nx .t4nx-card__k,.t4nx-chips li,.t4nx-lead em,.t4nx-card__price em,.t4nx-card__spec em{font-size:.75rem}
  .t4nx .t4nx-card__t{font-size:1.9rem}
  .t4nx .t4nx-card__s,.t4nx .t4nx-card__price{font-size:1rem}
  .t4nx .t4nx-card__go{font-size:.875rem;padding:.9rem 1.4rem}
  .t4nx .t4nx-card__spec{font-size:.9375rem}
  .t4nx-lead strong{font-size:1.15rem}
  .t4nx-lead span{font-size:.875rem}
  .t4nx-lead li{gap:.75rem;grid-template-columns:4.75rem minmax(0,1fr) auto}
  .t4nx .t4nx-card__price,.t4nx .t4nx-card__spec{gap:.75rem;grid-template-columns:5.5rem minmax(0,1fr)}
}
@media (max-width:767px){.t4nx-card__bg{opacity:.6;right:-22%;top:-2rem;width:95%}}
/* telefoni stretti: etichetta sopra il valore, se no il prezzo andava su 3 righe */
@media (max-width:419.98px){.t4nx .t4nx-card__price,.t4nx .t4nx-card__spec{gap:.2rem;grid-template-columns:minmax(0,1fr)}}
/* velo del passaggio di pagina: appeso al body, parte dalla card e finisce
   nel colore della tendina del tema, che la pagina d'arrivo mostra per prima.
   Dalla card bianca parte già scuro: dal bianco al #0f1320 passava per un grigio sporco */
.t4nx-veil{background:#0f1320;display:grid;inset:0;overflow:hidden;padding-inline:1rem;place-items:center;position:fixed;text-align:center;transition:clip-path .55s cubic-bezier(.7,0,.2,1),background-color .55s ease;z-index:10000}
.t4nx-veil--campionato,.t4nx-veil--blue{background:#172a86}
.t4nx-veil--kart,.t4nx-veil--light{background:#0f1320}
.t4nx-veil.is-on{background:#0f1320;clip-path:inset(0 0 0 0 round 0)!important}
.t4nx-veil span{color:#fff;font-family:var(--font-family-headings),sans-serif;font-size:clamp(2.25rem,10vw,9rem);letter-spacing:-.025em;line-height:1;opacity:0;text-transform:uppercase;transform:translateY(1.5rem);transition:opacity .35s ease .2s,transform .45s cubic-bezier(.215,.61,.355,1) .2s}
.t4nx-veil.is-on span{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .t4nx-card,.t4nx-card__img img,.t4nx-chips li{transition:none}
  .t4nx-card__bg .t4nx-track__tail,.t4nx-card__bg .t4nx-track__kart{animation:none;display:none}
  .t4nx-lead[data-anim] li{opacity:1}
  .t4nx-veil{display:none}
}

/* ==== PKG-B ==== */
/* Pagina Circuiti (ott 2026): elenco dei luoghi della mappa con le righe che si
   aprono sul posto (C1), clip muta in loop nella scheda del circuito (C2),
   contatti del circuito (C3). rem da desktop sulla radice a 12px; sotto i 992px
   le misure da telefono (radice a 16px). */
/* tendina sul posto: righe 0fr -> 1fr (JS: t4Acc in t4kit.js o la copia in t4-vetrina.js) */
.t4-acc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.215,.61,.355,1)}
.t4-acc[hidden]{display:none} .t4-acc.is-open{grid-template-rows:1fr}
.t4-acc__in{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .45s}
.t4-acc.is-open>.t4-acc__in{visibility:visible;transition-delay:0s}
.t4-acc__in>*{opacity:0;transform:translateY(-.5rem);transition:opacity .3s ease,transform .4s cubic-bezier(.215,.61,.355,1)}
.t4-acc.is-open>.t4-acc__in>*{opacity:1;transform:none;transition-delay:.08s}
/* la mappa non sta dentro .t4s: testo solo per i lettori di schermo */
[data-t4-map] .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}

/* testa della sezione della mappa (Circuiti), come le altre sezioni della pagina */
.t4v-mhead{margin:0 0 clamp(1.875rem,1.4rem + 1.2vw,3rem)}
.t4v-mhead .title{margin-bottom:0}
/* --- C1: elenco dei luoghi (a destra della mappa, sotto da 900px in giù) --- */
.t4v-dir{display:flex;flex-direction:column;margin:0;overflow:hidden;padding:0}
@media (min-width:901px){
  .t4v-dir{height:var(--t4v-map-h,auto)}
  .t4v-dir__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;position:relative;scrollbar-width:thin}
  /* -2px: fermo in cima copre anche l'ultimo filo della riga che ci scorre sotto */
  .t4v-dir .t4v-dir__gh{position:sticky;top:-2px;z-index:1}
}
.t4v-dir__head{border-bottom:1px solid rgba(var(--color-black),.1);padding:1.4rem 1.6rem 1.1rem}
.t4v-dir .t4v-dir__k{font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.08em;margin:0;text-transform:uppercase}
.t4v-dir__k b{color:rgb(var(--color-primary))}
.t4v-dir .t4v-dir__hint{font-size:1.05rem;line-height:1.45;margin:.35rem 0 0;opacity:.7}
.t4v-dir__group[hidden],.t4v-dir__item[hidden]{display:none}
.t4v-dir .t4v-dir__gh{align-items:center;background:rgb(var(--color-white));border-bottom:1px solid rgba(var(--color-black),.08);display:flex;font-family:var(--font-family-body),monospace;font-size:.875rem;font-weight:400;gap:.6rem;letter-spacing:.08em;line-height:1.2;margin:0;padding:.8rem 1.6rem;text-transform:uppercase}
.t4v-dir__gh i{background:var(--c);border-radius:50%;flex:0 0 auto;height:.8rem;width:.8rem}
.t4v-dir__gh span{margin-left:auto;opacity:.55}
.t4v-dir__list{list-style:none;margin:0;padding:0}
.t4v-dir__item{border-bottom:1px solid rgba(var(--color-black),.08)}
.t4v-dir .t4v-dir__rh{font:inherit;letter-spacing:inherit;line-height:inherit;margin:0;text-transform:none}
.t4v-dir__row{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:grid;font:inherit;gap:1rem;grid-template-columns:1rem minmax(0,1fr) 2.6rem;min-height:4.4rem;padding:1rem 1.6rem;text-align:left;transition:background .2s ease,box-shadow .2s ease;width:100%}
@media (hover:hover){.t4v-dir__row:hover{background:rgba(var(--color-primary),.05)}}
.t4v-dir__row:focus-visible{outline:2px solid #2448d8;outline-offset:-2px}
.t4v-dir__dot{background:var(--c);border-radius:50%;box-shadow:0 0 0 .2rem #fff,0 0 0 calc(.2rem + 1px) rgba(var(--color-black),.15);height:1rem;position:relative;width:1rem}
.t4v-dir__id{min-width:0}
.t4v-dir__id strong{display:block;font-family:var(--font-family-headings),sans-serif;font-size:1.45rem;font-weight:400;line-height:1.1;text-transform:uppercase;transition:color .2s ease}
.t4v-dir__id small{display:block;font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.04em;margin-top:.2rem;opacity:.65}
.t4v-dir__chev{align-items:center;border:1px solid rgba(var(--color-black),.18);border-radius:50%;display:flex;height:2.6rem;justify-content:center;transition:transform .35s cubic-bezier(.215,.61,.355,1),background .25s,color .25s,border-color .25s;width:2.6rem}
.t4v-dir__item.is-open .t4v-dir__chev{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));color:#fff;transform:rotate(180deg)}
.t4v-dir__item.is-open .t4v-dir__id strong{color:rgb(var(--color-primary))}
/* righe del punto scelto quando raggruppa più luoghi: barra a sinistra e alone che pulsa */
.t4v-dir__item.is-here .t4v-dir__row{box-shadow:inset .3rem 0 0 var(--c)}
.t4v-dir__item.is-here .t4v-dir__dot:after{background:var(--c);border-radius:50%;content:"";inset:0;position:absolute}
.t4v-dir__item.is-here .t4v-dir__dot:after,.t4v-pin.is-ping .t4v-pin__halo{animation:t4-ping 1.1s cubic-bezier(.215,.61,.355,1) 2}
@keyframes t4-ping{from{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}
.t4v-pin__halo{opacity:0;transform-box:fill-box;transform-origin:center}
.t4v-pin.is-hot .t4v-pin__dot{filter:brightness(1.15) drop-shadow(0 2px 6px rgba(0,0,0,.35))}
/* cliente 28/10/2026, punto 26: punto di ritiro del kart nuovo (assemblaggio
   autorizzato) con il bordo arancio, testo che lo distingue da un team riconosciuto */
.t4v-pin.is-pick .t4v-pin__dot{stroke:#F97316}
.t4v-chip--pick{border-color:#F97316}
.t4v-chip--pick.on{background:#C2410C;border-color:#C2410C}
.t4v-dir__badge{background:rgba(var(--color-primary),.06);border-left:3px solid rgb(var(--color-primary));border-radius:.4rem;font-size:1rem;margin:0 0 .8rem;padding:.55rem .8rem}
.t4v-dir__badge.is-pick{background:#FFF7ED;border-left-color:#F97316}
/* contenuto della riga aperta, allineato al nome */
.t4v-dir__body{display:flex;flex-direction:column;gap:1rem;padding:.2rem 1.6rem 1.6rem 3.6rem}
.t4v-dir .t4v-dir__txt{font-size:1.15rem;line-height:1.55;margin:0}
.t4v-dir .t4v-dir__img{aspect-ratio:16/9;border-radius:.8rem;display:block;margin:0;max-height:13rem;object-fit:cover;width:100%}
.t4v-dir .t4v-dir__race{align-items:baseline;background:rgba(var(--color-primary),.06);border-radius:.8rem;display:flex;flex-wrap:wrap;gap:.2rem .8rem;margin:0;padding:.8rem 1rem}
.t4v-dir__race span{flex-basis:100%;font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.08em;opacity:.6;text-transform:uppercase}
.t4v-dir__race strong{flex:1 1 12rem;font-size:1.15rem;font-weight:600}
.t4v-dir__link{color:rgb(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.04em;text-decoration:underline;text-transform:uppercase;text-underline-offset:.2em}
.t4v-dir__link:hover{color:#0e1a5a}
.t4v-dir__btns{display:flex;flex-wrap:wrap;gap:.5rem}
.t4v-dir .t4tm__btn{background:transparent;cursor:pointer;font-size:1rem;gap:.5rem}
.t4v-dir .t4tm__btn--primary{background:rgb(var(--color-primary));color:#fff}
.t4v-dir .t4tm__btn--primary:hover{background:#0e1a5a;color:#fff}
.t4v-dir .t4tm__btn:focus-visible,.t4v-dir__link:focus-visible,.t4ctl a:focus-visible{outline:2px solid #2448d8;outline-offset:3px}
.t4v-dir__tomap,.t4ck-back{align-items:center;background:none;border:0;color:rgb(var(--color-primary));cursor:pointer;display:inline-flex;font-family:var(--font-family-body),monospace;font-size:.95rem;gap:.4rem;letter-spacing:.06em;min-height:2.75rem;padding:0;text-transform:uppercase}
.t4v-dir__tomap{align-self:flex-start}
.t4v-dir__tomap:focus-visible,.t4ck-back:focus-visible{outline:2px solid #2448d8;outline-offset:3px}
@media (min-width:901px){.t4v-dir__tomap{display:none}}

/* --- C3: contatti (scheda del circuito e righe della mappa) --- */
.t4ctl{margin:0}
.t4ctl>div{align-items:baseline;border-bottom:1px dashed rgba(var(--color-black),.15);display:grid;gap:1rem;grid-template-columns:8.5rem minmax(0,1fr);padding:.55rem 0}
.t4ctl>div:last-child{border-bottom:0}
.t4ctl dt{font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.06em;opacity:.6;text-transform:uppercase}
.t4ctl dd{font-size:1.2rem;margin:0;overflow-wrap:anywhere}
.t4ctl dd small{display:block;font-size:.95rem;opacity:.65}
.t4ctl a{color:rgb(var(--color-primary));text-decoration:underline;text-underline-offset:.2em}
.t4ctl a:hover{color:#0e1a5a}
.t4ctl a[href^="tel:"]{white-space:nowrap}
/* righe della mappa: etichetta e valore affiancati solo se la riga aperta è larga
   abbastanza; nell'elenco stretto accanto alla mappa (992-1099px) etichetta sopra,
   come in "La pista" (prima numero ed email andavano a capo a pezzi) */
.t4v-dir__body{container-type:inline-size}
.t4v-dir__body .t4ctl>div{display:block}
.t4v-dir__body .t4ctl dd{margin-top:.15rem}
@container (min-width:24rem){
  .t4v-dir__body .t4ctl>div{display:grid}
  .t4v-dir__body .t4ctl dd{margin-top:0}
}
.t4ck-contact{background:rgba(var(--color-primary),.06);border-radius:1rem;margin-top:1.2rem;padding:1.2rem 1.4rem}
/* nella scheda del circuito i contatti hanno le stesse righe di "La pista" (.t4c-row):
   etichetta sopra, valore sotto; nella mappa resta la colonna etichetta | valore */
.t4ck-contact .t4ctl>div{display:block;padding:.5rem 0}
.t4ck-contact .t4ctl dt{font-size:.9rem;letter-spacing:.04em}
.t4ck-contact .t4ctl dd{font-size:1.1rem;margin:.15rem 0 0}
/* "Disputata" (gara senza risultati) come il link "Risultati" delle righe accanto */
.t4ck-race>span:last-child{font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase}
/* touch: il dito in verticale scorre la pagina, di lato sposta la mappa (prima la
   mappa, metà dello schermo del telefono, bloccava lo scroll verso l'elenco) */
@media (pointer:coarse){.t4v-map{touch-action:pan-y pinch-zoom}}

/* --- C2: clip della pista nella scheda (parte da sola, muta, in loop) --- */
.t4ck-gal__main.has-video{aspect-ratio:16/9;background:#0e1430}
.t4ck-gal__main.has-video .t4ck-gal__n{bottom:auto;top:1.2rem}
.t4ck-vid{inset:0;margin:0;opacity:0;position:absolute;transition:opacity .5s ease,visibility 0s .5s;visibility:hidden;z-index:1}
.t4ck-vid.is-on{opacity:1;transition-delay:0s;visibility:visible}
.t4ck-vid :is(video,img,iframe){border:0;display:block;height:100%;object-fit:cover;width:100%}
.t4ck-gal__main .t4ck-vid img{opacity:1;position:static}
.t4ck-vid__tag{align-items:center;backdrop-filter:blur(8px);background:rgba(14,20,48,.72);border-radius:999px;color:#fff;display:inline-flex;font-family:var(--font-family-body),monospace;font-size:.875rem;gap:.5rem;left:1.2rem;letter-spacing:.08em;padding:.45rem .9rem;position:absolute;text-transform:uppercase;top:1.2rem;z-index:2}
.t4ck-vid__tag i{background:#9fb4ff;border-radius:50%;height:.55rem;width:.55rem}
.t4ck-vid.is-playing .t4ck-vid__tag i{animation:t4-live 1.6s ease-in-out infinite}
@keyframes t4-live{50%{opacity:.3}}
.t4ck-vid__pp{background:rgba(14,20,48,.72);border:1px solid rgba(255,255,255,.28);border-radius:50%;bottom:1.4rem;color:#fff;cursor:pointer;display:grid;height:3.6rem;place-items:center;position:absolute;right:1.2rem;width:3.6rem;z-index:2}
.t4ck-vid__pp .i-play,.t4ck-vid__pp[aria-pressed="true"] .i-pause{display:none}
.t4ck-vid__pp[aria-pressed="true"] .i-play{display:block}
.t4ck-vid__pp[hidden],.t4ck-vid__play[hidden]{display:none}
.t4ck-vid__play{align-items:center;background:#fff;border:0;border-radius:999px;box-shadow:0 1.2rem 3rem rgba(3,10,50,.35);color:#192B88;cursor:pointer;display:inline-flex;font-family:var(--font-family-headings),sans-serif;font-size:1.15rem;gap:.7rem;left:50%;letter-spacing:.07em;padding:1.1rem 1.8rem;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%);white-space:nowrap;z-index:3}
.t4ck-vid__play:hover{background:#192B88;color:#fff}
.t4ck-vid__play svg,.t4ck-vid__full svg,.t4v-dir__tomap svg,.t4ck-back svg,.t4v-dir .t4tm__btn svg{flex:0 0 auto}
.t4ck-vid__full{align-items:center;background:#fff;border:0;border-radius:999px;bottom:1.4rem;color:#192B88;cursor:pointer;display:inline-flex;font-family:var(--font-family-headings),sans-serif;font-size:.95rem;gap:.5rem;left:1.2rem;letter-spacing:.06em;min-height:3.6rem;padding:0 1.2rem;position:absolute;text-transform:uppercase;z-index:2}
.t4ck-vid__full:hover{background:#192B88;color:#fff}
.t4ck-vid__note{bottom:1rem;color:#fff;font-size:.875rem;left:0;margin:0;position:absolute;right:0;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.6);z-index:2}
.t4ck-vid--yt:not(:has(img)){background:linear-gradient(160deg,#1d3299,#0e1430)}
.t4ck-vid__bar{background:#9fb4ff;bottom:0;height:3px;left:0;position:absolute;right:0;transform:scaleX(var(--p,0));transform-origin:left;transition:transform .25s linear;z-index:2}
:is(.t4ck-vid__pp,.t4ck-vid__play,.t4ck-vid__full,.t4ck-full__x):focus-visible{outline:2px solid #9fb4ff;outline-offset:3px}
.t4ck-thumb--vid{background:#0e1430;position:relative}
.t4ck-thumb--vid:after{border-block:.55rem solid transparent;border-left:.9rem solid #fff;content:"";filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));height:0;inset:0;margin:auto;position:absolute;width:0}
.t4ck-thumb:focus-visible{outline:2px solid #2448d8;outline-offset:2px}
.t4ck-full{background:#000;inset:0;position:absolute;z-index:4}
.t4ck-full iframe{border:0;height:100%;width:100%}
.t4ck-full__x{background:#fff;border:0;border-radius:999px;color:#0e1430;cursor:pointer;font-family:var(--font-family-headings),sans-serif;font-size:1rem;min-height:2.75rem;padding:.6rem 1rem;position:absolute;right:1rem;text-transform:uppercase;top:1rem;z-index:5}
/* "Torna alla mappa" in cima alla scheda aperta dalla mappa: sopra le due colonne */
.t4ck-back{grid-column:1/-1;justify-self:start;margin:0 0 -1rem}

@media (max-width:991px){
  .t4v-dir__head{padding:.75rem 1rem}
  .t4v-dir .t4v-dir__k{font-size:.75rem}
  .t4v-dir .t4v-dir__hint{font-size:.875rem}
  .t4v-dir .t4v-dir__gh{font-size:.6875rem;padding:.65rem 1rem}
  .t4v-dir__gh i{height:.625rem;width:.625rem}
  .t4v-dir__row{gap:.75rem;grid-template-columns:.75rem minmax(0,1fr) 2.25rem;min-height:3.25rem;padding:.8rem 1rem}
  .t4v-dir__dot{height:.75rem;width:.75rem}
  .t4v-dir__id strong{font-size:1.0625rem}
  .t4v-dir__id small{font-size:.75rem}
  .t4v-dir__chev{height:2.25rem;width:2.25rem}
  .t4v-dir__body{gap:.75rem;padding:.15rem 1rem 1.1rem 2.5rem}
  .t4v-dir .t4v-dir__txt{font-size:.9375rem}
  .t4v-dir .t4v-dir__img{max-height:none}
  .t4v-dir .t4v-dir__race{padding:.7rem .85rem}
  .t4v-dir__race span{font-size:.6875rem}
  .t4v-dir__race strong{font-size:.9375rem}
  .t4v-dir__link{align-items:center;display:inline-flex;font-size:.75rem;min-height:2.75rem}
  .t4v-dir .t4tm__btn{font-size:.8125rem;justify-content:center;min-height:2.75rem}
  .t4v-dir__tomap,.t4ck-back{font-size:.75rem}
  .t4ctl>div{grid-template-columns:6.5rem minmax(0,1fr)}
  .t4ctl dt{font-size:.6875rem}
  .t4ctl dd{font-size:.9375rem}
  .t4ctl dd small{font-size:.8125rem}
  .t4ctl dd a{display:inline-block;margin-block:-.65rem;padding-block:.65rem}
  .t4ck-contact{margin-top:1rem;padding:.9rem 1rem}
  /* scheda del circuito: un solo margine, quello di .t4c-race__body (come nel
     Calendario); prima .t4ck-body ne aggiungeva un altro e la colonna era di 265px */
  .t4ck-body{padding:0}
  .t4ck-desc{font-size:.9375rem;line-height:1.55}
  .t4ck-race{gap:.75rem;grid-template-columns:3.25rem minmax(0,1fr) auto}
  .t4ck-race__d{font-size:.75rem}
  .t4ck-race__t{font-size:.9375rem;line-height:1.2}
  .t4ck-race a,.t4ck-race>span:last-child{font-size:.75rem}
  .t4ck-race a{align-items:center;display:inline-flex;min-height:2.75rem}
  .t4ck-services li{font-size:.8125rem;padding:.4rem .75rem}
  .t4ck-days{font-size:.875rem}
  /* foto e clip a tutta larghezza nella scheda, allo stesso modo (annullano il margine di .t4c-race__body) */
  .t4ck-gal__main{border-radius:0;margin-inline:-1.5rem}
  .t4c-banner__date.is-empty{display:none}
  .t4ck-vid__tag{font-size:.6875rem;left:.75rem;top:.75rem}
  .t4ck-gal__main.has-video .t4ck-gal__n{font-size:.6875rem;right:.75rem;top:.75rem}
  .t4ck-vid__pp{bottom:.75rem;height:2.75rem;right:.75rem;width:2.75rem}
  .t4ck-vid__play{font-size:.875rem;padding:.85rem 1.3rem}
  .t4ck-vid__full{bottom:.75rem;font-size:.75rem;left:.75rem;min-height:2.75rem;padding:0 .9rem}
  .t4ck-vid__note{bottom:.5rem;font-size:.75rem;padding-inline:1rem}
  .t4ck-full__x{font-size:.75rem;right:.75rem;top:.75rem}
  .t4ck-back{margin:0 0 -.75rem}
}
@media (max-width:899px){.t4ck-gal__main{margin-inline:-1.125rem}}
@media (max-width:575px){
  .t4ctl>div{gap:.1rem;grid-template-columns:minmax(0,1fr)}
  /* telefoni: le frecce coprivano il pulsante "Guarda…" al centro; si scorre con le miniature */
  .t4ck-gal__main.has-video .t4ck-gal__btn{display:none}
}
@media (max-width:420px){.t4v-dir__body{padding-left:1rem}}
@media (prefers-reduced-motion:reduce){
  .t4-acc,.t4-acc__in,.t4-acc__in>*{transition:none}
  .t4v-dir__row,.t4v-dir__chev,.t4v-dir__id strong{transition:none}
  .t4v-dir__item.is-here .t4v-dir__dot:after,.t4v-pin.is-ping .t4v-pin__halo{animation:none;display:none}
  .t4ck-vid,.t4ck-vid__bar{transition:none}
  .t4ck-vid.is-playing .t4ck-vid__tag i{animation:none}
}
/* ==== /PKG-B ==== */
/* ==== PKG-C ==== */
/* Pagina Campionato (ott 2026): la classifica generale si apre sotto la barra
   dei campionati (K1), con tutti i piloti (K3) e le colonne punti, vittorie,
   podi, pole, giri veloci e manche (K7). Prende il posto della pagina
   /classifiche/. rem da desktop sulla radice a 12px; sotto i 992px le misure
   da telefono (radice a 16px). */
.t4lr-top{scroll-margin-top:6rem}
.t4lr-gen{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.4rem;border:1px solid rgb(var(--color-primary));border-radius:999px;background:none;color:rgb(var(--color-primary));font-family:var(--font-family-headings),sans-serif;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease}
.t4lr-gen:hover,.t4lr-gen[aria-expanded="true"]{background:rgb(var(--color-primary));color:#fff;text-decoration:none}
.t4lr-gen svg{flex:none}
.t4lr-gen svg:last-child{transition:transform .35s cubic-bezier(.215,.61,.355,1)} .t4lr-gen[aria-expanded="true"] svg:last-child{transform:rotate(180deg)}
.t4s .t4lr-gen:focus-visible{outline:2px solid #2448d8;outline-offset:3px}
/* sopra le linee verticali di sfondo della sezione (.lines, z-index 2) */
.t4s .t4lr-std{position:relative;z-index:3}
.t4lr-std__body{margin:0 0 2rem;padding:2rem 2.2rem 1.6rem;border:1px solid rgba(var(--color-black),.12);border-radius:1rem;background:#fff}
.t4lr-std__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;margin:0 0 1.2rem}
.t4s .t4lr-std__h{margin:.3rem 0 0;font-family:var(--font-family-headings),sans-serif;font-size:2.4rem;font-weight:400;letter-spacing:0;line-height:1;text-transform:uppercase}
/* titolo che prende il fuoco solo da script (apertura da tastiera): niente cornice, non è un comando */
.t4s .t4lr-std__h:focus,.t4s .t4lr-std__h:focus-visible{outline:0}
.t4lr-std__head .t4lr-tabs{flex-wrap:wrap}
.t4lr-std__head .t4lr-tab{border-bottom-width:3px}
.t4lr-tab span{margin-left:.35rem;font-family:var(--font-family-body),monospace;font-size:.875rem;opacity:.65}
.t4lr-std__scroll{border:0;border-radius:0}
.t4lr-std__table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.t4lr-std__table thead th{padding:1rem;background:#0e1430;color:#fff;font-family:var(--font-family-body),monospace;font-size:.9rem;font-weight:400;letter-spacing:.08em;text-align:right;text-transform:uppercase;white-space:nowrap}
.t4lr-std__table thead th:first-child{width:5rem;text-align:left;border-radius:.7rem 0 0 .7rem} .t4lr-std__table thead th:nth-child(2){text-align:left} .t4lr-std__table thead th:last-child{border-radius:0 .7rem .7rem 0}
.t4lr-std__table abbr[title]{cursor:help;text-decoration:underline dotted rgba(255,255,255,.5);text-underline-offset:.25em}
.t4lr-std__table td,.t4lr-std__table tbody th{padding:1rem;border-bottom:1px solid rgba(var(--color-black),.08);font-size:1.25rem;font-weight:400;text-align:right}
.t4lr-std__pos{text-align:left!important;color:rgb(var(--color-primary));font-family:var(--font-family-headings),sans-serif;font-size:1.7rem!important}
.t4lr-std__pilot{text-align:left!important;font-weight:700!important}
.t4lr-std__pts strong{font-family:var(--font-family-headings),sans-serif;font-size:1.6rem;font-weight:400}
.t4lr-std__pts small{display:block;font-family:var(--font-family-body),monospace;font-size:.875rem;opacity:.55}
.t4lr-std__tr.is-p1{background:rgba(36,72,216,.05)} .t4lr-std__n{width:8rem} /* zeri attenuati col colore, non con opacity: sulla riga del primo la cella schiariva il fondo */
.t4lr-std__n.is-zero{color:rgba(var(--color-black),.45)} .t4lr-std__br{display:none}
.t4lr-std.is-fresh .t4lr-std__tr{animation:t4-row-in .4s cubic-bezier(.215,.61,.355,1) both;animation-delay:calc(min(var(--i),12) * 30ms + .12s)}
@keyframes t4-row-in{from{opacity:0;transform:translateY(.4rem)}}
.t4lr-std tbody{transition:opacity .2s ease} .t4lr-std.is-swapping tbody{opacity:0}
.t4lr-std__body .t4lr-legend{line-height:1.5}
.t4lr-std__close{min-height:2.75rem;margin-top:1rem;padding:0;background:none;border:0;color:rgb(var(--color-primary));font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.t4lr-std__close:hover{text-decoration:underline;text-underline-offset:.2em}
@media (max-width:991px){
  .t4lr-top{flex-direction:column;align-items:stretch}
  /* campionati a tutta larghezza come il pulsante sotto: due metà uguali */
  .t4lr-champs{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}
  .t4lr-champs .t4lr-champ{min-height:2.75rem;text-align:center}
  .t4lr-gen{justify-content:center;font-size:.875rem;padding:.8rem 1.1rem;min-height:2.75rem}
  .t4lr-std__body{padding:1.1rem 1rem 1rem;margin-bottom:1.5rem}
  .t4s .t4lr-std__h{font-size:1.5rem}
  .t4lr-tab span{font-size:.6875rem}
  /* categorie in una riga sola, a parti uguali (con quattro classi non andavano più a capo) */
  .t4lr-std__head .t4lr-tabs{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;width:100%;border-bottom:1px solid rgba(var(--color-black),.14)}
  .t4lr-std__head .t4lr-tab{min-height:2.75rem;padding:.6rem .2rem;font-size:.9375rem;text-align:center;white-space:nowrap}
  .t4lr-std__head .t4lr-tab span{margin-left:.2rem}
  .t4lr-std__table thead th{padding:.75rem .6rem;font-size:.6875rem;letter-spacing:.04em}
  .t4lr-std__table thead th:first-child{width:3rem}
  .t4lr-std__table td,.t4lr-std__table tbody th{padding:.75rem .6rem;font-size:1rem}
  .t4lr-std__pos{font-size:1.25rem!important}
  .t4lr-std__pts strong{font-size:1.25rem}
  .t4lr-std__pts small{font-size:.6875rem}
  .t4lr-std__n{width:auto}
  .t4lr-std__body .t4lr-legend{font-size:.6875rem}
  .t4lr-std__close{font-size:.75rem}
}
/* telefono: due righe per pilota (i ruoli ARIA tengono la semantica della tabella) */
@media (max-width:639px){
  .t4lr-std__table,.t4lr-std__table tbody{display:block}
  .t4lr-std__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .t4lr-std__tr{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;padding:.7rem .25rem .7rem 2.25rem;border-bottom:1px solid rgba(var(--color-black),.08)}
  .t4lr-std__table td,.t4lr-std__table tbody th{padding:0;border:0;font-size:.9375rem;text-align:left}
  /* posizione a sinistra fuori dal flusso: anche la seconda riga di numeri parte sotto il nome */
  .t4lr-std__pos{position:absolute;left:.25rem;top:.7rem;font-size:1.125rem!important;line-height:1.3} .t4lr-std__pilot{flex:1 1 0;min-width:0} .t4lr-std__pts{flex:0 0 auto;padding-left:.5rem!important;text-align:right!important}
  .t4lr-std__pts strong{font-size:1.125rem} .t4lr-std__pts small{font-size:.6875rem}
  .t4lr-std__br{display:block;flex-basis:100%;height:0}
  .t4lr-std__n{flex:0 0 auto;width:auto;margin-top:.25rem;font-family:var(--font-family-body),monospace;font-size:.75rem!important;opacity:.75}
  .t4lr-std__n.is-zero{opacity:1}
  /* "5 vitt. · 9 podi · …": il punto chiude la voce, così andando a capo nessuna riga comincia con "·" */
  .t4lr-std__n::after{content:"\00a0" attr(data-th) "\00a0·";margin-right:.4rem} .t4lr-std__n:last-child::after{content:"\00a0" attr(data-th);margin-right:0}
  /* categorie una sotto l'altra (cliente 29/10/2026): in una riga sola Master (165Kg) e
     Over 40 uscivano dallo schermo. Nome a sinistra, piloti a destra, la scelta segnata a sinistra */
  .t4lr-std__head .t4lr-tabs{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(var(--color-black),.1);border-bottom:0}
  .t4lr-std__head .t4lr-tab{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:2.75rem;margin:0;padding:.6rem .75rem;border:0;border-bottom:1px solid rgba(var(--color-black),.1);border-left:3px solid transparent;text-align:left;white-space:normal}
  .t4lr-std__head .t4lr-tab.is-on{border-left-color:rgb(var(--color-primary));background:rgba(var(--color-primary),.06)}
}
@media (prefers-reduced-motion:reduce){
  .t4lr-gen,.t4lr-gen svg:last-child,.t4lr-std tbody{transition:none}
  .t4lr-std.is-fresh .t4lr-std__tr{animation:none}
  .t4lr-std.is-swapping tbody{opacity:1}
}
/* ==== /PKG-C ==== */
/* ==== PKG-D ==== */
/* Pagina Campionato (ott 2026): storico della pista nei "Numeri della gara" (K2),
   scheda della gara sotto la timeline della stagione (K4), "Torna alla stagione".
   rem da desktop sulla radice a 12px; sotto i 992px le misure da telefono
   (radice a 16px). */

/* --- K2: numeri della gara con anno prima e record della pista --- */
.t4lr-metrics__head{align-items:baseline;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:0 0 1rem}
.t4lr-metrics .t4lr-metrics__head h3{margin:0}
.t4lr-metrics__cmp{font-size:1.05rem;margin:0;opacity:.75}
.t4lr-link{background:none;border:0;color:rgb(var(--color-primary));cursor:pointer;font:inherit;padding:0;text-decoration:underline;text-underline-offset:.2em}
.t4lr-link:hover{color:#0e1a5a}
.t4lr-link:focus-visible{outline:2px solid #2448d8;outline-offset:2px}
.t4hx{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin:0 0 .75rem}
.t4hx__tile{background:#fff;border:1px solid rgba(var(--color-black),.12);border-radius:1rem;display:flex;flex-direction:column;gap:.35rem;overflow:hidden;padding:1.2rem 1.3rem;position:relative}
.t4hx__tile--now{border-color:rgba(36,72,216,.45);box-shadow:inset 0 3px #2448d8}
.t4hx__k{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.08em;line-height:1.35;opacity:.6;text-transform:uppercase}
.t4hx__tile strong{display:block;font-family:var(--font-family-headings),sans-serif;font-size:2.4rem;font-variant-numeric:tabular-nums;font-weight:400;line-height:1}
.t4hx__tile em{display:block;font-size:1.1rem;font-style:normal;line-height:1.35;opacity:.75}
.t4hx__delta{align-self:flex-start;background:rgba(36,72,216,.1);border-radius:999px;color:#2448d8;font-family:var(--font-family-body),monospace;font-size:.95rem;font-weight:400;margin-top:.2rem;padding:.2rem .7rem}
.t4hx__delta.is-slower{background:rgba(var(--color-black),.06);color:rgba(var(--color-black),.7)}
.t4hx__tile--rec{background:linear-gradient(160deg,#1d3299,#0e1430);border-color:#0e1430;color:#fff;padding-right:2.8rem}
.t4hx__tile--rec .t4hx__k{color:#9fb4ff;opacity:1}
.t4hx__tile--rec em{opacity:.85}
/* bandierina a scacchi sul bordo del record */
.t4hx__tile--rec:after{background:repeating-conic-gradient(#fff 0 25%,transparent 0 50%) 0 0/.8rem .8rem;bottom:0;content:"";opacity:.12;position:absolute;right:0;top:0;width:1.6rem}
.t4hx__badge{align-self:flex-start;background:#86a0ff;border-radius:999px;color:#0e1430;font-family:var(--font-family-body),monospace;font-size:.875rem;font-weight:400;letter-spacing:.06em;margin-top:.2rem;padding:.25rem .7rem;text-transform:uppercase}
.t4hx__tile small{display:block;font-size:.9rem;line-height:1.4;margin-top:auto;opacity:.7;padding-top:.2rem}
.t4lr-stat__was{align-items:baseline;border-top:1px dashed rgba(var(--color-black),.15);display:flex;flex-wrap:wrap;font-size:1rem;gap:.4rem;margin:.4rem 0 0;padding-top:.5rem}
.t4lr-stat__was b{font-family:var(--font-family-body),monospace;font-weight:400;opacity:.55}
.t4lr-delta{background:rgba(var(--color-black),.06);border-radius:999px;font-family:var(--font-family-body),monospace;font-size:.875rem;font-style:normal;margin-left:auto;padding:.15rem .55rem}
.t4lr-delta.is-better{background:rgba(36,72,216,.12);color:#2448d8}

/* --- K4: scheda della gara sotto la timeline (riquadro del Calendario in linea) --- */
.t4ss-hint{font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.04em;margin:1.6rem 0 0;opacity:.7}
.t4ss-hint[hidden]{display:none}
/* pulsanti al posto dei link: niente aspetto da pulsante del browser */
.t4ss-ev{background:none;border:0;cursor:pointer;font:inherit;padding:0}
.t4ss-row{background-color:transparent;cursor:pointer;font:inherit;text-align:left;width:100%}
.t4ss-li{list-style:none}
/* pallini sopra la linea di "Oggi"; quello passato col mouse sopra gli altri (tooltip) */
.t4ss-ev{z-index:2}
.t4ss-ev:hover,.t4ss-ev:focus-visible{z-index:4}
.t4ss-ev:focus-visible{outline:none}
.t4ss-ev:focus-visible .t4ss-dot{outline:2px solid #2448d8;outline-offset:3px}
/* etichette su fondo pieno (la linea di "Oggi" passa dietro): attenuate col colore, non con opacity */
.t4ss-lbl{background:rgb(var(--color-white));color:rgba(var(--color-black),.6);opacity:1;padding:0 .2rem}
.t4ss-ev.is-done .t4ss-lbl{color:rgba(var(--color-black),.45);opacity:1}
/* gara scelta: anello nel colore del campionato, data in grassetto, niente tooltip */
.t4ss-ev.is-sel .t4ss-dot{animation:none;box-shadow:0 0 0 .3rem rgb(var(--color-white)),0 0 0 .55rem var(--c);transform:translate(-50%,-50%) scale(1.15)}
.t4ss-ev.is-span.is-sel .t4ss-dot{transform:translateY(-50%)}
/* evento di più giorni su una timeline stretta (900-999px): almeno un pallino, non una stanghetta */
.t4ss-ev.is-span .t4ss-dot{min-width:1.5rem}
.t4ss-ev.is-sel .t4ss-lbl{color:color-mix(in srgb,var(--c) 75%,#000);font-weight:700;opacity:1}
.t4ss-ev.is-sel .t4ss-tip{display:none}
.t4ss-card__pad{padding:1.4rem 0 2.4rem}
/* sopra le linee verticali di sfondo della sezione (.lines, z-index 2) */
.t4s :is(.t4hx,.t4ss-card,.t4ss-list){position:relative;z-index:3}
/* ombra solo sotto: ai lati la tendina (overflow hidden) la taglierebbe di netto */
.t4ss-card__box{background:#fff;border:1px solid rgba(var(--color-black),.1);border-left:.5rem solid var(--c,#2448d8);border-radius:1.6rem;box-shadow:0 1.8rem 2.2rem -1.8rem rgba(4,10,40,.35);color:rgb(var(--color-black));position:relative}
/* punta verso il pallino della gara (--arrow-x da t4-results.js) */
.t4ss-card .t4ss-card__box:before{background:#fff;border-left:1px solid rgba(var(--color-black),.1);border-top:1px solid rgba(var(--color-black),.1);content:"";height:1.4rem;left:calc(var(--arrow-x,50%) - .7rem);position:absolute;top:-.75rem;transform:rotate(45deg);transition:left .35s cubic-bezier(.215,.61,.355,1);width:1.4rem}
.t4ss-card__box .t4tl__pop-x{background:#fff;box-shadow:0 .2rem .8rem rgba(4,10,40,.16);position:absolute;right:1.2rem;top:1.2rem;z-index:2}
.t4ss-card__box .t4tl__pop-x:hover{background:rgb(var(--color-primary));color:#fff}
.t4ss-card__box .t4tl__pop-x:focus-visible{outline:2px solid #2448d8;outline-offset:2px}
.t4ss-card__box .t4tl__pop-head{display:flex;flex-direction:column}
.t4ss-card__img{aspect-ratio:16/9;background:rgba(var(--color-black),.06);border-radius:.8rem;margin:0 0 1.2rem;overflow:hidden}
.t4ss-card__img img{display:block;height:100%;object-fit:cover;width:100%}
.t4ss-card__box .t4tl__pop-head:has(.t4ss-card__img) :is(.t4tl__pop-k,.t4tl__pop-t){margin-right:0;padding-right:0}
.t4ss-card__box .t4tl__pop-p{margin-bottom:0}
/* il titolo prende il fuoco solo da script (apertura da tastiera): non è un comando */
.t4ss-card__box [tabindex="-1"]:focus{outline:none}
.t4ss-card__box .t4tl__pop-body>.t4tl__pop-row:first-child{border-top:0;padding-top:0}
.t4ss-card__box .t4tl__pop-cta{margin:0}
.t4ss-card__box .t4tl-btn{justify-content:center}
.t4ss-card__track{align-items:center;color:rgb(var(--color-primary));display:inline-flex;font-size:1.25rem;gap:.4rem;text-decoration:underline;text-underline-offset:.2em}
.t4ss-card__track:hover{color:#0e1a5a}
.t4ss-card__track svg{flex:none}
.t4ss-win{display:grid;gap:.45rem;margin:0}
.t4ss-win div{align-items:baseline;display:grid;gap:1rem;grid-template-columns:6rem minmax(0,1fr)}
.t4ss-win dt{font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.06em;opacity:.6;text-transform:uppercase}
.t4ss-win dd{font-size:1.25rem;margin:0}
.t4ss-win small{font-size:.95rem;opacity:.6}
.t4ss-win abbr[title]{text-decoration:none}
/* da 992px: foto e titolo | righe | pulsanti; alta ~450 px, tutta in vista dopo il clic */
@media (min-width:900px){
  .t4ss-card .t4ss-card__box{align-items:start;display:grid;gap:1.6rem 3.2rem;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(14rem,auto);padding:2.4rem 2.8rem}
  .t4ss-card .t4tl__pop-head :is(.t4tl__pop-k,.t4tl__pop-t){margin-right:0;padding-right:0}
  .t4ss-card .t4tl__pop-cta{align-self:end;flex-direction:column}
  /* cambio di gara a scheda aperta: il contenuto sfuma, l'altezza scorre */
  .t4ss-card__box.is-swap>*{animation:t4ss-swap .3s ease both}
  .t4ss-card__box.is-resizing{clip-path:inset(-1.2rem -3rem 0 -3rem);transition:height .35s cubic-bezier(.215,.61,.355,1)}
}
@keyframes t4ss-swap{from{opacity:0;transform:translateY(.4rem)}}
/* colonna delle righe stretta (sotto i 1200px): prove libere e iscrizione una sotto l'altra */
@media (min-width:900px) and (max-width:1199px){.t4ss-card .t4tl__wk{grid-template-columns:minmax(0,1fr)}}
/* 900-991 (radice a 16px): due colonne, foto, titolo e pulsanti a sinistra, righe a destra */
@media (min-width:900px) and (max-width:991px){
  .t4ss-card .t4ss-card__box{gap:1.1rem 1.75rem;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-template-rows:auto 1fr;padding:1.5rem 1.75rem}
  .t4ss-card .t4tl__pop-head{grid-column:1;grid-row:1}
  .t4ss-card .t4tl__pop-cta{align-self:start;grid-column:1;grid-row:2}
  .t4ss-card .t4tl__pop-body{grid-column:2;grid-row:1/span 2}
  .t4ss-card .t4tl__pop-t{font-size:1.375rem}
  .t4ss-card .t4tl-btn{font-size:.875rem;min-height:2.75rem;padding:.8rem 1.2rem}
}

/* --- "Torna alla stagione" (dopo "Risultati" nella scheda): pillola come i pulsanti accanto --- */
.t4lr-back{align-items:center;background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.25);border-radius:999px;color:rgb(var(--color-black));cursor:pointer;display:inline-flex;font-family:var(--font-family-body),monospace;font-size:.95rem;gap:.5rem;letter-spacing:.06em;margin-right:auto;min-height:2.75rem;padding:.7rem 1.3rem;text-transform:uppercase;transition:border-color .2s ease,color .2s ease}
.t4lr-back:hover{border-color:rgb(var(--color-primary));color:rgb(var(--color-primary))}
.t4lr-back[hidden]{display:none}
.t4lr-back:focus-visible{outline:2px solid #2448d8;outline-offset:3px}
.t4lr-back svg{flex:none}

/* --- telefoni e tablet (radice a 16px) --- */
@media (max-width:991px){
  .t4lr-metrics__cmp{font-size:.875rem}
  .t4hx__k,.t4hx__tile small{font-size:.6875rem}
  .t4hx__tile strong{font-size:1.75rem}
  .t4hx__tile em,.t4hx__delta,.t4hx__badge{font-size:.8125rem}
  /* su due-tre righe la pillola diventa un riquadro arrotondato */
  .t4hx__delta{border-radius:.5rem;padding:.25rem .5rem}
  .t4hx__tile{padding:.9rem 1rem}
  .t4hx__tile--rec{padding-right:2.2rem}
  .t4hx__tile--rec:after{width:1.2rem}
  .t4lr-stat__was{font-size:.8125rem}
  .t4lr-delta{font-size:.75rem}
  .t4lr-back{font-size:.75rem;justify-content:center;margin-right:0}
  .t4ss-card__track{font-size:.9375rem}
  .t4ss-win dt{font-size:.6875rem}
  .t4ss-win dd{font-size:.9375rem}
  .t4ss-win small{font-size:.8125rem}
}
@media (max-width:767px){
  .t4hx{grid-template-columns:repeat(2,minmax(0,1fr))}
  .t4hx__tile--rec{grid-column:1/-1}
  /* niente più colonna unica di 628 px per i riquadri di Filament */
  .t4lr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .t4lr-delta{margin-left:0}
}
/* telefoni: elenco delle gare, la scheda si apre sotto la riga */
@media (max-width:899px){
  .t4ss-hint{display:none}
  .t4ss-row__end{align-items:center;display:flex;gap:.5rem}
  .t4ss-row__chev{display:flex;transition:transform .35s cubic-bezier(.215,.61,.355,1)}
  .t4ss-row[aria-expanded="true"]{background:color-mix(in srgb,var(--c) 7%,#fff);border-color:var(--c)}
  .t4ss-row[aria-expanded="true"] .t4ss-row__chev{transform:rotate(180deg)}
  .t4ss-row:focus-visible{outline:2px solid #2448d8;outline-offset:2px}
  .t4ss-rowcard .t4ss-card__pad{padding:.5rem 0 .25rem}
  .t4ss-rowcard .t4ss-card__box{border-left-width:.35rem;border-radius:1rem;box-shadow:none;display:flex;flex-direction:column;gap:.9rem;padding:1.25rem}
  .t4ss-rowcard .t4ss-card__img{margin:0 0 .9rem;max-height:11rem;width:100%}
  .t4ss-rowcard .t4tl__pop-k{font-size:.6875rem}
  .t4ss-rowcard .t4tl__pop-t{font-size:1.375rem}
  .t4ss-rowcard .t4tl__pop-p{font-size:.9375rem}
  .t4ss-rowcard .t4tl__pop-l{font-size:.6875rem}
  .t4ss-rowcard .t4tl__pop-row{font-size:.9375rem;padding:.7rem 0}
  .t4ss-rowcard .t4tl__pop-row strong{font-size:.9375rem}
  /* pulsanti subito sotto il titolo (la scheda è più alta dello schermo) e nel
     flusso della scheda (nel foglio del Calendario sono fissi in fondo) */
  .t4ss-rowcard .t4tl__pop-cta{background:none;box-shadow:none;flex-wrap:nowrap;margin:0;order:1;padding:0;position:static}
  .t4ss-rowcard .t4tl__pop-body{order:2}
  .t4ss-rowcard .t4tl-btn{flex:1 1 0;min-height:3rem}
  .t4ss-rowcard .t4tl__pop-x{right:.9rem;top:.9rem}
  .t4ss-win div{gap:.15rem;grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .t4ss-card .t4ss-card__box:before,.t4ss-row__chev,.t4lr-back{transition:none}
  .t4ss-card__box.is-swap>*{animation:none}
  .t4ss-card__box.is-resizing{transition:none}
}
/* ==== /PKG-D ==== */
/* ==== PKG-E ==== */
/* Fondo pagina anche su Circuiti (Campionato + Calendario) e Campionato
   (Circuiti + Kart): stesse card del Calendario (t4nx-*), dati da t4-next.js */
/* chiusura iscrizioni della prossima gara (card Calendario) */
.t4nx .t4nx-card__dl{margin:0}
.t4nx-card__dl .t4-dl{font-size:1.1rem}
/* card Circuiti: provincia a sinistra, data della prossima gara sotto il nome della
   pista, pallino che pulsa su quella della prossima gara; da 992px tutte le piste */
.t4nx-lead__when{color:#9fb4ff;display:block;font-family:var(--font-family-body),monospace;font-size:.95rem;letter-spacing:.06em;line-height:1.3;margin-top:.3rem;text-transform:uppercase}
.t4nx-lead li.is-next .t4nx-lead__when:before{animation:t4nx-pulse 1.6s ease-in-out infinite;background:#9fb4ff;border-radius:50%;content:"";display:inline-block;height:.55rem;margin-right:.5rem;vertical-align:.1em;width:.55rem}
@keyframes t4nx-pulse{50%{opacity:.3}}
@media (min-width:992px){.t4nx-lead--tracks + .t4nx-card__more{display:none}}
.t4nx .t4nx-card__more{font-family:var(--font-family-body),monospace;font-size:1rem;letter-spacing:.04em;margin:0;opacity:.7}
/* Campionato: arriva dopo una sezione del CMS, non dopo l'elenco gare che ha già spazio sotto */
.t4s .t4nx--lead{padding-top:6.25rem}
@media (max-width:991px){
  .t4nx-card__dl .t4-dl{font-size:.9375rem}
  .t4nx .t4nx-card__more{font-size:.75rem}
  .t4s .t4nx--lead{padding-top:3.125rem}
  .t4nx-lead--tracks li:nth-child(n+5){display:none}
  .t4nx-lead__when{font-size:.75rem}
}
@media (prefers-reduced-motion:reduce){
  .t4nx-lead li.is-next .t4nx-lead__when:before{animation:none}
}
/* ==== /PKG-E ==== */
/* ==== final-shell ==== */
/* "Dati provvisori" (risultati di esempio in attesa di Racemetrics, t4-next.js e
   t4-hero.js): card Campionato in fondo pagina e piloti nella testata del
   Campionato; stessi colori dell'avviso sul navy di Home e risultati */
.t4nx .t4nx-flag{align-self:flex-start;background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.55);border-radius:.6rem;color:#fbbf24;font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.08em;line-height:1.4;margin:0;padding:.45rem .8rem;text-transform:uppercase}
.t4nx-card--light .t4nx-flag{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.5);color:#92400e}
@media (max-width:991px){.t4nx .t4nx-flag{font-size:.6875rem}}
.t4h-fact > small.t4h-fact__flag{background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.55);border-radius:.6rem;color:#fbbf24;display:inline-block;font-family:var(--font-family-body),monospace;font-size:.9rem;letter-spacing:.08em;line-height:1.4;margin-top:.6rem;opacity:1;padding:.25rem .6rem;text-transform:uppercase}
@media (max-width:991px){.t4h-fact > small.t4h-fact__flag{font-size:.6875rem}}
/* ==== /final-shell ==== */
/* ==== final-shell-2 ==== */
/* Card Campionato da 768 a 991px (due card affiancate, larghe ~335px): 2° e 3°
   su tutta la riga, il numero nella colonna della categoria, il nome sotto quello
   del primo e i punti allineati ai suoi. Prima la riga stava solo nelle colonne
   di nome e punti: il "2°" restava da solo e il nome andava su due righe */
@media (min-width:768px) and (max-width:991px){
  .t4nx .t4nx-pod{grid-column:1/-1}
  .t4nx-pod li{column-gap:.75rem;grid-template-columns:4.75rem minmax(0,1fr) auto}
  .t4nx-pod li:before{content:counter(t4nx-pod) "°";font-family:var(--font-family-body),monospace;font-size:.75rem;letter-spacing:.06em;opacity:.45}
  .t4nx-pod li strong:before{content:none}
  .t4nx-pod li strong{font-size:.875rem}
  .t4nx-pod li span{font-size:.8125rem}
}
/* ==== /final-shell-2 ==== */
/* ==== v4 cal filtro ==== */
/* Calendario: filtro per serie sopra l'elenco (chip generati dai campionati delle
   gare in pagina, t4-calendario.js), finale mondiale in evidenza nell'elenco e
   nella timeline, etichetta discreta per l'Europa, tappe fuori dal filtro nascoste */
.t4c-filter{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0 0 1.25rem}
.t4c-filter__l{font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.08em;opacity:.6;text-transform:uppercase}
.t4c-filter__chips{display:flex;flex-wrap:wrap;gap:.5rem}
.t4c-chip{align-items:center;background:rgb(var(--color-white));border:1px solid rgba(var(--color-black),.2);border-radius:999px;color:inherit;cursor:pointer;display:inline-flex;font-family:var(--font-family-headings),sans-serif;font-size:1.2rem;gap:.45rem;letter-spacing:.02em;line-height:1;min-height:2.75rem;padding:.55rem 1.1rem;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}
.t4c-chip em{font-family:var(--font-family-body),monospace;font-size:.85rem;font-style:normal;letter-spacing:.04em;opacity:.6}
.t4c-chip em:before{content:"· "}
.t4c-chip:hover{border-color:rgb(var(--color-black))}
.t4c-chip[aria-pressed="true"]{background:rgb(var(--color-primary));border-color:rgb(var(--color-primary));box-shadow:0 .5rem 1.4rem rgba(23,42,134,.25);color:#fff}
.t4c-chip[aria-pressed="true"] em{opacity:.8}
.t4c-chip:focus-visible{outline:2px solid rgb(var(--color-primary));outline-offset:2px}
/* chip della finale mondiale: puntino con il gradiente del sito */
.t4c-chip--mondiale:before{background:linear-gradient(135deg,#192B88,#2448d8);border-radius:50%;box-shadow:0 0 0 .2rem rgba(134,160,255,.35);content:"";height:.6rem;width:.6rem}
.t4c-chip--mondiale[aria-pressed="true"]:before{background:#fff;box-shadow:0 0 0 .2rem rgba(255,255,255,.35)}
.t4c-filter__count{font-family:var(--font-family-body),monospace;font-size:.875rem;letter-spacing:.06em;margin:0 0 0 auto;opacity:.6;text-transform:uppercase}
.t4c-filter__empty{margin-top:.75rem}
@media (max-width:991px){
  .t4c-chip{font-size:.875rem;gap:.35rem;min-height:2.5rem;padding:.45rem .85rem}
  .t4c-chip em{font-size:.7rem}
  .t4c-filter__l,.t4c-filter__count{font-size:.75rem}
  .t4c-filter__count{margin-left:0}
}
/* dal primo clic sui chip le card appena mostrate scendono più in fretta (la
   cascata piena resta per l'arrivo in pagina) */
.t4c-list.has-filtered > :is(.t4c-race,.t4c-today){animation-duration:.45s;animation-delay:calc(min(var(--k,0),8) * 40ms)}
/* etichetta sopra il titolo nel banner: "Finale mondiale" piena, "Europa" discreta */
.t4c-banner__tag{align-items:center;align-self:flex-start;border:1px solid rgba(var(--color-black),.2);border-radius:999px;display:inline-flex;font-family:var(--font-family-body),monospace;font-size:.8rem;gap:.4rem;letter-spacing:.08em;line-height:1;margin-bottom:.3rem;opacity:.75;padding:.3rem .65rem;text-transform:uppercase}
.t4c-banner__tag svg{height:.95em;width:.95em}
.t4c-banner__tag--mondiale{background:linear-gradient(135deg,#192B88,#2448d8);border-color:transparent;color:#fff;opacity:1}
/* T4 ST2, il due tempi (29/10/2026): colori del logo ST2 */
.t4c-banner__tag--st2{background:#3656AE;border-color:#E14D29;color:#fff;opacity:1}
.t4c-banner__tag--st2 img{height:.85em;width:auto}
.t4c-race.is-st2{border-left:4px solid #E14D29}
/* finale mondiale: bordo con il gradiente del sito e alone, titolo grande come la
   prossima gara, luogo in blu; resta in evidenza anche da conclusa */
.t4c-race.is-mondiale{background:linear-gradient(rgb(var(--color-white)),rgb(var(--color-white))) padding-box,linear-gradient(120deg,#192B88,#2448d8 45%,#86a0ff) border-box;border:2px solid transparent;box-shadow:0 0 0 .35rem rgba(36,72,216,.1),0 1.2rem 2.8rem rgba(14,20,48,.12)}
.t4c-race.is-mondiale.is-open{box-shadow:0 0 0 .35rem rgba(36,72,216,.14),0 18px 40px rgba(15,19,32,.14)}
.t4c-race.is-mondiale:is(.is-next,.is-live,.is-done:not(.is-open)){border-color:transparent}
.t4c-race.is-mondiale .t4c-banner__title{font-size:2.3rem}
.t4c-race.is-mondiale .t4c-banner__meta{color:rgb(var(--color-primary));opacity:.9}
.t4c-race.is-mondiale.is-done:not(.is-open) .t4c-banner :is(.t4c-banner__main,.t4c-banner__when){opacity:1}
@media (max-width:767px){
  .t4c-race.is-mondiale.is-done:not(.is-open) .t4c-banner{padding-block:1rem}
  .t4c-race.is-mondiale.is-done:not(.is-open) .t4c-banner__title{font-size:2rem}
  .t4c-race.is-mondiale.is-done:not(.is-open) .t4c-banner__meta{font-size:1.15rem}
}
/* timeline: tappe fuori dal filtro nascoste, linea a metà della prima e dell'ultima
   in vista (is-first/is-last dal JS), legenda solo con gli stati presenti */
.t4tl__item[hidden],.t4tl__now[hidden],.t4tl__legend span[hidden]{display:none}
.t4tl__item.is-first:before,.t4tl__now.is-first:before{left:50%}
.t4tl__item.is-last:before,.t4tl__now.is-last:before{right:50%}
.t4tl.has-filtered .t4tl__item,.t4tl.has-filtered .t4tl__now{animation-delay:calc(min(var(--i,0),6) * 40ms)}
.t4tl.has-filtered .t4tl__item:before,.t4tl.has-filtered .t4tl__now:before{animation-delay:calc(min(var(--i,0),6) * 40ms + .1s)}
.t4tl.has-filtered .t4tl__dot{animation-delay:calc(min(var(--i,0),6) * 40ms + .15s)}
/* finale mondiale nella timeline: anello con l'alone, titolo pieno anche da corsa, etichetta */
.t4tl__item.is-mondiale .t4tl__dot{box-shadow:0 0 0 .35rem var(--tl-ring),0 0 0 .5rem var(--tl-next),0 0 1.6rem .3rem var(--tl-glow)}
.t4tl__item.is-mondiale.is-done .t4tl__dot{background-color:var(--tl-soon)}
.t4tl__item.is-mondiale.is-done:not(.is-feat) .t4tl__title{opacity:.9}
/* l'etichetta sta fuori dal flusso (sotto la tappa) e lo spazio è riservato su
   tutte le tappe: filtrando via il Mondiale la testata non cambia altezza */
.t4tl__tag--mondiale{background:var(--tl-hot);color:#fff;left:50%;margin-top:0;position:absolute;top:calc(100% + .6rem);transform:translateX(-50%);white-space:nowrap}
.t4tl.has-mondiale .t4tl__track{padding-bottom:3.7rem}
.t4tl--dark .t4tl__tag--mondiale{color:var(--tl-ring)}
/* ==== /v4 cal filtro ==== */

/* Campionato, tre campionati o più nel selettore (T4 ST2, 19/10/2026): sui telefoni
   si va a capo invece di stringere i nomi in colonne da un terzo ("T4 / SERIES / ITALY") */
@media (max-width:767px){
  .t4lr-champs--many{border-radius:1.6rem;display:flex;flex-wrap:wrap}
  .t4lr-champs--many .t4lr-champ{flex:1 1 auto;white-space:nowrap}
}

/* ==========================================================================
   Calendario eventi (pagina Calendario, 28/10/2026): test day e T4 Academy
   ========================================================================== */
.t4ev__body{margin-top:clamp(1.5rem,3vw,2.5rem)}
.t4ev-list{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}
.t4ev-row{align-items:center;background:#fff;border:1px solid rgba(15,19,32,.1);border-radius:1rem;display:grid;gap:1rem 1.5rem;grid-template-columns:4.5rem minmax(0,1fr) auto;padding:1rem 1.25rem}
.t4ev-row--academy{border-left:4px solid #2448d8}
.t4ev-row--test{border-left:4px solid #19b8c9}
.t4ev-row.is-past{opacity:.6}
.t4ev-row__d{display:grid;justify-items:center;line-height:1;margin:0;text-transform:uppercase}
.t4ev-row__d b{font-family:var(--t4-head,inherit);font-size:2rem;font-weight:500;margin:.15rem 0}
.t4ev-row__d span{font-family:var(--t4-mono,monospace);font-size:.75rem;letter-spacing:.06em}
.t4ev-row__k{font-family:var(--t4-mono,monospace);font-size:.72rem;letter-spacing:.08em;margin:0 0 .25rem;opacity:.65;text-transform:uppercase}
.t4ev-row__t{font-size:1.15rem;line-height:1.25;margin:0}
.t4ev-row__m,.t4ev-row__n{font-size:.9rem;line-height:1.45;margin:.3rem 0 0}
.t4ev-row__n{opacity:.75}
.t4ev-row__go{align-items:center;border:1px solid currentColor;border-radius:999px;color:inherit;display:inline-flex;font-family:var(--t4-mono,monospace);font-size:.78rem;gap:.4rem;letter-spacing:.04em;padding:.6rem 1rem;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.t4ev-row__go:hover,.t4ev-row__go:focus-visible{background:#0f1320;border-color:#0f1320;color:#fff}
.t4ev-sep{font-family:var(--t4-mono,monospace);font-size:.75rem;letter-spacing:.08em;margin:2rem 0 .75rem;opacity:.6;text-transform:uppercase}
.t4ev-empty{font-size:1rem;margin:0}
.t4ev-empty a{font-weight:600;white-space:nowrap}
.t4ev-years{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}
.t4ev-year{background:transparent;border:1px solid rgba(15,19,32,.25);border-radius:999px;color:inherit;cursor:pointer;font-family:var(--t4-mono,monospace);font-size:.8rem;padding:.45rem .9rem}
.t4ev-year[aria-pressed="true"]{background:#0f1320;border-color:#0f1320;color:#fff}
@media (max-width:599.98px){
  .t4ev-row{grid-template-columns:3.5rem minmax(0,1fr);padding:.9rem 1rem}
  .t4ev-row__go{grid-column:1 / -1;justify-self:start}
}
/* card del team: pista e rivenditore collegati in Filament (27/10/2026) */
.t4tc__links{font-size:.85rem;line-height:1.4;margin:.35rem 0 0;opacity:.8}
.t4tc__links a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* 04/11/2026: avviso "Prezzi praticati da MP Kart" (pagina Costi e calcolatore) */
.t4-mpnote{background:#fff6e5;border:1px solid #f0c36d;border-left:6px solid #e08a00;border-radius:.9rem;color:#2b2110;margin:1.25rem 0 1.5rem;padding:1rem 1.25rem}
.t4-mpnote p{font-size:1rem;line-height:1.5;margin:0}
.t4-mpnote strong{display:block;font-size:1.1rem;margin-bottom:.2rem}
