/*
    AUREO.CSS - Restyling AutoArvo secondo la sezione aurea (phi = 1,618)
    Caricato per ultimo nella MasterPage: sovrascrive il tema senza modificarne i file.

    Sistema di misura
    - Spaziature: base 16px moltiplicata per potenze di phi -> 6 / 10 / 16 / 26 / 42 / 68 / 110
    - Tipografia: base 16px, scala phi^(n/2) -> 12.6 / 16 / 20.4 / 25.9 / 32.9 / 41.9
    - Interlinea del testo corrente: 1.618
    - Ripartizioni a due aree: 61.8% / 38.2%
    - Immagini di card e hero: rettangolo aureo (1.618 : 1) e 61.8vh
*/

:root {
    --phi: 1.618;
    --aureo-maggiore: 61.8%;
    --aureo-minore: 38.2%;

    --s-2: 6px;
    --s-1: 10px;
    --s0: 16px;
    --s1: 26px;
    --s2: 42px;
    --s3: 68px;
    --s4: 110px;

    --t-small: 12.6px;
    --t-base: 16px;
    --t-1: 20.4px;
    --t-2: 25.9px;
    --t-3: 32.9px;
    --t-4: 41.9px;

    --oro: var(--sfondo-principale);
    --testo-tenue: #A3A19C;
    --superficie: #222226;
    --raggio: 4px;
    --tracking-wordmark: .12em;
    --tracking-payoff: .15em;
    --transizione: .3s ease;
}

/* ---------- BASE ---------- */
body {
    font-size: 15px;
    line-height: var(--phi);
    letter-spacing: .005em;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--lettere);
    letter-spacing: .01em;
}

p {
    line-height: var(--phi);
}

a {
    transition: color var(--transizione);
}

::selection {
    background: var(--oro);
    color: var(--colore-principale-testo);
}

/* ---------- HEADER TOP ---------- */
.header_top.home3_style {
    background-color: var(--secondo-sfondo);
    border-bottom: 1px solid var(--bordi);
    padding: var(--s-1) 0;
}

.header_top_contact_opening_widget ul li a,
.header_top_social_widgets ul li,
.header_top_social_widgets ul li a {
    color: var(--testo-tenue);
    font-size: var(--t-small);
    letter-spacing: .04em;
}

    .header_top_contact_opening_widget ul li a:hover,
    .header_top_social_widgets ul li a:hover,
    .header_top_contact_opening_widget ul li a span {
        color: var(--oro);
    }

/* ---------- MENU PRINCIPALE ---------- */
/* Logo = barra / phi, su coppie consecutive della scala:
   barra 110 / logo 68 (desktop), 89 / 55 (desktop stretto), 68 / 42 (barra fissa allo scroll e mobile) */
header.header-nav.menu_style_home_one.home3_style {
    background-color: var(--sfondo-sito);
    border-bottom: 1px solid var(--bordi);
    --barra: var(--s4);
    --logo: var(--s3);
}

header.header-nav a.navbar_brand {
    display: flex;
    align-items: center;
    height: var(--barra);
    margin: 0;
}

    header.header-nav a.navbar_brand img.logo1 {
        height: var(--logo);
        max-height: none;
        width: auto;
        transition: height var(--transizione);
    }

header.header-nav.menu_style_home_one.home3_style.stricky-fixed {
    --barra: var(--s3);
    --logo: var(--s2);
}

/* Mobile: il logo segue la stessa regola nella barra da 68px (sovrascrive lo stile inline) */
.mobile_menu_main_logo .nav_logo_img {
    width: auto !important;
    height: var(--s2);
    margin: 13px 0 !important;
}

header.header-nav.menu_style_home_one .ace-responsive-menu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
}

    header.header-nav.menu_style_home_one .ace-responsive-menu > li {
        float: none;
    }

        header.header-nav.menu_style_home_one .ace-responsive-menu > li > a {
            padding: 0 var(--s-1);
            line-height: var(--barra, var(--s3));
            font-size: 12px;
            font-weight: 500;
            letter-spacing: .1em;
        }

header.header-nav.menu_style_home_one.home3_style .ace-responsive-menu > li > a:hover,
header.header-nav.menu_style_home_one.home3_style .ace-responsive-menu > li > a:hover .title {
    color: var(--oro);
}

header.header-nav.menu_style_home_one .ace-responsive-menu > li > a .title {
    position: relative;
}

    header.header-nav.menu_style_home_one .ace-responsive-menu > li > a .title::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -8px;
        height: 1px;
        background: var(--oro);
        transform: scaleX(0);
        transition: transform var(--transizione);
    }

header.header-nav.menu_style_home_one .ace-responsive-menu > li > a:hover .title::after {
    transform: scaleX(1);
}

/* Sottomenu scuro, coerente con il fondo antracite */
header.header-nav.menu_style_home_one .ace-responsive-menu li ul.sub-menu {
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-top: 1px solid var(--oro);
    border-radius: 0 0 var(--raggio) var(--raggio);
    padding: var(--s-1) 0;
    box-shadow: 0 var(--s1) var(--s2) rgba(0, 0, 0, .35);
}

    header.header-nav.menu_style_home_one .ace-responsive-menu li ul.sub-menu li a {
        color: var(--lettere);
        font-size: 12px;
        letter-spacing: .08em;
        padding: var(--s-1) var(--s1);
    }

        header.header-nav.menu_style_home_one .ace-responsive-menu li ul.sub-menu li a:hover {
            color: var(--oro);
            background: transparent;
        }

/* Voce evidenziata "Veicoli B2B" */
#respMenu li.menu-cta > a {
    padding-top: 0;
    padding-bottom: 0;
}

    #respMenu li.menu-cta > a .title {
        background: transparent;
        border: 1px solid var(--oro);
        border-radius: var(--raggio);
        color: var(--oro) !important;
        padding: var(--s-2) var(--s-1);
    }

    #respMenu li.menu-cta > a:hover .title {
        background: var(--oro);
        color: var(--colore-principale-testo) !important;
    }

    #respMenu li.menu-cta > a .title::after {
        display: none;
    }

@media (min-width: 992px) and (max-width: 1399px) {
    header.header-nav.menu_style_home_one .ace-responsive-menu > li > a {
        padding: 0 7px;
        font-size: 11.5px;
        letter-spacing: .06em;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    header.header-nav.menu_style_home_one.home3_style:not(.stricky-fixed) {
        --barra: 89px;
        --logo: 55px;
    }

    header.header-nav.menu_style_home_one .ace-responsive-menu > li > a {
        padding: 0 5px;
        font-size: 10.5px;
        letter-spacing: .03em;
    }
}

/* ---------- TITOLI DI SEZIONE ---------- */
/* Titolo: 25.9px maiuscolo con tracking del wordmark; filetto oro 42px (s2) */
.main-title {
    margin-bottom: var(--s2);
}

    .main-title h1 {
        font-size: var(--t-3);
        font-weight: 300;
        line-height: 1.272;
        letter-spacing: .02em;
        margin-bottom: var(--s-1);
    }

    .main-title h2 {
        font-size: var(--t-2);
        font-weight: 400;
        line-height: 1.272;
        text-transform: uppercase;
        letter-spacing: var(--tracking-wordmark);
        margin-bottom: 0;
    }

    .main-title h1 + h2,
    .main-title h2 + h3 {
        font-size: var(--t-small);
        font-weight: 500;
        color: var(--oro);
        letter-spacing: var(--tracking-payoff);
        text-transform: uppercase;
        margin-top: var(--s-1);
    }

    .main-title.text-center::after {
        content: "";
        display: block;
        width: var(--s2);
        height: 1px;
        margin: var(--s1) auto 0;
        background: var(--oro);
    }

/* ---------- SPAZIATURE DI SEZIONE ---------- */
/* Ritmo verticale: 110px (s4) tra sezioni principali, 68px (s3) su tablet, 42px (s2) su mobile */
.popular-listing,
.our-blog,
.our-testimonials-home1,
.about-section,
.why-chose,
.our-service,
.our-listing,
.our-shop {
    padding-top: var(--s4) !important;
    padding-bottom: 0 !important;
}

.our-testimonials-home1 {
    padding-bottom: var(--s4) !important;
}

section.car-category {
    padding-top: var(--s4) !important;
    padding-bottom: 0 !important;
}

.our-listing,
.our-shop {
    padding-top: var(--s2) !important;
    padding-bottom: var(--s3) !important;
}

@media (max-width: 991px) {
    .popular-listing, .our-blog, .our-testimonials-home1, .about-section,
    .why-chose, .our-service, section.car-category {
        padding-top: var(--s3) !important;
    }

    .our-testimonials-home1 {
        padding-bottom: var(--s3) !important;
    }
}

@media (max-width: 575px) {
    .popular-listing, .our-blog, .our-testimonials-home1, .about-section,
    .why-chose, .our-service, section.car-category {
        padding-top: var(--s2) !important;
    }

    .main-title h1 {
        font-size: var(--t-2);
    }

    .main-title h2 {
        font-size: var(--t-1);
    }
}

/* ---------- HERO ---------- */
/* Altezza = 61.8% del viewport: la sezione maggiore della pagina visibile */
.home-one {
    border-radius: 0;
}

    .home-one .slide.slide-one {
        height: 61.8vh !important;
        min-height: 380px;
        max-height: 720px;
        background-position: center;
        background-size: cover;
        position: relative;
    }

        .home-one .slide.slide-one::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(27, 27, 30, .15) 0%, rgba(27, 27, 30, 0) 38.2%, rgba(27, 27, 30, .9) 100%);
        }

@media (max-width: 767px) {
    .home-one .slide.slide-one {
        min-height: 260px;
        height: 38.2vh !important;
    }
}

/* CTA a sinistra sopra lo slider: resta ferma mentre le slide scorrono.
   L'area utile esclude i 110px (s4) in basso coperti dal pannello di ricerca. */
.home2_main_slider {
    position: relative;
}

.hero-cta {
    position: absolute;
    inset: 0 0 var(--s4) 0;
    z-index: 2;
    display: flex;
    align-items: center;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .3) 38.2%, rgba(0, 0, 0, 0) 61.8%);
    transition: opacity .6s ease, visibility .6s ease;
}

    /* Nascosta sulle slide diverse dalla foto 1 (classe gestita da Default.aspx) */
    .hero-cta.hero-cta-nascosta {
        opacity: 0;
        visibility: hidden;
    }

        .hero-cta.hero-cta-nascosta .hero-cta-box {
            pointer-events: none;
        }

    .hero-cta .container {
        width: 100%;
    }

.hero-cta-box {
    max-width: 520px;
    pointer-events: auto;
}

.hero-cta-payoff {
    display: block;
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 600;
    letter-spacing: var(--tracking-payoff);
    text-transform: uppercase;
    margin-bottom: var(--s-1);
}

.hero-cta-titolo {
    color: #FFFFFF;
    font-size: var(--t-4);
    font-weight: 300;
    line-height: 1.236;
    letter-spacing: .01em;
    margin: 0 0 var(--s1);
}

.hero-cta-azioni {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-1) var(--s0);
}

.hero-cta-btn {
    display: inline-block;
    padding: var(--s-1) var(--s1);
    border: 1px solid var(--oro);
    border-radius: var(--raggio);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    line-height: 1.618;
    transition: background-color var(--transizione), border-color var(--transizione), color var(--transizione);
}

.hero-cta-btn-pieno {
    background-color: var(--oro);
    color: var(--colore-principale-testo);
}

    .hero-cta-btn-pieno:hover,
    .hero-cta-btn-pieno:focus {
        background-color: var(--sfondo-principale-hover);
        border-color: var(--sfondo-principale-hover);
        color: var(--colore-principale-testo);
    }

.hero-cta-btn-bordo {
    background-color: rgba(0, 0, 0, .25);
    color: var(--oro);
}

    .hero-cta-btn-bordo:hover,
    .hero-cta-btn-bordo:focus {
        background-color: var(--oro);
        color: var(--colore-principale-testo);
    }

@media (max-width: 991px) {
    .hero-cta-titolo {
        font-size: var(--t-3);
    }
}

@media (max-width: 767px) {
    .hero-cta {
        background: linear-gradient(90deg, rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, .35) 61.8%, rgba(0, 0, 0, .1) 100%);
    }

    .hero-cta-payoff {
        display: none;
    }

    .hero-cta-titolo {
        font-size: var(--t-2);
        margin-bottom: var(--s0);
    }

    .hero-cta-btn {
        padding: var(--s-2) var(--s0);
        font-size: 12px;
    }
}

/* ---------- PANNELLO DI RICERCA ---------- */
.advance_search_panel.home2_style {
    margin-top: calc(var(--s4) * -1);
}

.advance_search_panel .nav-pills .nav-link,
.radioButtonHome label > span.nav-link {
    background-color: var(--superficie) !important;
    border: 1px solid var(--bordi);
    border-bottom: 0;
    border-radius: var(--raggio) var(--raggio) 0 0 !important;
    color: var(--testo-tenue) !important;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: var(--s-1) var(--s1);
}

    .advance_search_panel .nav-pills .nav-link.active,
    .radioButtonHome label > span.nav-link.active {
        background-color: var(--sfondo-sito) !important;
        border-color: var(--oro);
        border-top: 2px solid var(--oro);
        color: var(--oro) !important;
    }

.adss_bg_stylehome1 {
    background-color: rgba(27, 27, 30, .94) !important;
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    box-shadow: 0 var(--s1) var(--s3) rgba(0, 0, 0, .45);
    padding: var(--s1) var(--s2) !important;
}

.home1_advance_search_wrapper .select-boxes .title {
    color: var(--testo-tenue);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: var(--s-2);
}

.home1_advance_search_wrapper .advnc_search_form_btn {
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
}

/* ---------- PULSANTI ---------- */
.btn {
    border-radius: var(--raggio);
    letter-spacing: .04em;
}

.btn-thm,
.btn-thm.rounded {
    border-radius: var(--raggio);
    font-weight: 600;
    box-shadow: none;
}

.btn-transparent {
    border-radius: var(--raggio);
}

    .btn-transparent:hover,
    .btn-transparent:active,
    .btn-transparent:focus {
        color: var(--colore-principale-testo);
    }

/* ---------- CAMPI DI FORM ---------- */
.form-control,
.bootstrap-select > .dropdown-toggle,
.bootstrap-select .btn.dropdown-toggle {
    border-radius: var(--raggio) !important;
    border-color: var(--bordi) !important;
}

    .form-control:focus {
        border-color: var(--oro) !important;
        box-shadow: 0 0 0 1px var(--oro) !important;
    }

.form-check-input:checked {
    background-color: var(--oro);
    border-color: var(--oro);
}

.dropdown-menu {
    background-color: var(--superficie);
    border-color: var(--bordi);
    border-radius: var(--raggio);
}

    .dropdown-menu .dropdown-item.active,
    .dropdown-menu .dropdown-item:active,
    .bootstrap-select .dropdown-menu li.selected a {
        background-color: var(--oro) !important;
        color: var(--colore-principale-testo) !important;
    }

/* ---------- MARCHI ---------- */
.category_item.home6_style {
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--raggio);
    padding: var(--s1) var(--s-1);
}

    .category_item.home6_style:hover {
        border-color: var(--bordi);
        box-shadow: none;
    }

    .category_item.home6_style .details .title,
    .category_item.home6_style .details .title a {
        color: var(--testo-tenue);
        font-size: 11px;
        font-weight: 500;
        letter-spacing: .12em;
        margin-top: var(--s-1);
    }

    .category_item.home6_style:hover .details .title a {
        color: var(--oro);
    }

/* ---------- CARD VEICOLO (comune) ---------- */
.car-listing {
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    padding: 0;
    overflow: hidden;
    transition: border-color var(--transizione), transform var(--transizione);
}

    .car-listing:hover {
        border-color: rgba(243, 156, 18, .55);
    }

    .car-listing .thumb {
        border-radius: 0;
        margin: 0;
        overflow: hidden;
    }

        .car-listing .thumb img {
            transition: transform .6s ease;
        }

    .car-listing:hover .thumb img {
        transform: scale(1.03);
    }

    .car-listing .details .title,
    .car-listing .details .title a {
        color: var(--lettere);
        font-weight: 500;
        letter-spacing: .02em;
    }

        .car-listing .details .title a:hover {
            color: var(--oro);
        }

    .car-listing .listing_footer,
    .car-listing .listing_footer a,
    .car-listing .listing_footer .list-parco-auto {
        color: var(--testo-tenue);
        font-size: var(--t-small);
    }

        .car-listing .listing_footer span[class^="flaticon"] {
            color: var(--oro);
        }

/* Vetrina: immagine in rettangolo aureo, card ad altezza uniforme */
.card-vetrina .car-listing {
    height: auto;
    min-height: 100%;
}

    .card-vetrina .car-listing .thumb {
        aspect-ratio: 1.618 / 1;
        height: auto !important;
    }

        .card-vetrina .car-listing .thumb img {
            width: 100%;
            height: 100% !important;
            object-fit: cover;
        }

    .card-vetrina .car-listing .details {
        padding: var(--s0) var(--s1) var(--s1);
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
    }

        .card-vetrina .car-listing .details .wrapper {
            padding: 0;
            flex: 1 1 auto;
        }

        .card-vetrina .car-listing .details .title {
            font-size: var(--t-base);
            line-height: 1.4;
            margin-bottom: var(--s-1);
        }

/* Footer card: tre moduli uguali divisi da filetti; icona 16px (s0), stacco 6px (s-2), valore 12.6px.
   Sopra il filetto 16px (s0), sotto il blocco 26px (s1) del padding card: 26 / 16 = phi */
.car-listing.home6_style .details .listing_footer {
    border-top: 1px solid var(--bordi);
    padding: var(--s0) 0 0;
    margin-top: var(--s0);
}

    .car-listing.home6_style .listing_footer ul {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin: 0;
        padding: 0;
        list-style: none;
    }

        .car-listing.home6_style .listing_footer ul li.list-inline-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: var(--s-2);
            min-width: 0;
            margin: 0;
            padding: 0 var(--s-2);
            text-align: center;
        }

            .car-listing.home6_style .listing_footer ul li + li {
                border-left: 1px solid var(--bordi);
            }

            .car-listing.home6_style .listing_footer ul li span[class^="flaticon"] {
                font-size: var(--t-base);
                line-height: 1;
                margin: 0;
            }

            .car-listing.home6_style .listing_footer ul li .valore {
                display: block;
                max-width: 100%;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                color: var(--testo-tenue);
                font-size: var(--t-small);
                line-height: 1.272;
                letter-spacing: .02em;
            }

/* Vetrina: il footer si allinea al fondo di tutte le card del carosello */
.card-vetrina .car-listing {
    display: flex;
    flex-direction: column;
}

    .card-vetrina .car-listing .details .listing_footer {
        margin-top: auto;
    }

    .card-vetrina .car-listing .details .wrapper {
        padding-bottom: var(--s0);
    }

.card-vetrina .owl-stage {
    display: flex;
}

.card-vetrina .owl-item {
    display: flex;
}

    .card-vetrina .owl-item > .item {
        width: 100%;
        display: flex;
    }

/* Parco auto: card orizzontale divisa 38.2% (immagine) / 61.8% (contenuti) */
@media (min-width: 1200px) {
    .our-listing .car-listing > .row > [class*="col-"]:first-child {
        width: var(--aureo-minore);
    }

    .our-listing .car-listing > .row > [class*="col-"]:last-child {
        width: var(--aureo-maggiore);
    }
}

.our-listing .car-listing > .row {
    margin: 0;
}

    .our-listing .car-listing > .row > [class*="col-"] {
        padding: 0;
    }

.our-listing .car-listing .thumb {
    aspect-ratio: 1.618 / 1;
    height: 100%;
    min-height: 100%;
}

    .our-listing .car-listing .thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.our-listing .car-listing .details {
    padding: var(--s0) var(--s1);
}

    .our-listing .car-listing .details .title {
        font-size: var(--t-1);
        margin-bottom: var(--s-2);
    }

    .our-listing .car-listing .details .para {
        color: var(--testo-tenue);
        font-size: 13px;
    }

.our-listing .car-listing .listing_footer {
    border-top: 1px solid var(--bordi);
    padding-top: var(--s-1);
}

/* ---------- PREZZI ---------- */
/* Il prezzo diventa l'accento oro; il prezzo barrato si attenua */
.prezzo-normale,
.prezzo-offerta,
.prezzo-normale-noleggio {
    color: var(--oro) !important;
    font-weight: 500;
    letter-spacing: .01em;
}

.prezzo-normale-con-offerta {
    color: var(--testo-tenue) !important;
    font-weight: 400;
    font-size: var(--t-base) !important;
    margin-right: var(--s-2);
}

.card-vetrina .prezzo-normale,
.card-vetrina .prezzo-offerta {
    font-size: var(--t-1) !important;
}

.situazione-parco,
.categoria-parco {
    border-radius: var(--raggio);
    box-shadow: none;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    padding: var(--s-2) var(--s-1);
    line-height: 1.4;
}

/* ---------- SERVIZI (card con immagine aurea) ---------- */
.for_blog {
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    padding: 0;
    height: 100%;
    transition: border-color var(--transizione);
}

    .for_blog:hover {
        border-color: rgba(243, 156, 18, .55);
    }

    .for_blog .thumb {
        aspect-ratio: 1.618 / 1;
        border-radius: 0;
        margin: 0;
        overflow: hidden;
    }

        .for_blog .thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .6s ease;
        }

    .for_blog:hover .thumb img {
        transform: scale(1.03);
    }

    .for_blog .details {
        padding: var(--s1) var(--s1) var(--s1) !important;
    }

        .for_blog .details .wrapper {
            padding: 0;
        }

            .for_blog .details .wrapper .title {
                font-size: var(--t-base);
                font-weight: 500;
                letter-spacing: .08em;
                text-transform: uppercase;
                line-height: 1.4;
                margin-bottom: var(--s-1);
            }

            .for_blog .details .wrapper p {
                color: var(--testo-tenue);
                font-size: 14px;
                text-align: center;
                margin-bottom: 0;
            }

.our-blog .row > [class*="col-"].mb20 {
    margin-bottom: var(--s1) !important;
}

/* ---------- PORTALI RECENSIONI ---------- */
.our-blog .category_item:not(.home6_style) {
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    padding: var(--s1) var(--s0);
}

    .our-blog .category_item:not(.home6_style) .thumb img {
        border-radius: var(--raggio);
    }

    .our-blog .category_item:not(.home6_style) .details .title a {
        color: var(--lettere);
        letter-spacing: .06em;
    }

.sspd_review li i {
    color: var(--oro);
}

/* ---------- TESTIMONIANZE ---------- */
.our-testimonials-home1 {
    background-color: var(--secondo-sfondo);
}

.testimonial_box {
    background-color: var(--superficie);
    border-radius: var(--raggio);
    box-shadow: none;
    padding: var(--s2) var(--s2) var(--s1);
}

    .testimonial_box .thumb .title {
        color: var(--oro);
        font-size: 13px;
        font-weight: 500;
        letter-spacing: var(--tracking-payoff);
        text-transform: uppercase;
    }

    .testimonial_box .details .icon {
        color: var(--oro);
        opacity: .5;
    }

    .testimonial_box .details p {
        font-size: var(--t-base);
        font-weight: 300;
        font-style: italic;
        line-height: var(--phi);
    }

/* ---------- RIQUADRI CALL TO ACTION (fine home) ---------- */
/* Due aree affiancate: fondo oro pieno (primaria) e fondo antracite con filetto (secondaria) */
.iconbox_home2.home6_style {
    background-color: var(--oro);
    border-radius: var(--raggio);
    padding: var(--s2) var(--s2);
    min-height: 100%;
}

    .iconbox_home2.home6_style .title,
    .iconbox_home2.home6_style p,
    .iconbox_home2.home6_style .icon span {
        color: var(--colore-principale-testo) !important;
    }

    .iconbox_home2.home6_style.style2 {
        background-color: var(--superficie);
        border: 1px solid var(--oro);
    }

        .iconbox_home2.home6_style.style2 .title {
            color: var(--lettere) !important;
        }

        .iconbox_home2.home6_style.style2 p {
            color: var(--testo-tenue) !important;
        }

        .iconbox_home2.home6_style.style2 .icon span {
            color: var(--oro) !important;
        }

    .iconbox_home2.home6_style .title {
        font-size: var(--t-1);
        font-weight: 500;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

section.bb1 {
    padding-bottom: var(--s4);
    border-bottom: 0;
}

/* ---------- BREADCRUMB PAGINE INTERNE ---------- */
.inner_page_breadcrumb {
    position: relative;
    isolation: isolate;
    padding: var(--s4) 0 var(--s3);
}

    /* Opacità nera sopra l'immagine di sfondo (z-index 0: style.css lo metteva a -1, sotto lo sfondo) */
    .inner_page_breadcrumb::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        background: rgba(0, 0, 0, .6);
    }

    .inner_page_breadcrumb > .container,
    .inner_page_breadcrumb > .container-xl {
        position: relative;
    }

    .inner_page_breadcrumb.style2 {
        padding: var(--s2) 0 var(--s1);
    }

        .inner_page_breadcrumb.style2::before {
            display: none;
        }

.breadcrumb_content .breadcrumb_title,
.breadcrumb_content h1,
.breadcrumb_content h2 {
    font-size: var(--t-3);
    font-weight: 300;
    letter-spacing: .04em;
}

.breadcrumb_content.style2 .breadcrumb_title {
    font-size: var(--t-2);
}

.breadcrumb_content .breadcrumb {
    background: transparent;
    font-size: var(--t-small);
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* ---------- RIPARTIZIONE AUREA DEI LAYOUT A DUE COLONNE ---------- */
/* Classi applicate alle colonne principali/secondarie di Veicolo, Contatti, Chi siamo */
@media (min-width: 992px) {
    .row > .col-aureo-maggiore {
        flex: 0 0 auto;
        width: var(--aureo-maggiore);
        margin-left: 0;
    }

    .row > .col-aureo-minore {
        flex: 0 0 auto;
        width: var(--aureo-minore);
        margin-left: 0;
    }
}

/* ---------- SIDEBAR / FILTRI / PANNELLI ---------- */
.sidebar_widgets,
.sidebar_seller_contact,
.sidebar_listing_list,
.opening_hour_widgets,
.form_grid,
.contact_icon_box,
.contact_form {
    border-radius: var(--raggio) !important;
    border-color: var(--bordi);
}

.sidebar_widgets {
    padding: var(--s1);
}

.sidebar_advanced_search_widget .title,
#dropdown-ricerca .form-group > label {
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* ---------- PAGINAZIONE ---------- */
.mbp_pagination ul.page_navigation li.active .page-link,
.page_navigation li.active .page-link,
.page-item.active .page-link {
    background-color: var(--oro) !important;
    border-color: var(--oro) !important;
    color: var(--colore-principale-testo) !important;
}

/* ---------- FOOTER ---------- */
.footer_one {
    background-color: var(--sfondo-footer);
    border-top: 1px solid var(--bordi);
}

    .footer_one .text-black,
    .footer_one p,
    .footer_one .footer_phone {
        color: var(--testo-tenue) !important;
    }

    .footer_one a:hover .footer_phone,
    .footer_one a.text-black:hover {
        color: var(--oro) !important;
    }

    .footer_one h5.title {
        color: var(--oro) !important;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: var(--tracking-payoff);
        text-transform: uppercase;
        margin-bottom: var(--s1);
        padding-bottom: var(--s-1);
        position: relative;
    }

        .footer_one h5.title::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 0;
            width: var(--s1);
            height: 1px;
            background: var(--oro);
        }

    .footer_one .footer_phone {
        line-height: 2;
        font-size: 14px;
    }

    .footer_one .contenitore-logo-footer {
        margin-top: var(--s1);
    }

        .footer_one .contenitore-logo-footer img {
            max-height: var(--s3);
            width: auto;
        }

    .footer_one .copyright-widget {
        border-top: 1px solid var(--bordi);
        padding-top: var(--s1);
    }

        .footer_one .copyright-widget p {
            font-size: var(--t-small);
            letter-spacing: .04em;
            margin-bottom: var(--s-2);
        }

    .footer_one .footer_social_widget {
        border-top: 1px solid var(--bordi);
        padding-top: var(--s1);
    }

        .footer_one .footer_social_widget ul li a {
            background-color: transparent;
            color: var(--testo-tenue);
            transition: all var(--transizione);
        }

            .footer_one .footer_social_widget ul li a:hover {
                border-color: var(--oro);
                color: var(--oro);
            }

/* ---------- CONTATTI RAPIDI LATERALI ---------- */
/* Caselle discrete: antracite traslucido, filetto sottile, icona tenue; al passaggio
   l'icona diventa oro e l'etichetta scorre fuori, senza riempimenti di colore.
   Casella 42px (s2), stacco 6px (s-2). */
.contenitore-appicciso li {
    background-color: rgba(34, 34, 38, .82);
    border: 1px solid rgba(255, 255, 255, .08);
    border-right: 0;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    transition: transform var(--transizione), background-color var(--transizione), border-color var(--transizione);
}

    .contenitore-appicciso li i > svg {
        fill: var(--testo-tenue);
        transition: fill var(--transizione);
    }

.testo-azione {
    color: var(--lettere);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .12em;
}

@media only screen and (min-width: 992px) {
    .contenitore-appicciso-totale {
        transform: translate3d(100%, 0, 0) translate3d(calc(var(--s2) * -1), 0, 0);
    }

    .contenitore-appicciso li {
        height: var(--s2);
        margin-bottom: var(--s-2);
        border-radius: var(--raggio) 0 0 var(--raggio);
    }

    .contenitore-icona {
        width: var(--s2);
        height: var(--s2);
        line-height: var(--s2);
    }

    .contenitore-appicciso li i {
        width: 14px;
        height: 14px;
    }

    .contenitore-appicciso li:hover {
        background-color: var(--superficie);
        border-color: var(--bordi);
        transform: translate3d(-100%, 0, 0) translate3d(var(--s2), 0, 0);
    }

        .contenitore-appicciso li:hover i > svg {
            fill: var(--oro);
        }

    .contenitore-appicciso li .testo-azione {
        padding-right: var(--s0);
    }
}

/* Pulsante WhatsApp flottante: stesso linguaggio delle caselle, icona nel verde del marchio */
.floating-wpp .floating-wpp-button {
    background-color: rgba(34, 34, 38, .82) !important;
    border: 1px solid rgba(255, 255, 255, .1);
    box-shadow: 0 var(--s-1) var(--s1) rgba(0, 0, 0, .35) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    transition: border-color var(--transizione);
}

    .floating-wpp .floating-wpp-button:hover {
        border-color: #25D366;
    }

    .floating-wpp .floating-wpp-button .wpp-icona {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #25D366;
        font-size: var(--t-2);
    }

.floating-wpp .floating-wpp-popup .floating-wpp-head {
    background-color: var(--superficie) !important;
    border-bottom: 1px solid var(--bordi);
    color: var(--lettere);
    letter-spacing: .04em;
}

/* ---------- MODALE ---------- */
.modal-content {
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-top: 2px solid var(--oro);
    border-radius: var(--raggio);
    color: var(--lettere);
}

.modal-header,
.modal-footer {
    border-color: var(--bordi);
}

.modal-title {
    font-weight: 400;
    letter-spacing: .06em;
}

.modal-content .btn-close {
    filter: invert(1);
}

/* ---------- MENU MOBILE ---------- */
.mobile-menu .header.stylehome1 {
    background-color: var(--sfondo-sito);
    border-bottom: 1px solid var(--bordi);
}

.mm-menu {
    --mm-color-background: var(--sfondo-footer);
    --mm-color-border: var(--bordi);
    --mm-color-text: var(--lettere);
}

    .mm-menu .mm-listitem a,
    .mm-menu .mm-listitem span.title {
        letter-spacing: .08em;
    }

/* Chi siamo: la colonna minore recupera come padding lo spazio dell'offset rimosso */
@media (min-width: 992px) {
    .about-section .col-aureo-minore {
        padding-left: var(--s2);
    }
}

/* ---------- RIFINITURE ---------- */
/* Pannello di ricerca: un solo livello di padding (26px) per tenere campi e pulsante sulla stessa riga */
.advance_search_panel .adss_bg_stylehome1 {
    padding: 0 !important;
}

.advance_search_panel .home1_advance_search_wrapper {
    padding: var(--s1) var(--s1) var(--s1);
}

.home1_advance_search_wrapper .select-boxes .title {
    padding-left: 2px;
}

/* Titoli card: la dimensione va forzata anche sul link interno */
.car-listing .details .title a {
    font-size: inherit;
    line-height: inherit;
}

.card-vetrina .car-listing .details .wrapper .title {
    font-size: var(--t-base);
    line-height: 1.4;
}

/* Griglia marchi: passo verticale 26px (s1) */
.category_item.home6_style {
    margin-bottom: var(--s1);
}

#ContainerMarche + section.car-category,
section.car-category + section.car-category {
    padding-top: var(--s3) !important;
}

.iconbox_home2.home6_style.style2 .details .title,
.iconbox_home2.home6_style .details .title {
    font-size: var(--t-1);
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    line-height: 1.272;
}

.sidebar_widgets .reset-filter {
    color: var(--oro) !important;
    font-size: var(--t-small);
    letter-spacing: .1em;
    text-transform: uppercase;
}

.footer_one .footer_social_widget ul li.list-inline-item a {
    background-color: transparent !important;
    color: var(--testo-tenue) !important;
}

    .footer_one .footer_social_widget ul li.list-inline-item a:hover {
        border-color: var(--oro);
        color: var(--oro) !important;
    }

/* Ultime sezioni delle pagine interne: respiro di 110px (s4) prima del footer */
.why-chose,
.our-service {
    padding-bottom: var(--s4) !important;
}

@media (max-width: 991px) {
    .why-chose,
    .our-service {
        padding-bottom: var(--s3) !important;
    }
}

/* =====================================================================
   CARICAMENTO STABILE ED ELEGANTE
   Principio: ogni componente mostra fin dal primo frame la stessa sagoma
   che avra' dopo l'avvio degli script, cosi' nulla si sposta (CLS ~ 0).
   La classe .js su <html> e' aggiunta da uno script inline nel <head>.
   ===================================================================== */

/* --- Font: fallback metrico per Inter, evita il "salto" del testo al cambio font --- */
@font-face {
    font-family: "Inter Fallback";
    src: local("Arial");
    ascent-override: 90.49%;
    descent-override: 22.56%;
    line-gap-override: 0%;
    size-adjust: 107.06%;
}

body {
    font-family: "Inter", "Inter Fallback", sans-serif;
}

/* --- Menu desktop: sottomenu chiusi prima dell'avvio di ace-responsive-menu
       (lo script li apre con uno stile inline, che prevale su questa regola) --- */
#respMenu li > ul {
    display: none;
}

/* --- Menu mobile: nascosto finche' mmenu non lo prende in carico --- */
#menu:not(.mm-menu) {
    display: none !important;
}

/* --- Hero: prima dell'avvio di Owl mostra la prima slide alla sua altezza finale --- */
.banner-style-one.owl-carousel:not(.owl-loaded) {
    display: block;
}

    .banner-style-one:not(.owl-loaded) > .slide:not(:first-child) {
        display: none;
    }

/* Cambio slide in dissolvenza incrociata al posto dello scivolamento verso il basso */
.banner-style-one .slideOutDown {
    animation-name: fadeOut !important;
}

.banner-style-one .animated {
    animation-duration: 1.2s;
}

/* --- Tendine: il <select> nativo occupa gia' lo spazio del controllo bootstrap-select (50px) --- */
.home1_advance_search_wrapper .select-boxes > select.selectpicker,
.sidebar_widgets :not(.bootstrap-select) > select.selectpicker {
    display: block !important;
    width: 100%;
    height: 50px;
    margin: 0;
    padding: 0 32px 0 12px;
    background: var(--sfondo-ddl) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0h8L4 5z' fill='%23A3A19C'/%3E%3C/svg%3E") no-repeat right 14px center;
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    color: var(--lettere);
    font-size: 13px;
    -webkit-appearance: none;
    appearance: none;
}

.home1_advance_search_wrapper .select-boxes > select.selectpicker {
    width: 160px;
    margin: 0 6px;
}

.sidebar_widgets :not(.bootstrap-select) > select.selectpicker {
    padding-left: 20px;
}

/* --- Vetrina: prima di Owl le card sono gia' disposte come nel carosello
       (stessi breakpoint, colonne e margine di 15px configurati in script.js) --- */
.listing_item_4grid_slider:not(.owl-loaded) {
    display: flex;
    gap: 15px;
    overflow: hidden;
}

    .listing_item_4grid_slider:not(.owl-loaded) > .item {
        flex: 0 0 100%;
        display: flex;
    }

@media (min-width: 768px) {
    .listing_item_4grid_slider:not(.owl-loaded) > .item {
        flex-basis: calc((100% - 15px) / 2);
    }
}

/* tra 768 e 991 Owl centra la prima card */
@media (min-width: 768px) and (max-width: 991px) {
    .listing_item_4grid_slider:not(.owl-loaded) {
        padding-left: calc((100% - 15px) / 4 + 7.5px);
    }
}

@media (min-width: 1024px) {
    .listing_item_4grid_slider:not(.owl-loaded) > .item {
        flex-basis: calc((100% - 30px) / 3);
    }
}

@media (min-width: 1200px) {
    .listing_item_4grid_slider:not(.owl-loaded) > .item {
        flex-basis: calc((100% - 45px) / 4);
    }
}

/* --- Recensioni: stessa disposizione del carosello (1 colonna, 2 da 768px) --- */
.testimonial_slider_home1:not(.owl-loaded) {
    display: flex;
    overflow: hidden;
}

    .testimonial_slider_home1:not(.owl-loaded) > .item {
        flex: 0 0 100%;
    }

@media (min-width: 768px) {
    .testimonial_slider_home1:not(.owl-loaded) > .item {
        flex-basis: 50%;
    }
}

/* --- Immagini: fondo neutro mentre caricano, poi comparsa in dissolvenza --- */
.car-listing .thumb,
.for_blog .thumb {
    background-color: var(--superficie);
}

.js .car-listing .thumb img,
.js .for_blog .thumb img {
    opacity: 0;
    transition: opacity .618s ease, transform .6s ease;
}

    .js .car-listing .thumb img.img-pronta,
    .js .for_blog .thumb img.img-pronta {
        opacity: 1;
    }

/* --- Animazioni WOW: nessun lampeggio iniziale e movimento contenuto ---
   Gli elementi restano nascosti fino a quando WOW li rivela; se WOW non
   partisse, l'animazione di sicurezza li rende visibili dopo 3 secondi. */
.js .wow {
    visibility: hidden;
    animation: wow-sicurezza 0s 3s forwards;
}

@keyframes wow-sicurezza {
    to {
        visibility: visible;
    }
}

/* Spostamenti ridotti a 26px (s1) al posto del 100% di animate.css */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 26px, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-26px, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(26px, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.wow.animated {
    animation-timing-function: cubic-bezier(.22, .61, .36, 1);
}

/* --- Ingresso pagina: breve dissolvenza; tra una pagina e l'altra
       transizione nativa del browser (Chrome, Edge, Safari 18.2+) --- */
@keyframes entrata-pagina {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

body {
    animation: entrata-pagina .45s ease-out both;
}

html:active-view-transition body {
    animation: none;
}

@view-transition {
    navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
    animation-duration: .35s;
}

/* --- Accessibilita': chi riduce le animazioni vede subito tutto, senza movimenti --- */
@media (prefers-reduced-motion: reduce) {
    body,
    .wow,
    .banner-style-one .animated {
        animation: none !important;
    }

    .js .wow {
        visibility: visible !important;
    }

    .js .car-listing .thumb img,
    .js .for_blog .thumb img {
        opacity: 1;
        transition: none;
    }

    @view-transition {
        navigation: none;
    }
}

/* Tab Auto / Veicoli commerciali: lo stato attivo segue il radio selezionato,
   cosi' e' corretto gia' prima che initdropdown() sistemi le classi */
.radioButtonHome input:not(:checked) + label > span.nav-link.active {
    background-color: var(--superficie) !important;
    border-color: var(--bordi);
    border-top: 1px solid var(--bordi);
    color: var(--testo-tenue) !important;
}

/* =====================================================================
   CHI SIAMO
   La scala 6 / 10 / 16 / 26 / 42 / 68 / 110 e' una serie di Fibonacci
   (ogni passo e' la somma dei due precedenti) con rapporto phi tra passi.
   Cinque sezioni, tappe in coppia, valori e passi in terne.
   ===================================================================== */
.cs-sezione {
    padding-top: var(--s4);
}

.cs-intro .cs-immagine {
    aspect-ratio: 1.618 / 1;
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    overflow: hidden;
    background-color: var(--superficie);
}

    .cs-intro .cs-immagine img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 61.8% center;
    }

.cs-testo p,
.cs-vetture p,
.cs-dove p {
    color: var(--testo-tenue);
    font-size: var(--t-base);
    line-height: var(--phi);
    margin-bottom: var(--s0);
}

    .cs-testo p b,
    .cs-vetture p b {
        color: var(--lettere);
        font-weight: 500;
    }

.cs-testo .about-btn {
    margin-top: var(--s-1);
}

.cs-occhiello {
    display: block;
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 500;
    letter-spacing: var(--tracking-payoff);
    text-transform: uppercase;
    margin-bottom: var(--s-1);
}

.cs-titolo {
    font-size: var(--t-3);
    font-weight: 300;
    line-height: 1.272;
    letter-spacing: .02em;
    margin-bottom: var(--s1);
}

/* Tappe: anno 41.9px, titolo 20.4px, testo 16px (scala phi^(n/2)) */
.cs-tappe {
    margin-top: var(--s3);
}

.cs-tappa {
    border-top: 1px solid var(--bordi);
    padding-top: var(--s1);
    margin-bottom: var(--s1);
    position: relative;
}

    .cs-tappa::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        width: var(--s2);
        height: 1px;
        background: var(--oro);
    }

.cs-anno {
    display: block;
    color: var(--oro);
    font-size: var(--t-4);
    font-weight: 300;
    line-height: 1;
    letter-spacing: .02em;
    margin-bottom: var(--s-1);
}

.cs-tappa-titolo,
.cs-valore h3,
.cs-passo h3 {
    font-size: var(--t-1);
    font-weight: 500;
    line-height: 1.272;
    letter-spacing: .02em;
    margin-bottom: var(--s-1);
}

.cs-tappa p,
.cs-passo p {
    color: var(--testo-tenue);
    font-size: 14px;
    line-height: var(--phi);
    margin-bottom: 0;
}

.cs-nota {
    max-width: 61.8%;
    color: var(--testo-tenue);
    font-size: var(--t-base);
    font-style: italic;
    line-height: var(--phi);
    margin: var(--s1) 0 0;
}

/* Filosofia */
.cs-citazione {
    color: var(--lettere);
    font-size: var(--t-2);
    font-weight: 300;
    font-style: italic;
    line-height: 1.272;
    text-align: center;
    margin: 0 0 var(--s1);
}

.cs-paragrafo-centrato {
    color: var(--testo-tenue);
    font-size: var(--t-base);
    line-height: var(--phi);
    text-align: center;
    margin-bottom: 0;
}

.cs-valori,
.cs-passi {
    margin-top: var(--s2);
}

.cs-valore,
.cs-passo {
    height: 100%;
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    padding: var(--s2) var(--s1);
    transition: border-color var(--transizione);
}

    .cs-valore:hover,
    .cs-passo:hover {
        border-color: rgba(243, 156, 18, .55);
    }

.cs-valore {
    text-align: center;
    padding: var(--s1);
}

    .cs-valore h3 {
        margin-bottom: 0;
    }

.cs-numero {
    display: block;
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 500;
    letter-spacing: var(--tracking-payoff);
    margin-bottom: var(--s-1);
}

.cs-valori > [class*="col-"],
.cs-passi > [class*="col-"] {
    margin-bottom: var(--s1);
}

/* Vetture: colonna minore col titolo, maggiore col testo */
.cs-vetture .main-title {
    margin-bottom: var(--s0);
}

.cs-lead {
    color: var(--oro) !important;
    font-size: var(--t-1) !important;
    font-weight: 300;
    line-height: 1.272 !important;
}

.cs-elenchi {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s1);
    margin: var(--s1) 0;
}

.cs-elenco h4,
.cs-info dt {
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 500;
    letter-spacing: var(--tracking-payoff);
    text-transform: uppercase;
    margin-bottom: var(--s-1);
}

.cs-elenco ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .cs-elenco ul li {
        color: var(--lettere);
        font-size: var(--t-base);
        line-height: var(--phi);
        padding: var(--s-2) 0;
        border-bottom: 1px solid var(--bordi);
    }

.cs-vetture .cs-nota-piccola {
    font-size: 14px;
    margin-bottom: 0;
}

/* Dove siamo: riquadro 61.8 / 38.2 */
.cs-riquadro {
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-top: 1px solid var(--oro);
    border-radius: var(--raggio);
    padding: var(--s2);
}

.cs-azioni {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-1);
    margin-top: var(--s1);
}

.cs-info {
    margin: 0;
}

    .cs-info dd {
        color: var(--lettere);
        font-size: var(--t-base);
        line-height: var(--phi);
        margin: 0 0 var(--s0);
    }

        .cs-info dd:last-child {
            margin-bottom: 0;
        }

        .cs-info dd a {
            color: var(--lettere);
        }

            .cs-info dd a:hover {
                color: var(--oro);
            }

@media (min-width: 992px) {
    .cs-intro .cs-testo {
        padding-left: 0;
    }

    .cs-vetture .col-aureo-maggiore,
    .cs-dove .col-aureo-minore {
        padding-left: var(--s2);
    }

    .cs-dove .col-aureo-minore {
        border-left: 1px solid var(--bordi);
    }
}

@media (max-width: 991px) {
    .cs-sezione {
        padding-top: var(--s3);
    }

    .cs-intro .cs-immagine {
        margin-bottom: var(--s1);
    }

    .cs-nota {
        max-width: none;
    }

    .cs-dove .col-aureo-minore {
        border-top: 1px solid var(--bordi);
        padding-top: var(--s1);
        margin-top: var(--s1);
    }
}

@media (max-width: 575px) {
    .cs-sezione {
        padding-top: var(--s2);
    }

    .cs-titolo {
        font-size: var(--t-2);
    }

    .cs-anno {
        font-size: var(--t-3);
    }

    .cs-citazione {
        font-size: var(--t-1);
    }

    .cs-riquadro {
        padding: var(--s1) var(--s0);
    }

    .cs-elenchi {
        grid-template-columns: 1fr;
    }
}

/* =====================================================================
   SERVIZI
   Tre servizi principali in righe 61.8 / 38.2 a lati alternati,
   due complementari affiancati, un invito finale: 3 + 2 + 1 (Fibonacci).
   Ritmo verticale: 110 tra i blocchi, 68 tra le righe, 26 dentro il testo.
   ===================================================================== */
.sv-intro {
    color: var(--testo-tenue);
    font-size: var(--t-base);
    line-height: var(--phi);
    text-align: center;
    margin: 0;
}

.sv-righe {
    margin-top: var(--s3);
}

.sv-riga + .sv-riga {
    margin-top: var(--s3);
}

.sv-immagine {
    aspect-ratio: 1.618 / 1;
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    overflow: hidden;
    background-color: var(--superficie);
}

    .sv-immagine img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .6s ease;
    }

.sv-riga:hover .sv-immagine img {
    transform: scale(1.03);
}

.sv-numero {
    display: block;
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 500;
    letter-spacing: var(--tracking-payoff);
    margin-bottom: var(--s-1);
}

.sv-titolo {
    font-size: var(--t-2);
    font-weight: 300;
    line-height: 1.272;
    letter-spacing: .02em;
    margin-bottom: var(--s0);
}

.sv-testo p,
.sv-riquadro p,
.sv-invito p {
    color: var(--testo-tenue);
    font-size: var(--t-base);
    line-height: var(--phi);
    margin-bottom: 0;
}

/* Elenco breve: parole separate da un filetto oro di 10px (s-1) */
.sv-punti {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2) var(--s0);
    list-style: none;
    margin: var(--s1) 0 0;
    padding: var(--s0) 0 0;
    border-top: 1px solid var(--bordi);
}

    .sv-punti li {
        display: flex;
        align-items: center;
        gap: var(--s-1);
        color: var(--lettere);
        font-size: var(--t-small);
        font-weight: 500;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

        .sv-punti li + li::before {
            content: "";
            width: var(--s-1);
            height: 1px;
            background: var(--oro);
        }

.sv-link {
    display: inline-block;
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 500;
    letter-spacing: var(--tracking-payoff);
    text-transform: uppercase;
    margin-top: var(--s1);
    padding-bottom: var(--s-2);
    border-bottom: 1px solid var(--oro);
}

    .sv-link:hover {
        color: var(--lettere);
        border-color: var(--lettere);
    }

/* Complementari */
.sv-complementari {
    margin-top: var(--s4);
}

    .sv-complementari > [class*="col-"] {
        margin-bottom: var(--s1);
    }

.sv-riquadro {
    height: 100%;
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    padding: var(--s2);
    position: relative;
    transition: border-color var(--transizione);
}

    .sv-riquadro::before {
        content: "";
        position: absolute;
        top: -1px;
        left: var(--s2);
        width: var(--s2);
        height: 1px;
        background: var(--oro);
    }

    .sv-riquadro:hover {
        border-color: rgba(243, 156, 18, .55);
    }

    .sv-riquadro .sv-titolo {
        font-size: var(--t-1);
        font-weight: 500;
        margin-bottom: var(--s-1);
    }

/* Invito finale */
.sv-invito {
    margin-top: var(--s3);
    padding: var(--s2) 0 0;
    border-top: 1px solid var(--bordi);
}

.sv-invito-titolo {
    font-size: var(--t-3);
    font-weight: 300;
    line-height: 1.272;
    letter-spacing: .02em;
    margin-bottom: var(--s-1);
}

.sv-azioni {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-1);
}

@media (min-width: 992px) {
    .sv-riga .sv-testo {
        padding-left: var(--s2);
    }

    .sv-riga-inversa {
        flex-direction: row-reverse;
    }

        .sv-riga-inversa .sv-testo {
            padding-left: 0;
            padding-right: var(--s2);
        }

    .sv-azioni {
        justify-content: flex-end;
    }
}

@media (max-width: 991px) {
    .sv-immagine {
        margin-bottom: var(--s1);
    }

    .sv-complementari {
        margin-top: var(--s3);
    }

    .sv-azioni {
        margin-top: var(--s1);
    }
}

@media (max-width: 575px) {
    .sv-titolo {
        font-size: var(--t-1);
    }

    .sv-invito-titolo {
        font-size: var(--t-2);
    }

    .sv-riquadro {
        padding: var(--s1);
    }

        .sv-riquadro::before {
            left: var(--s1);
        }

    .sv-riga + .sv-riga {
        margin-top: var(--s2);
    }
}

/* =====================================================================
   CONTATTI
   Informazioni 38.2% / modulo 61.8%; mappa sotto in rettangolo phi^2 (2.618 : 1).
   Stessa scala di Fibonacci: 110 di respiro, 42 di padding pannelli, 26 tra i gruppi.
   ===================================================================== */
.ct-pagina {
    padding: var(--s4) 0;
}

.ct-info,
.ct-modulo {
    height: 100%;
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    padding: var(--s2);
    position: relative;
}

    .ct-info::before,
    .ct-modulo::before {
        content: "";
        position: absolute;
        top: -1px;
        left: var(--s2);
        width: var(--s2);
        height: 1px;
        background: var(--oro);
    }

.ct-titolo {
    font-size: var(--t-2);
    font-weight: 300;
    line-height: 1.272;
    letter-spacing: .02em;
    margin-bottom: var(--s1);
}

.ct-etichetta,
.ct-recapiti dt,
.ct-modulo .form-label {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 500;
    letter-spacing: var(--tracking-payoff);
    text-transform: uppercase;
    margin-bottom: var(--s-2);
}

/* Recapiti */
.ct-recapiti {
    margin: 0;
}

    .ct-recapiti dt span {
        font-size: var(--t-base);
        line-height: 1;
    }

    .ct-recapiti dd {
        font-size: var(--t-base);
        line-height: var(--phi);
        margin: 0 0 var(--s0);
        padding-bottom: var(--s0);
        border-bottom: 1px solid var(--bordi);
    }

        .ct-recapiti dd a {
            color: var(--lettere);
        }

            .ct-recapiti dd a:hover {
                color: var(--oro);
            }

/* Orari: il pannello del tema diventa una semplice tabella a filetti */
.opening_hour_widgets.ct-orari {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin-top: var(--s1);
}

.ct-giorni {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .ct-giorni li {
        display: flex;
        justify-content: space-between;
        gap: var(--s0);
        padding: var(--s-2) 0;
        border-bottom: 1px solid var(--bordi);
        font-size: 14px;
        line-height: var(--phi);
    }

        .ct-giorni li:last-child {
            border-bottom: 0;
        }

    .ct-giorni .day {
        color: var(--lettere);
        font-weight: 500;
    }

    .ct-giorni .schedule {
        color: var(--testo-tenue);
        font-variant-numeric: tabular-nums;
        text-align: right;
    }

    .ct-giorni .ct-chiuso .schedule {
        color: var(--oro);
    }

/* Social: sei cerchi da 42px (s2), stacco 10px (s-1) */
.ct-social {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-1);
    list-style: none;
    margin: var(--s1) 0 0;
    padding: var(--s1) 0 0;
    border-top: 1px solid var(--bordi);
}

    .ct-social a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: var(--s2);
        height: var(--s2);
        border: 1px solid var(--bordi);
        border-radius: 50%;
        color: var(--testo-tenue);
        font-size: 14px;
        transition: all var(--transizione);
    }

        .ct-social a:hover {
            border-color: var(--oro);
            color: var(--oro);
        }

/* Modulo */
.ct-modulo .form-group {
    margin-bottom: var(--s1);
}

.ct-modulo .form-control {
    background-color: var(--sfondo-sito);
    border: 1px solid var(--bordi);
    color: var(--lettere);
    font-size: 14px;
    height: 50px;
    padding: 0 var(--s0);
    margin: 0;
}

.ct-modulo textarea.form-control {
    height: auto;
    min-height: 162px;
    padding: var(--s0);
    resize: vertical;
}

.ct-modulo .form-control::placeholder {
    color: var(--testo-tenue);
    opacity: .618;
}

.ct-modulo .ui_kit_message_box .alert {
    border-radius: var(--raggio);
    margin-bottom: var(--s1);
}

.ct-modulo .form-label-error {
    width: 100%;
    font-size: var(--t-small);
    margin-bottom: var(--s-2);
}

/* Privacy e invio sulla stessa riga: consenso a sinistra, pulsante a destra */
.ct-invio {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--s0) var(--s1);
}

.ct-modulo .ct-privacy {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-1);
    flex: 1 1 260px;
    margin: 0;
}

    .ct-privacy .form-check-input {
        margin: 0;
        flex: 0 0 auto;
    }

    .ct-privacy label:not(.form-label-error) {
        flex: 1 1 0;
        color: var(--testo-tenue);
        font-size: 14px;
        line-height: 1.4;
        margin: 0;
        cursor: pointer;
    }

.ct-modulo .bottone-contatta {
    width: auto;
    min-width: 162px;
    height: 50px;
    padding: 0 var(--s2);
    margin: 0;
    color: var(--colore-principale-testo);
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* Mappa */
.ct-mappa {
    aspect-ratio: 2.618 / 1;
    margin-top: var(--s3);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    overflow: hidden;
    background-color: var(--superficie);
}

    .ct-mappa iframe {
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
    }

@media (max-width: 991px) {
    .ct-pagina {
        padding: var(--s3) 0;
    }

    .ct-info {
        height: auto;
        margin-bottom: var(--s1);
    }

    .ct-mappa {
        aspect-ratio: 1.618 / 1;
        margin-top: var(--s2);
    }
}

@media (max-width: 575px) {
    .ct-pagina {
        padding: var(--s2) 0;
    }

    .ct-info,
    .ct-modulo {
        padding: var(--s1) var(--s0);
    }

        .ct-info::before,
        .ct-modulo::before {
            left: var(--s0);
        }

    .ct-modulo .bottone-contatta {
        width: 100%;
    }

    .ct-mappa {
        aspect-ratio: 1 / 1;
    }
}

/* Il bordo d'errore deve prevalere sul bordo neutro forzato di .form-control */
.form-control.form-control-error {
    border-color: #d50000 !important;
}

/* =====================================================================
   HOME (sotto la vetrina)
   La parte alta e' fatta di immagini; la parte bassa e' tipografica per contrasto.
   Chi siamo 38.2 / 61.8, tre moduli uguali, citazione al 61.8% della larghezza,
   inviti 61.8 / 38.2. Ritmo 110 / 68 / 42 / 26 (Fibonacci).
   ===================================================================== */
.hm-occhiello {
    display: block;
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 500;
    letter-spacing: var(--tracking-payoff);
    text-transform: uppercase;
    margin-bottom: var(--s-1);
}

.hm-titolo {
    font-size: var(--t-4);
    font-weight: 300;
    line-height: 1.272;
    letter-spacing: .02em;
    margin-bottom: var(--s1);
}

.hm-lead {
    color: var(--testo-tenue);
    font-size: var(--t-1);
    font-weight: 300;
    line-height: var(--phi);
    margin-bottom: 0;
}

/* Cifre: numero 41.9px, didascalia 12.6px; tre colonne a filetti */
.hm-cifre {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: var(--s2) 0 0;
    padding: var(--s1) 0 0;
    border-top: 1px solid var(--bordi);
}

    .hm-cifre li {
        padding: 0 var(--s1);
    }

        .hm-cifre li:first-child {
            padding-left: 0;
        }

        .hm-cifre li + li {
            border-left: 1px solid var(--bordi);
        }

.hm-cifra {
    display: block;
    color: var(--oro);
    font-size: var(--t-4);
    font-weight: 300;
    line-height: 1;
    margin-bottom: var(--s-1);
}

.hm-didascalia {
    display: block;
    color: var(--testo-tenue);
    font-size: var(--t-small);
    letter-spacing: .06em;
    line-height: 1.4;
    text-transform: uppercase;
}

.hm-link {
    display: inline-block;
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 500;
    letter-spacing: var(--tracking-payoff);
    text-transform: uppercase;
    margin-top: var(--s2);
    padding-bottom: var(--s-2);
    border-bottom: 1px solid var(--oro);
}

    .hm-link:hover {
        color: var(--lettere);
        border-color: var(--lettere);
    }

/* Servizi */
.hm-servizi {
    padding-bottom: var(--s4) !important;
}

.hm-moduli > [class*="col-"] {
    margin-bottom: var(--s1);
}

.hm-modulo {
    height: 100%;
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    padding: var(--s2) var(--s1);
    position: relative;
    transition: border-color var(--transizione);
}

    .hm-modulo::before {
        content: "";
        position: absolute;
        top: -1px;
        left: var(--s1);
        width: var(--s2);
        height: 1px;
        background: var(--oro);
    }

    .hm-modulo:hover {
        border-color: rgba(243, 156, 18, .55);
    }

.hm-numero {
    display: block;
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 500;
    letter-spacing: var(--tracking-payoff);
    margin-bottom: var(--s-1);
}

.hm-modulo h3 {
    font-size: var(--t-1);
    font-weight: 500;
    line-height: 1.272;
    letter-spacing: .02em;
    margin-bottom: var(--s-1);
}

.hm-modulo p {
    color: var(--testo-tenue);
    font-size: 14px;
    line-height: var(--phi);
    margin-bottom: 0;
}

.hm-servizi .hm-link {
    margin-top: var(--s1);
}

/* Filosofia */
.hm-citazione {
    max-width: 61.8%;
    margin: 0 auto;
    text-align: center;
}

    .hm-citazione > .fa {
        display: block;
        color: var(--oro);
        font-size: var(--t-2);
        opacity: .618;
        margin-bottom: var(--s1);
    }

    .hm-citazione blockquote {
        color: var(--lettere);
        font-size: var(--t-3);
        font-weight: 300;
        font-style: italic;
        line-height: 1.272;
        margin: 0;
    }

    .hm-citazione figcaption {
        color: var(--oro);
        font-size: var(--t-small);
        font-weight: 500;
        letter-spacing: var(--tracking-payoff);
        text-transform: uppercase;
        margin-top: var(--s1);
    }

        .hm-citazione figcaption::before {
            content: "";
            display: block;
            width: var(--s2);
            height: 1px;
            margin: 0 auto var(--s1);
            background: var(--oro);
        }

/* Inviti finali */
section.hm-inviti {
    padding-top: var(--s4);
}

.hm-invito {
    display: flex;
    align-items: center;
    gap: var(--s1);
    height: 100%;
    transition: transform var(--transizione);
}

    .hm-invito:hover {
        transform: translateY(-2px);
    }

    .hm-invito .icon {
        flex: 0 0 auto;
        margin: 0;
        font-size: var(--t-4);
        line-height: 1;
    }

    .hm-invito .details {
        margin: 0;
    }

    .hm-invito .details p {
        margin-bottom: 0;
    }

@media (max-width: 991px) {
    .hm-titolo {
        font-size: var(--t-3);
    }

    .hm-citazione {
        max-width: none;
    }

        .hm-citazione blockquote {
            font-size: var(--t-2);
        }

    .col-aureo-maggiore > .hm-invito {
        margin-bottom: var(--s1);
    }

    section.hm-inviti {
        padding-top: var(--s3);
    }

    .hm-servizi {
        padding-bottom: var(--s3) !important;
    }
}

@media (max-width: 575px) {
    .hm-titolo {
        font-size: var(--t-2);
    }

    .hm-lead {
        font-size: var(--t-base);
    }

    .hm-cifre li {
        padding: 0 var(--s-1);
    }

    .hm-cifra {
        font-size: var(--t-3);
    }

    .hm-didascalia {
        font-size: 11px;
        letter-spacing: .02em;
    }

    .hm-citazione blockquote {
        font-size: var(--t-1);
    }

    .hm-invito {
        flex-direction: column;
        text-align: center;
        padding: var(--s1) !important;
    }
}

/* =====================================================================
   PARCO AUTO
   Filtri / risultati in rapporto 1 : phi^2 (27.6% / 72.4%) sopra i 1200px.
   Card: foto 38.2% / contenuti 61.8% da 576px in su; dentro i contenuti
   prezzo 61.8% / pulsanti 38.2%. Footer a 4 moduli uguali con filetti.
   ===================================================================== */
@media (min-width: 1200px) {
    .pa-pagina .pa-col-filtri {
        width: 27.6%;
    }

    .pa-pagina .pa-col-risultati {
        width: 72.4%;
    }
}

/* --- Testata --- */
.pa-testata .breadcrumb_content .breadcrumb {
    margin: var(--s-1) 0 0;
    padding: 0;
}

/* --- Filtri --- */
.pa-pagina .sidebar_widgets {
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    padding: var(--s1);
}

.pa-pagina .container-filtri {
    align-items: baseline;
    padding-bottom: var(--s0);
    margin-bottom: var(--s1);
    border-bottom: 1px solid var(--bordi);
}

    .pa-pagina .container-filtri .title {
        color: var(--lettere);
        font-size: var(--t-base);
        letter-spacing: var(--tracking-payoff);
        margin: 0;
    }

.pa-pagina .sasw_list > li {
    margin-bottom: var(--s1);
}

    .pa-pagina .sasw_list > li:last-child {
        margin-bottom: 0;
    }

.pa-pagina .sidebar_advanced_search_widget .subtitle {
    color: var(--testo-tenue);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    line-height: 1.4;
    text-transform: uppercase;
    margin-bottom: var(--s-1);
}

.pa-pagina .ui_kit_checkbox table td {
    padding: 3px 0;
}

.pa-pagina .ui_kit_checkbox label {
    color: var(--lettere);
    font-size: 14px;
    line-height: var(--phi);
    margin: 0 0 0 var(--s-2);
    cursor: pointer;
}

/* --- Barra sopra i risultati: conteggio a sinistra, comandi a destra --- */
.pa-barra {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--s0);
    padding-bottom: var(--s0);
    margin-bottom: var(--s1);
    border-bottom: 1px solid var(--bordi);
}

.pa-conteggio {
    color: var(--testo-tenue);
    font-size: var(--t-base);
    letter-spacing: .02em;
}

    .pa-conteggio b {
        color: var(--oro);
        font-size: var(--t-1);
        font-weight: 500;
        margin-right: 2px;
    }

.pa-comandi {
    display: flex;
    align-items: center;
    gap: var(--s-1);
}

.pa-ordina .bootstrap-select > .dropdown-toggle {
    height: var(--s2) !important;
    line-height: 1.4 !important;
    background-color: var(--superficie) !important;
}

.pa-pagina #bottone-filtri {
    height: var(--s2);
    padding: 0 var(--s0);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    font-size: var(--t-small);
    letter-spacing: .1em;
    box-shadow: none;
}

/* --- Card orizzontale --- */
.pa-pagina .car-listing {
    margin-bottom: var(--s1);
}

@media (min-width: 576px) {
    .our-listing.pa-pagina .car-listing > .row > [class*="col-"]:first-child {
        flex: 0 0 auto;
        width: var(--aureo-minore);
    }

    .our-listing.pa-pagina .car-listing > .row > [class*="col-"]:last-child {
        flex: 0 0 auto;
        width: var(--aureo-maggiore);
    }

    /* La foto occupa tutta l'altezza della card, cosi' resta allineata al contenuto */
    .our-listing.pa-pagina .car-listing .thumb {
        aspect-ratio: auto;
        height: 100%;
        min-height: 220px;
    }
}

.pa-pagina .car-listing .thumb .tag {
    top: var(--s0);
    left: var(--s0);
    background-color: rgba(27, 27, 30, .72);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--raggio);
    color: var(--lettere);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 3px var(--s-1);
    line-height: 1.4;
    backdrop-filter: blur(4px);
}

.our-listing.pa-pagina .car-listing .details {
    display: flex;
    flex-direction: column;
    padding: var(--s1);
}

    .our-listing.pa-pagina .car-listing .details .wrapper {
        flex: 1 1 auto;
        padding: 0;
    }

/* Riga 1: titolo e versione / stato */
.pa-pagina .riga-veicolo-parco {
    gap: var(--s0);
    align-items: flex-start;
}

    .pa-pagina .riga-veicolo-parco + .riga-veicolo-parco {
        margin-top: var(--s1);
        align-items: flex-end;
    }

.our-listing.pa-pagina .car-listing .details .title {
    font-size: var(--t-1);
    line-height: 1.272;
    margin-bottom: var(--s-2);
}

.our-listing.pa-pagina .car-listing .details .para {
    color: var(--testo-tenue);
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Stato: filetto e punto del colore dello stato, toni smorzati sul fondo antracite */
:is(.pa-pagina, .vc-pagina) .container-situazione-parco {
    flex: 0 0 auto;
}

:is(.pa-pagina, .vc-pagina) .situazione-parco {
    --stato: var(--testo-tenue);
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    background: transparent !important;
    border: 1px solid var(--stato);
    color: var(--stato);
    box-shadow: none;
    padding: 3px var(--s-1);
}

    :is(.pa-pagina, .vc-pagina) .situazione-parco::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--stato);
    }

    :is(.pa-pagina, .vc-pagina) .situazione-parco.stato-disponibile {
        --stato: #7DBE8A;
    }

    :is(.pa-pagina, .vc-pagina) .situazione-parco.stato-in-arrivo {
        --stato: var(--oro);
    }

    :is(.pa-pagina, .vc-pagina) .situazione-parco.stato-venduto {
        --stato: #D2756E;
    }

    :is(.pa-pagina, .vc-pagina) .situazione-parco.stato-nuovo-arrivo {
        --stato: #8FB3E0;
    }

/* Riga 2: prezzo (accento principale) / pulsanti */
.pa-pagina .riga-veicolo-parco .prezzo-normale,
.pa-pagina .riga-veicolo-parco .prezzo-offerta {
    display: inline-block;
    font-size: var(--t-2) !important;
    font-weight: 400;
    line-height: 1.272;
    margin: 0;
}

.pa-pagina .riga-veicolo-parco .prezzo-normale-con-offerta {
    display: inline-block;
    font-size: var(--t-base) !important;
    line-height: 1.272;
    margin: 0 var(--s-2) 0 0;
}

.pa-pagina .riga-veicolo-parco label {
    display: block;
    color: var(--testo-tenue);
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: var(--s-2) 0 0;
}

.pa-pagina .prezzo-commerciante {
    display: inline-block;
    color: var(--lettere);
    font-size: var(--t-small);
    font-weight: 500;
    margin-top: var(--s-2);
}

.pa-pagina .riga-veicolo-parco .ui_kit_button {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

    .pa-pagina .riga-veicolo-parco .ui_kit_button .btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--s-2);
        height: var(--s2);
        line-height: 1;
        margin: 0 !important;
        font-size: var(--t-small);
        font-weight: 600;
        letter-spacing: .08em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    /* WhatsApp: niente verde pieno, solo l'icona nel colore del marchio */
    .pa-pagina .riga-veicolo-parco .btn-green {
        background-color: transparent;
        border: 1px solid var(--bordi);
        border-radius: var(--raggio);
        color: var(--lettere);
    }

        .pa-pagina .riga-veicolo-parco .btn-green span {
            color: #25D366;
            font-size: var(--t-base);
        }

        .pa-pagina .riga-veicolo-parco .btn-green:hover {
            background-color: transparent;
            border-color: #25D366;
            color: var(--lettere);
        }

@media (min-width: 1200px) {
    .pa-pagina .riga-veicolo-parco + .riga-veicolo-parco > div:first-child {
        flex: 1 1 var(--aureo-maggiore);
    }

    .pa-pagina .riga-veicolo-parco .ui_kit_button {
        flex: 0 0 var(--aureo-minore);
        width: var(--aureo-minore);
    }
}

@media (max-width: 1199px) {
    .pa-pagina .riga-veicolo-parco + .riga-veicolo-parco {
        flex-direction: column;
        align-items: stretch;
    }

    .pa-pagina .riga-veicolo-parco .ui_kit_button {
        width: 100%;
        flex-direction: row;
    }

        .pa-pagina .riga-veicolo-parco .ui_kit_button .btn {
            flex: 1 1 0;
        }
}

/* Footer della card: 4 moduli uguali, icona sopra e valore sotto */
.our-listing.pa-pagina .car-listing .listing_footer {
    border-top: 1px solid var(--bordi);
    padding-top: var(--s0);
    margin-top: var(--s1);
}

.pa-pagina .contenitore-elementi-parco,
#DivVeicoloScelto .contenitore-elementi-parco {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pa-pagina .list-parco-auto,
#DivVeicoloScelto .list-parco-auto {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-2);
    width: auto !important;
    min-width: 0;
    padding: 0 var(--s-2);
    font-size: var(--t-small) !important;
    text-align: center;
}

    .pa-pagina .list-parco-auto + .list-parco-auto,
    #DivVeicoloScelto .list-parco-auto + .list-parco-auto {
        border-left: 1px solid var(--bordi);
    }

    .pa-pagina .list-parco-auto span[class^="flaticon"],
    #DivVeicoloScelto .list-parco-auto span[class^="flaticon"] {
        color: var(--oro);
        font-size: var(--t-base);
        line-height: 1;
        margin: 0;
    }

    .pa-pagina .list-parco-auto .valore,
    #DivVeicoloScelto .list-parco-auto .valore {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: var(--testo-tenue);
        line-height: 1.272;
        letter-spacing: .02em;
    }

#DivVeicoloScelto .listing_footer {
    border-top: 1px solid var(--bordi);
    padding-top: var(--s0);
    margin-top: var(--s1);
}

/* --- Paginazione: cerchi da 42px (s2), stacco 6px (s-2) --- */
.pa-pagina .mbp_pagination {
    margin-top: var(--s2) !important;
    padding-top: var(--s1);
    border-top: 1px solid var(--bordi);
}

.pa-pagina .pagina {
    width: var(--s2);
    height: var(--s2);
    line-height: var(--s2);
    margin: 0 3px;
    border-color: var(--bordi);
    transition: border-color var(--transizione), color var(--transizione);
}

    .pa-pagina .pagina:hover {
        border-color: var(--oro);
        color: var(--oro);
    }

.pa-pagina .pagina-attiva,
.pa-pagina .pagina-attiva:hover {
    margin: 0 3px;
    background-color: var(--oro);
    border-color: var(--oro);
    color: var(--colore-principale-testo);
}

.pa-pagina .paginator-pagina {
    color: var(--lettere);
    font-size: var(--t-small);
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: 0 var(--s0);
}

    .pa-pagina .paginator-pagina:hover {
        color: var(--oro);
    }

@media (max-width: 575px) {
    .our-listing.pa-pagina .car-listing .details {
        padding: var(--s0);
    }

    .pa-pagina .list-parco-auto {
        padding: 0 3px;
    }

    .pa-pagina .riga-veicolo-parco .ui_kit_button {
        flex-direction: column;
    }

    .pa-pagina .paginator-pagina b {
        display: none;
    }
}

/* =====================================================================
   PAGINA VEICOLO
   Contenuti 61.8% / modulo contatti 38.2% (col-aureo gia' presenti nel markup).
   Ogni blocco e' un pannello antracite con filetto oro di 42px sul bordo alto;
   le tabelle dati sono righe a filetti come gli orari dei Contatti.
   Ritmo: 42 padding pannelli, 26 tra i pannelli, 6 / 10 / 16 dentro le righe.
   ===================================================================== */
.vc-pagina {
    padding-top: var(--s2) !important;
    padding-bottom: var(--s3) !important;
}

.vc-pagina .breadcrumb_content .breadcrumb {
    margin: 0 0 var(--s1);
    padding: 0;
}

.vc-pagina > .container-xl > .row.mb30 {
    margin-bottom: var(--s1) !important;
}

/* --- Intestazione: titolo / prezzo --- */
.vc-pagina .car_single_content_wrapper .title {
    font-size: var(--t-3);
    font-weight: 300;
    line-height: 1.272;
    letter-spacing: .02em;
    margin-bottom: var(--s-2);
}

.vc-pagina .car_single_content_wrapper .para {
    color: var(--testo-tenue);
    font-size: var(--t-base);
    line-height: 1.4;
    margin-bottom: var(--s0);
}

.vc-pagina .single_page_heading_content .container-situazione-parco {
    display: inline-flex;
}

.vc-pagina .price_content .price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--s-2);
    margin: 0 0 var(--s0) !important;
    line-height: 1.272;
}

    .vc-pagina .price_content .price .prezzo-normale,
    .vc-pagina .price_content .price .prezzo-offerta {
        font-size: var(--t-4) !important;
        font-weight: 300;
        line-height: 1;
        margin: 0;
    }

    .vc-pagina .price_content .price .prezzo-normale-con-offerta {
        font-size: var(--t-1) !important;
        line-height: 1;
        margin: 0;
    }

    .vc-pagina .price_content .price > span:not([class*="prezzo"]) {
        color: var(--testo-tenue);
        font-size: 11px;
        font-weight: 500;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

.vc-pagina .prezzo-commerciante {
    color: var(--lettere);
    font-size: var(--t-small);
    margin: 0;
}

.vc-pagina .single_page_heading_content .btn-thm3 {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    height: var(--s2);
    padding: 0 var(--s1);
    background: transparent;
    border: 1px solid var(--oro);
    border-radius: var(--raggio);
    box-shadow: none;
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

    .vc-pagina .single_page_heading_content .btn-thm3:hover {
        background: var(--oro);
        color: var(--colore-principale-testo);
    }

@media (max-width: 991px) {
    .vc-pagina .price_content .price {
        align-items: flex-start;
    }
}

/* --- Condivisione: cerchi monocromi da 42px, colore del social solo al passaggio --- */
.vc-pagina .share-bar {
    gap: var(--s-1);
    margin-top: var(--s1);
    padding-top: var(--s0);
    border-top: 1px solid var(--bordi);
}

    .vc-pagina .share-bar .share-label {
        color: var(--testo-tenue);
        font-size: 11px;
        font-weight: 500;
        letter-spacing: .12em;
        text-transform: uppercase;
        margin-right: var(--s-2);
    }

    .vc-pagina .share-bar .share-btn {
        width: var(--s2);
        height: var(--s2);
        background: transparent;
        border: 1px solid var(--bordi);
        color: var(--testo-tenue) !important;
        font-size: 15px;
        transition: border-color var(--transizione), color var(--transizione);
    }

        .vc-pagina .share-bar .share-btn:hover {
            transform: none;
            opacity: 1;
        }

    .vc-pagina .share-bar .share-facebook:hover { border-color: #1877F2; color: #1877F2 !important; }
    .vc-pagina .share-bar .share-twitter:hover { border-color: var(--lettere); color: var(--lettere) !important; }
    .vc-pagina .share-bar .share-telegram:hover { border-color: #229ED9; color: #229ED9 !important; }
    .vc-pagina .share-bar .share-whatsapp:hover { border-color: #25D366; color: #25D366 !important; }

/* --- Galleria: foto principale in rettangolo aureo, miniature con filetto oro sull'attiva --- */
.vc-pagina .slider-carousel {
    background: var(--superficie);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    overflow: hidden;
    margin-bottom: var(--s-1);
}

    .vc-pagina .slider-carousel .slides img {
        width: 100%;
        aspect-ratio: 1.618 / 1;
        object-fit: contain;
        background: var(--superficie);
    }

.vc-pagina .contenitore-numero {
    top: var(--s0);
    right: var(--s0);
    padding: 3px var(--s-1);
    background: rgba(27, 27, 30, .72);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--raggio);
    color: var(--lettere);
    font-size: var(--t-small);
    letter-spacing: .08em;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

.vc-pagina .carousel-slider {
    margin-bottom: var(--s1);
}

    .vc-pagina .carousel-slider li {
        margin-right: var(--s-2);
    }

    .vc-pagina .carousel-slider img {
        aspect-ratio: 1.618 / 1;
        object-fit: cover;
        border-radius: var(--raggio);
        opacity: .45;
        transition: opacity var(--transizione);
    }

    .vc-pagina .carousel-slider .flex-active-slide {
        border: 0;
        border-radius: var(--raggio);
        box-shadow: inset 0 -2px 0 var(--oro);
    }

        .vc-pagina .carousel-slider .flex-active-slide img {
            opacity: 1;
        }

/* --- Pannelli --- */
.vc-pagina .opening_hour_widgets,
.vc-pagina .listing_single_description,
.vc-pagina .user_profile_service,
.vc-pagina .user_profile_location {
    position: relative;
}

.vc-pagina .opening_hour_widgets,
.vc-pagina .listing_single_description,
.vc-pagina .user_profile_service,
.vc-pagina .user_profile_location,
.vc-pagina .sidebar_seller_contact {
    background-color: var(--superficie);
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    padding: var(--s2);
    margin: 0 0 var(--s1) !important;
}

    .vc-pagina .opening_hour_widgets::before,
    .vc-pagina .listing_single_description::before,
    .vc-pagina .user_profile_service::before,
    .vc-pagina .user_profile_location::before,
    .vc-pagina .sidebar_seller_contact::before {
        content: "";
        position: absolute;
        top: -1px;
        left: var(--s2);
        width: var(--s2);
        height: 1px;
        background: var(--oro);
    }

/* Titoli dei pannelli: etichetta oro, come nelle altre pagine */
.vc-pagina .opening_hour_widgets > h4,
.vc-pagina .listing_single_description h4,
.vc-pagina .user_profile_service > h4,
.vc-pagina .user_profile_service .title,
.vc-pagina .user_profile_location .title {
    color: var(--oro);
    font-size: var(--t-small);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: var(--tracking-payoff);
    text-transform: uppercase;
    margin: 0 0 var(--s0) !important;
}

/* Righe dati: etichetta tenue a sinistra, valore a destra */
    .vc-pagina .opening_hour_widgets .wrapper .list-group-item {
        background: transparent;
        border: 0;
        border-bottom: 1px solid var(--bordi);
        padding: var(--s-1) var(--s-1);
        line-height: var(--phi);
        gap: var(--s0);
    }

    .vc-pagina .opening_hour_widgets .wrapper .list-group-item .day {
        color: var(--testo-tenue);
        font-size: 14px;
        font-weight: 400;
    }

    .vc-pagina .opening_hour_widgets .wrapper .list-group-item .schedule {
        color: var(--lettere);
        font-size: 14px;
        font-weight: 500;
        line-height: var(--phi);
        text-align: right;
        font-variant-numeric: tabular-nums;
    }

/* Pannelli a tutta larghezza: righe su due colonne da 768px */
@media (min-width: 768px) {
    .vc-pagina .col-lg-12 > .listing_single_sidebar .list-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: var(--s2);
    }

        .vc-pagina .col-lg-12 > .listing_single_sidebar .list-group .list-group-item:last-child {
            border-bottom: 1px solid var(--bordi);
        }
}

.vc-pagina .opening_hour_widgets .wrapper .list-group-item:last-child {
    border-bottom: 0;
}

/* Ambiente e Motore affiancati: stessa altezza */
.vc-pagina .col-lg-6 > .listing_single_sidebar {
    height: 100%;
    padding-bottom: var(--s1);
}

    .vc-pagina .col-lg-6 > .listing_single_sidebar > .opening_hour_widgets {
        height: 100%;
        margin-bottom: 0 !important;
    }

/* Descrizione */
.vc-pagina .listing_single_description .first-para {
    color: var(--lettere);
    font-size: var(--t-base);
    line-height: var(--phi);
    margin: 0;
}

/* Video */
.vc-pagina #ContenitoreVideo iframe {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border-radius: var(--raggio);
    margin-bottom: var(--s0);
}

/* Accessori: gruppo a sinistra (etichetta), voci a destra */
.vc-pagina .user_profile_service .subtitle {
    color: var(--lettere);
    font-size: var(--t-base);
    font-weight: 500;
    letter-spacing: .02em;
    margin-bottom: var(--s-1);
}

.vc-pagina .user_profile_service hr {
    background-color: var(--bordi);
    margin: var(--s0) 0;
    opacity: 1;
}

    .vc-pagina .user_profile_service hr:last-child {
        display: none;
    }

.vc-pagina .user_profile_service .service_list {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .vc-pagina .user_profile_service .service_list li {
        position: relative;
        padding-left: var(--s0);
        color: var(--testo-tenue);
        font-size: 14px;
        line-height: var(--phi);
    }

        .vc-pagina .user_profile_service .service_list li::before {
            content: "";
            position: absolute;
            left: 0;
            top: .8em;
            width: var(--s-2);
            height: 1px;
            background: var(--oro);
        }

/* Posizione: mappa in rettangolo phi^2, indirizzo e indicazioni sulla stessa riga */
.vc-pagina .property_sp_map {
    aspect-ratio: 2.618 / 1;
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    overflow: hidden;
    margin-bottom: var(--s0) !important;
}

    .vc-pagina .property_sp_map iframe {
        display: block;
        width: 100%;
        height: 100%;
    }

.vc-pagina .upl_content {
    align-items: center;
    justify-content: space-between;
    gap: var(--s0);
}

    .vc-pagina .upl_content p {
        color: var(--lettere);
        font-size: 14px;
        margin: 0;
    }

        .vc-pagina .upl_content p span {
            color: var(--oro);
        }

.vc-pagina .user_profile_location .location_btn {
    position: static;
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    height: var(--s2);
    padding: 0 var(--s1);
    background: transparent;
    border: 1px solid var(--bordi);
    border-radius: var(--raggio);
    color: var(--lettere);
    font-size: var(--t-small);
    letter-spacing: .1em;
    text-transform: uppercase;
}

    .vc-pagina .user_profile_location .location_btn span {
        color: var(--oro) !important;
    }

    .vc-pagina .user_profile_location .location_btn:hover {
        background: transparent;
        border-color: var(--oro);
        color: var(--oro);
    }

/* --- Modulo contatti laterale --- */
.vc-pagina .sidebar_seller_contact h4 {
    font-size: var(--t-1);
    font-weight: 400;
    line-height: 1.272;
    letter-spacing: .02em;
    margin-bottom: var(--s0) !important;
}

.vc-pagina .sidebar_seller_contact .author_img {
    width: var(--s3);
    height: var(--s3);
    object-fit: cover;
    border: 1px solid var(--bordi);
    border-radius: 50%;
}

.vc-pagina .sidebar_seller_contact .d-flex.align-items-center.mb30 {
    padding-bottom: var(--s1);
    margin-bottom: var(--s1) !important;
    border-bottom: 1px solid var(--bordi);
}

    .vc-pagina .sidebar_seller_contact .d-flex.align-items-center.mb30 h5 {
        color: var(--lettere) !important;
        font-size: var(--t-base) !important;
        letter-spacing: .04em;
        margin-bottom: var(--s-2) !important;
    }

    .vc-pagina .sidebar_seller_contact .d-flex.align-items-center.mb30 a {
        color: var(--testo-tenue);
        font-size: 14px;
        line-height: var(--phi);
    }

        .vc-pagina .sidebar_seller_contact .d-flex.align-items-center.mb30 a span {
            color: var(--oro);
        }

        .vc-pagina .sidebar_seller_contact .d-flex.align-items-center.mb30 a:hover {
            color: var(--oro);
        }

.vc-pagina .sidebar_seller_contact .form-control {
    height: 50px;
    background-color: var(--sfondo-sito);
    color: var(--lettere);
    font-size: 14px;
    padding: 0 var(--s0);
}

.vc-pagina .sidebar_seller_contact textarea.form-control {
    height: auto;
    min-height: 162px;
    padding: var(--s0);
}

.vc-pagina .sidebar_seller_contact .form-control::placeholder {
    color: var(--testo-tenue);
    opacity: .618;
}

.vc-pagina .sidebar_seller_contact .ui_kit_checkbox label,
.vc-pagina .sidebar_seller_contact .mb-3 > label {
    display: flex;
    align-items: flex-start;
    gap: var(--s-1);
    color: var(--testo-tenue);
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: var(--s-1);
    cursor: pointer;
}

    .vc-pagina .sidebar_seller_contact .ui_kit_checkbox label .form-check-input,
    .vc-pagina .sidebar_seller_contact .mb-3 > label .form-check-input {
        flex: 0 0 auto;
        margin: 2px 0 0;
    }

.vc-pagina .sidebar_seller_contact .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--s-2);
    height: 50px;
    border-radius: var(--raggio);
    font-size: var(--t-small);
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.vc-pagina .sidebar_seller_contact .btnPermuta {
    margin: 0 0 var(--s1) !important;
    background: transparent;
    border: 1px solid var(--oro);
    color: var(--oro);
}

    .vc-pagina .sidebar_seller_contact .btnPermuta:hover {
        background: var(--oro);
        color: var(--colore-principale-testo);
    }

.vc-pagina .sidebar_seller_contact #btnInviaVeicolo {
    margin: var(--s-1) 0 var(--s-1) !important;
}

.vc-pagina .sidebar_seller_contact .btn-whatsapp {
    background: transparent;
    border: 1px solid var(--bordi);
    color: var(--lettere);
}

    .vc-pagina .sidebar_seller_contact .btn-whatsapp span {
        color: #25D366 !important;
        font-size: var(--t-base);
        margin: 0 !important;
    }

    .vc-pagina .sidebar_seller_contact .btn-whatsapp:hover {
        background: transparent;
        border-color: #25D366;
        color: var(--lettere);
    }

@media (min-width: 992px) {
    .vc-pagina .elemento-sticky {
        top: var(--s1);
    }
}

/* --- Calcolo finanziamento (quando attivo) --- */
.vc-pagina .form-finanziamento .short_code_title {
    color: var(--testo-tenue);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.vc-pagina .form-finanziamento .disclaimer {
    color: var(--testo-tenue);
    font-size: 12px;
    line-height: var(--phi);
    margin-top: var(--s1);
}

/* --- Altri veicoli --- */
.vc-simili {
    padding-top: var(--s3) !important;
    border-top: 1px solid var(--bordi);
}

    .vc-simili .main-title {
        margin-bottom: var(--s1);
    }

    .vc-simili .more_listing {
        color: var(--oro);
        font-size: var(--t-small);
        font-weight: 500;
        letter-spacing: var(--tracking-payoff);
        text-transform: uppercase;
        padding-bottom: var(--s-2);
        border-bottom: 1px solid var(--oro);
    }

        .vc-simili .more_listing .icon {
            display: none;
        }

        .vc-simili .more_listing:hover {
            color: var(--lettere);
            border-color: var(--lettere);
        }

@media (max-width: 575px) {
    .vc-pagina .opening_hour_widgets,
    .vc-pagina .listing_single_description,
    .vc-pagina .user_profile_service,
    .vc-pagina .user_profile_location,
    .vc-pagina .sidebar_seller_contact {
        padding: var(--s1) var(--s0);
    }

        .vc-pagina .opening_hour_widgets::before,
        .vc-pagina .listing_single_description::before,
        .vc-pagina .user_profile_service::before,
        .vc-pagina .user_profile_location::before,
        .vc-pagina .sidebar_seller_contact::before {
            left: var(--s0);
        }

    .vc-pagina .car_single_content_wrapper .title {
        font-size: var(--t-2);
    }

    .vc-pagina .price_content .price .prezzo-normale,
    .vc-pagina .price_content .price .prezzo-offerta {
        font-size: var(--t-3) !important;
    }

    .vc-pagina .property_sp_map {
        aspect-ratio: 1.618 / 1;
    }
}

/* ---------- BARRA CONTATTI MOBILE ---------- */
/* Stesso linguaggio delle caselle laterali: fondo antracite traslucido, tre pulsanti
   uguali a contorno da 42px (s2), stacco 6px (s-2), icona oro o verde WhatsApp. */
#contenitoreAppiccisoCellulare > .ui_kit_button {
    background-color: rgba(27, 27, 30, .92) !important;
    border-top: 1px solid var(--bordi);
    box-shadow: 0 calc(var(--s-1) * -1) var(--s1) rgba(0, 0, 0, .3);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    padding: var(--s-1) var(--s0) calc(var(--s-1) + env(safe-area-inset-bottom, 0px));
}

    #contenitoreAppiccisoCellulare > .ui_kit_button > ul {
        gap: var(--s-2);
        padding: 0;
        list-style: none;
    }

        #contenitoreAppiccisoCellulare > .ui_kit_button > ul > li {
            flex: 1 1 0;
            min-width: 0;
        }

#contenitoreAppiccisoCellulare a.btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--s-2);
    width: 100% !important;
    height: var(--s2) !important;
    margin: 0 !important;
    padding: 0 var(--s-2);
    background: transparent !important;
    border: 1px solid var(--bordi) !important;
    border-radius: var(--raggio) !important;
    box-shadow: none !important;
    color: var(--lettere) !important;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1 !important;
    text-transform: uppercase;
    white-space: nowrap;
    transition: border-color var(--transizione), color var(--transizione);
}

    #contenitoreAppiccisoCellulare a.btn span {
        color: var(--oro) !important;
        font-size: var(--t-base) !important;
        line-height: 1;
    }

    #contenitoreAppiccisoCellulare a.btn-whatsapp span {
        color: #25D366 !important;
    }

    #contenitoreAppiccisoCellulare a.btn:active,
    #contenitoreAppiccisoCellulare a.btn:hover {
        border-color: var(--oro) !important;
    }

    #contenitoreAppiccisoCellulare a.btn-whatsapp:active,
    #contenitoreAppiccisoCellulare a.btn-whatsapp:hover {
        border-color: #25D366 !important;
    }

/* La barra prende l altezza del contenuto (62px + area sicura), non i 55px fissi del tema */
#contenitoreAppiccisoCellulare {
    height: auto !important;
    box-shadow: none;
}
