/* 
Theme Name: Livrée Rouge Child
Theme URI: www.livreerouge.it
Description: Livrèe Rouge theme child
Author: The Space
Author URI: https://www.thespacesm.com/
Template: livree-rouge
Version: 2.0.0
Text Domain: livree-rouge-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

@font-face {
  font-family: 'Ultra Condensed Sans Serif';
  src: url('https://www.livreerouge.it/wp-content/uploads/2026/09/UltraCondensedSansSerif.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

#cmplz-document.cmplz-document {max-width: 100%;}

.cmplz-document a{
    color: black;
}


.page-id-8524 a{
    color: #000000;
}

.page-id-8524 a:hover{
    color: #818181;
}

.grecaptcha-badge { visibility: hidden; }


/*FEED INSTAGRAM*/
.sb_instagram_header.sbi_feed_type_user.sbi_medium.sbi-theme.sbi-default_theme{
    display: none;
}
#sbi_load{
    display: none;
}
/* Smash Balloon lightbox: annulla lo stile button del tema (#c36) */
#sbi_lightbox button,
#sbi_lightbox button:hover,
#sbi_lightbox button:focus,
#sbi_lightbox button:active {
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Frecce prev/next: icone bianche */
#sbi_lightbox .sbi_lb-prev,
#sbi_lightbox .sbi_lb-next {
  padding: 0 !important;
  color: #fff !important;
}
#sbi_lightbox .sbi_lb-prev:hover,
#sbi_lightbox .sbi_lb-next:hover {
  opacity: .7;
}

/* ==========================================================
   LIVREE ROUGE - VIDEO CARDS
   ========================================================== */
/* ==========================================================
   SEZIONE PRINCIPALE
   ========================================================== */

.lr-services {
    position: relative;
    width: 100%;
    min-height: 840px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    isolation: isolate;
}

/* ==========================================================
   VIDEO BACKGROUND
   ========================================================== */
.lr-video-layer {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    opacity: 0;
    pointer-events: none;
    z-index: 0;
    transition: opacity 0.6s ease;
}

/* Video attivo */

.lr-video-layer.is-active {
    opacity: 1;
}

/* Container video Elementor */

.lr-video-layer .elementor-background-video-container {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden;
}

/* Video vero e proprio */

.lr-video-layer video,
.lr-video-layer .elementor-background-video-hosted {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;

    height: 100% !important;


    min-width: 100%;

    min-height: 100%;


    transform: translate(-50%, -50%) !important;


    object-fit: cover !important;

    object-position: center center;

}


/* ==========================================================

   OVERLAY SCURO SUL VIDEO

   ========================================================== */


.lr-services::before {

    content: "";


    position: absolute;

    inset: 0;


    z-index: 1;


    background: rgba(0, 0, 0, 0.35);


    pointer-events: none;

}


/* ==========================================================

   WRAPPER DELLE 3 CARD

   ========================================================== */


.lr-services__cards {

    position: relative;


    z-index: 10;


    width: calc(100% - 40px) !important;

    max-width: 1500px !important;


    margin-left: auto !important;

    margin-right: auto !important;


    display: flex !important;

    flex-direction: row !important;


    align-items: center !important;

    justify-content: center !important;


    gap: 48px;


    height: auto !important;

    min-height: 0 !important;

}


/* ==========================================================

   CARD CHIUSA

   ========================================================== */


.lr-service-card {

    position: relative;


    width: auto !important;

    max-width: none !important;


    flex-grow: 1 !important;

    flex-shrink: 1 !important;

    flex-basis: 0 !important;


    min-width: 0 !important;


    height: 255px !important;

    min-height: 255px !important;


    padding: 35px !important;


    display: flex !important;

    flex-direction: column !important;


    justify-content: center !important;

    align-items: stretch !important;


    overflow: hidden;


    background: rgba(255, 255, 255, 0.22);


    border-radius: 12px;


    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);


    backdrop-filter: blur(8.7px);

    -webkit-backdrop-filter: blur(8.7px);


    border: 1px solid rgba(255, 255, 255, 0.3);


    cursor: pointer;


    transition:

        flex-grow 0.55s cubic-bezier(.22, .61, .36, 1),

        height 0.55s cubic-bezier(.22, .61, .36, 1),

        min-height 0.55s cubic-bezier(.22, .61, .36, 1),

        padding 0.55s cubic-bezier(.22, .61, .36, 1),

        background-color 0.4s ease,

        border-color 0.4s ease;

}


/* ==========================================================

   CARD APERTA

   ========================================================== */


.lr-service-card.is-active {

    flex-grow: 1.55 !important;


    height: 340px !important;

    min-height: 340px !important;


    padding: 42px 40px !important;


    justify-content: center !important;


    background: #ffffff;


    border: 1px solid #ffffff;


    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.08);


    backdrop-filter: none;

    -webkit-backdrop-filter: none;

}


/* ==========================================================

   TITOLO - GENERALE

   ========================================================== */


.lr-service-card .lr-service-card__title {

    width: 100%;


    margin: 0 !important;

    padding: 0 !important;


    transition:

        text-align 0.3s ease;

}


/* ==========================================================

   TITOLO CARD CHIUSA

   CENTRATO

   ========================================================== */


.lr-service-card:not(.is-active) .lr-service-card__title {

    text-align: center !important;

}


.lr-service-card:not(.is-active)

.lr-service-card__title

.elementor-heading-title {

    margin: 0 !important;

    padding: 0 !important;


    color: #ffffff !important;


    font-size: 39px !important;

    line-height: 1.05 !important;


    text-align: center !important;


    transition:

        color 0.35s ease,

        font-size 0.45s cubic-bezier(.22, .61, .36, 1);

}


/* ==========================================================

   TITOLO CARD APERTA

   ALLINEATO A SINISTRA

   ========================================================== */


.lr-service-card.is-active .lr-service-card__title {

    text-align: left !important;

}


.lr-service-card.is-active

.lr-service-card__title

.elementor-heading-title {

    margin: 0 !important;

    padding: 0 !important;


    color: #000000 !important;


    font-size: 55px !important;

    line-height: 1.05 !important;


    text-align: left !important;

}


/* ==========================================================

   CONTENUTO CARD

   testo + bottone

   ========================================================== */


.lr-service-card__content {

    width: 100% !important;


    height: 0 !important;

    min-height: 0 !important;

    max-height: 0 !important;


    margin: 0 !important;

    padding: 0 !important;


    opacity: 0;

    visibility: hidden;


    overflow: hidden;


    transform: translateY(12px);


    pointer-events: none;


    transition:

        max-height 0.45s cubic-bezier(.22, .61, .36, 1),

        opacity 0.25s ease,

        transform 0.4s ease,

        visibility 0s linear 0.4s;

}


/* ==========================================================

   CONTENUTO CARD APERTA

   ========================================================== */


.lr-service-card.is-active .lr-service-card__content {

    height: auto !important;

    min-height: 0 !important;

    max-height: 500px !important;

    margin-top: 25px !important;

    opacity: 1;

    visibility: visible;

    overflow: visible;

    transform: translateY(0);

    pointer-events: auto;

    transition:

        max-height 0.5s cubic-bezier(.22, .61, .36, 1),

        opacity 0.3s ease 0.15s,

        transform 0.4s ease,

        visibility 0s;

}


/* ==========================================================

   COLORE TESTI CARD APERTA


   Vengono modificati SOLO i contenuti testuali.

   Il pulsante Elementor NON viene toccato.

   ========================================================== */


.lr-service-card.is-active

.lr-service-card__content

.elementor-widget-text-editor {

    color: #000000;

}


.lr-service-card.is-active

.lr-service-card__content

.elementor-widget-text-editor p,


.lr-service-card.is-active

.lr-service-card__content

.elementor-widget-text-editor h1,


.lr-service-card.is-active

.lr-service-card__content

.elementor-widget-text-editor h2,


.lr-service-card.is-active

.lr-service-card__content

.elementor-widget-text-editor h3,


.lr-service-card.is-active

.lr-service-card__content

.elementor-widget-text-editor h4,


.lr-service-card.is-active

.lr-service-card__content

.elementor-widget-text-editor h5,


.lr-service-card.is-active

.lr-service-card__content

.elementor-widget-text-editor h6,


.lr-service-card.is-active

.lr-service-card__content

.elementor-widget-text-editor li {

    color: #000000;

}


/* ==========================================================

   PULSANTE ELEMENTOR


   Nessun colore viene forzato.

   Colori, hover, background ecc. restano gestiti da Elementor.

   ========================================================== */


.lr-service-card__content .elementor-button {

    transition:

        background-color 0.3s ease,

        color 0.3s ease,

        border-color 0.3s ease,

        transform 0.3s ease;

}


/* ==========================================================

   RIMUOVE EVENTUALI ALTEZZE FORZATE DA ELEMENTOR

   ========================================================== */


.lr-service-card > .e-con-inner,

.lr-service-card .lr-service-card__content,

.lr-service-card .lr-service-card__content > .e-con-inner {

    min-height: 0 !important;

}


/* ==========================================================

   DESKTOP SOTTO 1500px

   ========================================================== */


@media (max-width: 1500px) {


    .lr-services__cards {

        width: calc(100% - 60px) !important;

        gap: 32px;

    }


}


/* ==========================================================

   TABLET / DESKTOP PICCOLO

   ========================================================== */


@media (max-width: 1100px) {


    .lr-services {

        min-height: 620px;

    }


    .lr-services__cards {

        width: calc(100% - 40px) !important;

        gap: 20px;

    }


    .lr-service-card {

        height: 230px !important;

        min-height: 230px !important;

        padding: 25px !important;

    }


    .lr-service-card.is-active {

        flex-grow: 1.5 !important;

        height: 320px !important;

        min-height: 320px !important;

        padding: 32px !important;

    }


    /* Titolo chiuso */


    .lr-service-card:not(.is-active)

    .lr-service-card__title

    .elementor-heading-title {

        font-size: 35px !important;

        text-align: center !important;

    }


    /* Titolo aperto */


    .lr-service-card.is-active

    .lr-service-card__title

    .elementor-heading-title {

        font-size: 44px !important;

        text-align: left !important;

    }

    .elementor-element.elementor-element-2d0202c.e-con-full.lr-services__cards.e-flex.e-con.e-child{

        display: grid !important;

        padding: 100px 0px !important;

    }


}


/* ==========================================================

   MOBILE

   ========================================================== */


@media (max-width: 767px) {


    .lr-services {

        min-height: 720px;


        padding-top: 40px;

        padding-bottom: 40px;

    }


    .lr-services__cards {

        width: calc(100% - 30px) !important;


        flex-direction: column !important;


        gap: 14px;

    }


    /* CARD CHIUSA */


    .lr-service-card {

        width: 100% !important;


        flex: none !important;


        height: 90px !important;

        min-height: 90px !important;


        padding: 20px 24px !important;

    }


    /* CARD APERTA */


    .lr-service-card.is-active {

        width: 100% !important;


        flex: none !important;


        height: auto !important;

        min-height: 300px !important;


        padding: 30px 25px !important;

    }


    /* Titolo chiuso */


    .lr-service-card:not(.is-active)

    .lr-service-card__title,

    .lr-service-card:not(.is-active)

    .lr-service-card__title

    .elementor-heading-title {

        font-size: 26px !important;


        text-align: center !important;

    }


    /* Titolo aperto */


    .lr-service-card.is-active

    .lr-service-card__title,

    .lr-service-card.is-active

    .lr-service-card__title

    .elementor-heading-title {

        font-size: 36px !important;


        text-align: left !important;

    }


}


/* ==========================================================

   SEZIONE IL MONDO LIVRÉE

   ========================================================== */


/* Sezione principale full width */

.elementor-element-a4c438c {

    width: 100% !important;

    max-width: none !important;

}


/* Colonna contenuto */

.elementor-element-4809bfb {

    /*

     * Il bordo destro del contenuto coincide con

     * quello di un container centrale largo 1550px.

     *

     * Sotto i 1590px mantiene comunque 20px di margine.

     */

    padding-right: max(

        20px,

        calc((100vw - 1550px) / 2)

    ) !important;

}


.elementor-element.elementor-element-99a7f8c.elementor-widget__width-initial.toggle-img.elementor-widget.elementor-widget-image img{

    height: 645px !important;

}


.toggle-img img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: opacity 0.3s ease;

}


.elementor-element.elementor-element-0217df8.elementor-widget.elementor-widget-text-editor p{

    display: inline-flex !important; 

}


.elementor-element.elementor-arrows-position-outside .swiper, .elementor-lightbox.elementor-arrows-position-outside .swiper {

    width: calc(100% - 120px) !important;

}


.space-social a:hover{

    text-decoration: underline;

    transition: 0.3s ease-in-out;

}


.dialog-close-button.dialog-lightbox-close-button{

    border-radius: 50px;

    padding: 5px;

}


/*animazione testo evidenziato*/

.scroll-text-reveal .elementor-heading-title {

    color: inherit;

}


.scroll-text-reveal .reveal-word {

    display: inline-block;

}


.scroll-text-reveal .reveal-letter {

    display: inline;

    color: rgb(70, 70, 70);

    opacity: 0.3;

    transition:

        color 0.12s linear,

        opacity 0.12s linear;

}


/* Mantiene eventuali parole sottolineate */

.scroll-text-reveal .highlight-word {

    text-decoration: underline;

}


/* ==================================================

   SEZIONE STICKY

   ================================================== */


.sticky-switch-section {

    --layout-width: 1520px;

    --page-padding: 30px;

    --text-gap: 80px;


    /* Altezza massima foto */

    --image-height: 850px;


    width: 100%;

    max-width: none !important;


    display: flex;

    flex-direction: row;

    align-items: stretch;


    position: relative;


    overflow: visible !important;


    padding: 0 !important;

    margin: 0 !important;

}


/* ==================================================

   COLONNA SINISTRA

   ================================================== */


.sticky-switch-left {

    width: 50%;

    flex: 0 0 50%;


    position: sticky;

    top: 0;


    height: 100vh;

    height: 100dvh;


    align-self: flex-start;


    overflow: hidden;


    padding: 0 !important;

    margin: 0 !important;


    background-color: #000000;

}


/* Contenitore interno Elementor */


.sticky-switch-left > .e-con-inner {

    position: relative;


    width: 100% !important;

    max-width: none !important;


    height: 100% !important;

    min-height: 100% !important;


    padding: 0 !important;

    margin: 0 !important;

}


/* ==================================================

   IMMAGINI

   ================================================== */


.sticky-switch-image {

    position: absolute !important;


    inset: 0;


    width: 100% !important;

    height: 100% !important;

    min-height: 100% !important;


    padding: 0 !important;

    margin: 0 !important;


    opacity: 0;

    visibility: hidden;

    pointer-events: none;


    z-index: 1;


    will-change: opacity;


    transition:

        opacity 0.65s ease-in-out,

        visibility 0s linear 0.65s;

}


/* Immagine attiva */


.sticky-switch-image.is-active {

    opacity: 1 !important;

    visibility: visible;


    z-index: 2;


    transition:

        opacity 0.65s ease-in-out,

        visibility 0s linear 0s;

}


/* Widget Elementor */


.sticky-switch-image.elementor-widget-image,

.sticky-switch-image .elementor-widget-container {

    width: 100% !important;

    height: 100% !important;

}


/* Immagine a pieno schermo */


.sticky-switch-image img {

    display: block;


    width: 100% !important;

    height: 100% !important;


    object-fit: cover;

    object-position: center;


    max-width: none !important;

}


/* ==================================================

   EVENTUALE SPAZIATURA ELEMENTOR

   ================================================== */


.sticky-switch-left,

.sticky-switch-left > .e-con-inner,

.sticky-switch-image {

    gap: 0 !important;

    border: 0 !important;

}


/* ==================================================

   COLONNA DESTRA

   ================================================== */


.sticky-switch-right {

    width: 50%;

    flex: 0 0 50%;

    position: relative;

    box-sizing: border-box;

    /*

     * Spazio tra immagine e contenuti

     */

    padding-left: var(--text-gap) !important;

    /*

     * Allinea il bordo destro alla griglia da 1520px

     */

    padding-right: max(

        var(--page-padding),

        calc((100vw - var(--layout-width)) / 2)

    ) !important;

    margin: 0 !important;

}


/* Container interno destro */

.sticky-switch-right-inner {

    width: 100% !important;

    max-width: none !important;

    padding: 0 !important;

    margin: 0 !important;

}


/* ==================================================

   SINGOLI BLOCCHI TESTO

   ================================================== */


.sticky-switch-item {

    width: 100%;

    /*

     * IMPORTANTE:

     * è questo che regola la distanza verticale

     * fra un contenuto e il successivo.

     */

    min-height: 850px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    box-sizing: border-box;

    padding-top: 0px;

    padding-bottom: 0px;

    margin: 0 !important;

}


/* ==================================================

   DESKTOP PIÙ PICCOLI

   ================================================== */


@media (max-width: 1600px) {

    .sticky-switch-section {

        --text-gap: 60px;

        --image-height: 620px;

    }

    .sticky-switch-item {

        min-height: 480px;

    }


}


/* ==================================================

   TABLET

   ================================================== */


@media (max-width: 1200px) {

    .sticky-switch-section {

        --text-gap: 40px;

        --page-padding: 25px;

        --image-height: 560px;

    }

    .sticky-switch-item {

        min-height: 450px;

        padding-top: 50px;

        padding-bottom: 50px;

    }

    .elementor-element.elementor-element-99a7f8c.elementor-widget__width-initial.toggle-img.elementor-widget.elementor-widget-image img{

        max-height: 400px;

    }


}


/* ==================================================

   MOBILE

   ================================================== */


@media (max-width: 767px) {

    .sticky-switch-section {

        display: block;


        --page-padding: 20px;

    }

    .sticky-switch-left {

        width: 100%;

        height: 60vw;

        max-height: 500px;

        position: relative;

        top: auto;

        margin: 0 !important;

    }


    .sticky-switch-right {

        width: 100%;

        padding-left: var(--page-padding) !important;

        padding-right: var(--page-padding) !important;

    }


    .sticky-switch-item {

        min-height: auto;

    }

    .elementor-element.elementor-element-3243778.e-con-full.sticky-switch-right{

        row-gap: 50px;

    }

    .elementor-element.elementor-element-90c2fe9.e-con-full.sticky-switch-item{

        padding: 0px;

    }

    .elementor-element.elementor-element-3fe77af{

        padding-top: 80px;

        padding-bottom: 0px;

    }


    .elementor-element.elementor-element-9d2ecfe{

        padding-bottom: 80px;

        padding-top: 0px;

    }


    .elementor-element.elementor-element-99a7f8c.elementor-widget__width-initial.toggle-img.elementor-widget.elementor-widget-image img{

        max-height: 300px;

    }


}


/*TS HOVER REVEAL*/

.ts-hr-item-inner {

    display: grid;

    grid-template-columns: 260px minmax(0, 1fr);

    column-gap: 550px;

    align-items: center;

    width: 100%;

}


/* Titolo */

.ts-hr-main {

    min-width: 0;

}


/* Testo aggiuntivo */

.ts-hr-trail {

    display: flex !important;

    justify-content: flex-start !important;

    min-width: 0;

    width: 100%;

}


.ts-hr-extra {

    display: block;

    width: 100% !important;

    text-align: left;

}


.swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal{

    position: relative;

    margin-top: 50px;

}


/*PAGINA SERVIZI*/

.colonna-destra-space {

  position: relative;

}


/* CONTENITORE TIMELINE */

.fasi-space {

  --progress-scale: 0;

  position: relative;

  padding-left: 40px;

  isolation: isolate;

}


/* LINEA GRIGIA */

.fasi-space::before {

  content: "";

  position: absolute;

  left: 12px;

  top: 0;

  bottom: 0;

  width: 2px;

  height: auto;

  background: #ddd;

  z-index: 0;

  display: block;

}


/* LINEA NERA PROGRESSIVA */

.fasi-space::after {

  content: "";

  position: absolute;

  left: 12px;

  top: 0;

  bottom: 0;

  width: 2px;

  height: auto !important;

  background: #000000;

  z-index: 1;

  display: block;


  transform-origin: top center;

  transform: scaleY(var(--progress-scale, 0)) !important;

  transition: transform 0.1s linear;

}


/* SINGOLA FASE */

.tl-step {

  position: relative;

  padding-bottom: 55px;

  z-index: 2;

}


/* PALLINI */

.tl-step::before {

  content: "";

  position: absolute;

  left: -34px;

  top: 50px;

  width: 14px;

  height: 14px;

  border-radius: 50%;

  background: #ddd;

  transition: background 0.3s ease;

  z-index: 3;

}


/* PALLINI ATTIVI */

.tl-step.active::before {

  background: #000000;

}


.tl-step .n {

  font-size: 12px;

  color: #999;

  display: block;

  margin-bottom: 15px;

}


.tl-step h3 {

  margin: 0 0 15px;

}


.tl-step p {

  margin: 0;

  color: #777;

}


.elementor-icon-box-title{

    margin-top: 0px;

}


/*GLASS CARD CONATTTI PRE-FOOTER*/

.glass-card-space{

    background: rgba(255, 255, 255, 0.22) !important;

    border-radius: 12px !important;

    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1) !important;

    backdrop-filter: blur(8.7px) !important;

    -webkit-backdrop-filter: blur(8.7px) !important;

    border: 1px solid rgba(255, 255, 255, 0.3) !important;

}


/*PROVA ANIMAZIONE TITOLO*/

/* Titolo animato */

/* Animazione globale H1 e H2 */

h1,

h2 {

  --zd-ease: cubic-bezier(.16, 1, .3, 1);

}


h1 .zd-w,

h2 .zd-w {

  display: inline-block;

  overflow: hidden;

  vertical-align: top;

  padding: 0 .02em .08em;

}


h1 .zd-w > span,

h2 .zd-w > span {

  display: inline-block;

  transform: translateY(110%) rotate(6deg);

  transition: transform 1.1s var(--zd-ease);

  transition-delay: calc(var(--i) * 80ms);

}


h1.zd-in .zd-w > span,

h2.zd-in .zd-w > span {

  transform: none;

}


/* Barra specifiche sticky bottom */

.elementor-element-ce16f6b {

    position: fixed !important;

    left: 50%;

    bottom: 50px;

    transform: translate(-50%, 30px);

    width: calc(100% - 40px);

    z-index: 10;

    max-width: 1000px;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition:

        opacity .4s ease,

        transform .4s ease,

        visibility .4s ease;

}


/* Compare dopo aver superato il primo blocco */

.elementor-element-ce16f6b.is-visible {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform: translate(-50%, 0);

}


.elementor-8991 .elementor-element.elementor-element-603f7c0:not(.elementor-motion-effects-element-type-background), .elementor-8991 .elementor-element.elementor-element-603f7c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{

    background: rgba(0, 0, 0, 0.79);

    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);

    backdrop-filter: blur(9.4px);

    -webkit-backdrop-filter: blur(9.4px);

}


/*LOOP VETTURE*/

.immagine-macchina-loop{

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

}


.elementor-shortcode .cf-wrap{

    max-width: unset;

}


.cf-count.cf-count-card{

    padding-bottom: 15px;

}


.cf-sheet{

    background-color: white;

    padding: 25px;

    border: solid 1px #d9d9d9;

    border-radius: 12px;

}


/* Se non esiste l'elenco optional, rimuove il padding inferiore */

body.single-veicolo:not(:has(.as24-feat__optionals))

.elementor-element-cba9587 > .e-con-inner {

    padding-bottom: 0 !important;

}


/* ==========================================

   MENU - SOTTOLINEATURA ANIMATA

   ========================================== */


/* Link largo quanto il testo */

.elementor-8364 .elementor-element.elementor-element-87b6ab0

.elementor-nav-menu--main .elementor-item {

    width: fit-content !important;

    padding-left: 0 !important;

    padding-right: 0 !important;

    position: relative !important;

}


/* Stato iniziale: linea nascosta */

.elementor-8364 .elementor-element.elementor-element-87b6ab0

.elementor-nav-menu--main:not(.e--pointer-framed)

.elementor-item::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 2px !important;
    background-color: currentColor !important;
    /* Linea nascosta */
    transform: scaleX(0) !important;
    /* Scomparsa da sinistra verso destra */
    transform-origin: right center !important;
    /* Animazione */
    transition: transform 0.4s ease-in-out !important;
    opacity: 1 !important;
    clip-path: none !important;
}

/* Hover: comparsa da sinistra verso destra */

.elementor-8364 .elementor-element.elementor-element-87b6ab0
.elementor-nav-menu--main:not(.e--pointer-framed)
.elementor-item:hover::after,

/* Voce attiva */
.elementor-8364 .elementor-element.elementor-element-87b6ab0
.elementor-nav-menu--main:not(.e--pointer-framed)
.elementor-item.elementor-item-active::after {

    transform: scaleX(1) !important;

    transform-origin: left center !important;

}


/* Elimina la seconda linea di Elementor */

.elementor-8364 .elementor-element.elementor-element-87b6ab0

.elementor-nav-menu--main:not(.e--pointer-framed)

.elementor-item::before {

    display: none !important;

}


.tag-evento-space{
    border: 1px solid #fff;
    padding: 7px 15px;
    border-radius: 20px;
}



.space-race-evento{
    background-color: black;
    padding: 15px 20px 20px 20px;
    border-radius: 10px;
}

/* ==========================================
   SEZIONE EVENTI - LAYOUT GENERALE
   Allineamento max 1520px + carosello offset right
========================================== */

.elementor-element-d88555a,
.elementor-element-e30aaff {
    min-width: 0;
}

/* Colonna sinistra: allineata agli altri contenuti */
.elementor-element-d88555a {
    padding-left: max(20px, calc((100vw - 1520px) / 2));
    padding-right: 40px;
}

/* Colonna destra: il carosello arriva al bordo viewport */
.elementor-element-e30aaff {
    min-width: 0;
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* ==========================================
   CAROSELLO EVENTI - CARD + CONTROLLI
   Riga 1: slide; riga 2: frecce (50px sotto)
========================================== */

.elementor-element.elementor-element-cde92f1 {
    --event-arrow-size: 40px;
    --event-arrow-gap: 50px;
    --event-cards-gap: 50px;
    --event-right-gutter: max(20px, calc((100vw - 1520px) / 2));

    position: relative !important;
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        var(--event-arrow-size)
        var(--event-arrow-gap)
        var(--event-arrow-size)
        var(--event-right-gutter);
    grid-template-rows: auto var(--event-arrow-size);
    row-gap: var(--event-cards-gap);
    column-gap: 0;
    align-items: start;

    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
}

/* Slide: prima riga a tutta larghezza; conserva l'offset Swiper */
.elementor-element.elementor-element-cde92f1 > .e-n-carousel {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
}

/* Annulla il posizionamento assoluto delle frecce Elementor */
.elementor-element.elementor-element-cde92f1 > .elementor-swiper-button {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;

    grid-row: 2;
    width: var(--event-arrow-size);
    height: var(--event-arrow-size);
    min-width: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    align-self: center;
    z-index: 1;
}

/* Prev a sinistra, Next a destra: 50px tra i bordi */
.elementor-element.elementor-element-cde92f1 > .elementor-swiper-button-prev {
    grid-column: 2;
}

.elementor-element.elementor-element-cde92f1 > .elementor-swiper-button-next {
    grid-column: 4;
}

/* ==========================================
   SEZIONE EVENTI - TABLET 768-1024
========================================== */

@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-element-d88555a {
        width: 50% !important;
        padding-left: 30px !important;
        padding-right: 0;
    }

    .elementor-element-e30aaff {
        width: 50% !important;
    }

    .elementor-element.elementor-element-cde92f1 {
        --event-arrow-size: 35px;
        --event-right-gutter: 30px;
    }

    .tag-evento-space {
        max-width: fit-content !important;
    }
}

/* ==========================================
   SEZIONE EVENTI - MOBILE FINO A 767px
========================================== */

@media (max-width: 767px) {
    .elementor-element-d88555a {
        width: 100% !important;
        padding: 0 20px !important;
    }

    .elementor-element-e30aaff {
        width: 100% !important;
        padding-left: 20px !important;
        padding-right: 0 !important;
    }

    .elementor-element.elementor-element-cde92f1 {
        --event-arrow-size: 35px;
        --event-right-gutter: 20px;
    }

    .tag-evento-space {
        max-width: fit-content !important;
    }
}

@media (max-width: 1750px) {

    .elementor-8001 .elementor-element.elementor-element-60df301:not(.elementor-motion-effects-element-type-background), .elementor-8001 .elementor-element.elementor-element-60df301 > .elementor-motion-effects-container > .elementor-motion-effects-layer{

        background-position: -250px 0px;

    }

}


@media (max-width: 1570px) {

  .e-con.e-con-boxed:not(.e-con .e-con) > .e-con-inner {

    width: calc(100% - 50px) !important;

    max-width: 1520px !important;

    margin-left: auto !important;

    margin-right: auto !important;

  }

  .cf-sheet-head .zd-w{

    font-size: 20px !important;

  }

}


@media (max-width: 1430px) {

    .elementor-8001 .elementor-element.elementor-element-60df301:not(.elementor-motion-effects-element-type-background), .elementor-8001 .elementor-element.elementor-element-60df301 > .elementor-motion-effects-container > .elementor-motion-effects-layer{

        background-position: -400px 0px;

    }

}


@media (max-width: 1080px){

    .ts-hr-image-wrap{

        display: none;

    }

    .ts-hr-item-inner{

        display: block;

    }

    .ts-hr-trail{

        padding: 0px;

    }

    .ts-hr-main{

        margin-bottom: 10px;

    }
    .e-con.e-con-boxed:not(.e-con .e-con) > .e-con-inner{
    width: calc(100% - 60px) !important;
    max-width: 1520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
      .elementor-8001 .elementor-element.elementor-element-60df301:not(.elementor-motion-effects-element-type-background), .elementor-8001 .elementor-element.elementor-element-60df301 > .elementor-motion-effects-container > .elementor-motion-effects-layer{
        background-position: center;
      }
} 

@media (max-width: 767px) {
    .ts-hr-item-inner{
        display: block;
    }
    .ts-hr-image-wrap{
        display: none;
    }
    .ts-hr-item{
        cursor: none;
    }
    .ts-hr-trail{
        padding: 0px;
    }
    .ts-hr-main{
        margin-bottom: 10px;
    }
    .elementor-8383 .elementor-element.elementor-element-99b809e .ts-hr-item-text{
        font-size: 40px;
    }
    .e-con.e-con-boxed:not(.e-con .e-con) > .e-con-inner{
    width: calc(100% - 40px) !important;
    }
}