/* ==========================================================
   VERAUTO MAIN - SEARCH BOX V13
   Target reale: #search-box + .stm_mc-filter-selects
   Non modifica markup, campi o logica di ricerca.
   ========================================================== */

:root {
    --verauto-search-bg: #ffffff;
    --verauto-search-text: #1b232b;
    --verauto-search-muted: #6f7a84;
    --verauto-search-border: #1498d0;
    --verauto-search-field-bg: #ffffff;
    --verauto-search-field-border: #dce3e8;
    --verauto-search-button: #0787c0;
    --verauto-search-button-hover: #066fa0;
    --verauto-search-radius: 20px;
}

/* ----------------------------------------------------------
   CARD PRINCIPALE
   WPBakery applica width/left inline al row full-width:
   gli !important servono proprio a neutralizzarli.
   ---------------------------------------------------------- */

body.home #main{background-color: #fff !important;}

body.home #search-box {
    position: relative !important;
    z-index: 20 !important;
    left: auto !important;
    right: auto !important;
    box-sizing: border-box !important;

    width: calc(100% - 64px) !important;
    max-width: 1440px !important;

    margin: -50px auto 56px !important;
    padding: 32px 38px 34px !important;

    background: var(--verauto-search-bg) !important;
    background-image: none !important;
    color: var(--verauto-search-text) !important;

    border: 1px solid var(--verauto-search-border) !important;
    border-radius: var(--verauto-search-radius) !important;
    box-shadow: 0 20px 52px rgba(18, 30, 40, 0.10) !important;
    overflow: visible !important;
}

/* Neutralizza i wrapper WPBakery interni senza alterare il layout. */
body.home #search-box > .wpb_column,
body.home #search-box > .wpb_column > .vc_column-inner,
body.home #search-box .vc_inner,
body.home #search-box .wpb_wrapper {
    background: transparent !important;
    background-image: none !important;
}

body.home #search-box > .wpb_column > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ----------------------------------------------------------
   TITOLO + SEPARATORE
   Il titolo ha color:#fff inline: per questo serve !important.
   ---------------------------------------------------------- */
body.home #search-box .vc_custom_heading,
body.home #search-box h1,
body.home #search-box h2,
body.home #search-box h3 {
    color: var(--verauto-search-text) !important;
}

body.home #search-box .vc_custom_heading {
    margin: 0 0 10px !important;
    font-size: clamp(25px, 2vw, 32px) !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

body.home #search-box .colored-separator {
    margin: 0 0 25px !important;
    text-align: left !important;
}

body.home #search-box .colored-separator .first-long,
body.home #search-box .colored-separator .last-short {
    background-color: var(--verauto-search-border) !important;
}

/* ----------------------------------------------------------
   WIDGET MOTORS REALE
   Il CSS parent imposta padding-right:210px e submit assoluto.
   Qui li azzeriamo e usiamo una griglia senza cambiare HTML.
   ---------------------------------------------------------- */
body.home #search-box .stm_mc-filter-selects {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body.home #search-box .stm_mc-filter-selects > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.home #search-box .stm_mc-filter-selects form {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(170px, 190px) !important;
    gap: 18px !important;
    align-items: end !important;
    width: 100% !important;
}

body.home #search-box .stm_mc-filter-selects form > .col-md-3,
body.home #search-box .stm_mc-filter-selects form > .col-sm-6 {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.home #search-box .stm_mc-filter-selects .form-group {
    margin-bottom: 0 !important;
}

/* Etichette Marca / Modello / Anno / Prezzo. */
body.home #search-box .stm_mc-filter-selects .stm_mc-plural-name {
    margin: 0 0 9px !important;
    color: #3d4852 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
}

/* ----------------------------------------------------------
   SELECT2
   Il markup genera width:203px inline: forziamo width:100%.
   ---------------------------------------------------------- */
body.home #search-box .stm_mc-filter-selects .select2-container {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

body.home #search-box .stm_mc-filter-selects .select2-container--default .select2-selection--single {
    height: 56px !important;
    min-height: 56px !important;
    background: var(--verauto-search-field-bg) !important;
    border: 1px solid var(--verauto-search-field-border) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease !important;
}

body.home #search-box .stm_mc-filter-selects .select2-container--default .select2-selection--single:hover,
body.home #search-box .stm_mc-filter-selects .select2-container--open .select2-selection--single {
    border-color: #aebbc5 !important;
    background: #fbfcfd !important;
}

body.home #search-box .stm_mc-filter-selects .select2-container--open .select2-selection--single {
    box-shadow: 0 0 0 3px rgba(20, 152, 208, 0.10) !important;
}

body.home #search-box .stm_mc-filter-selects .select2-container--default .select2-selection--single .select2-selection__rendered {
    height: 54px !important;
    padding: 0 44px 0 16px !important;
    color: #27313a !important;
    line-height: 54px !important;
    font-size: 14px !important;
}

body.home #search-box .stm_mc-filter-selects .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 0 !important;
    right: 12px !important;
    width: 26px !important;
    height: 54px !important;
}

body.home #search-box .stm_mc-filter-selects .select2-container--default .select2-selection--single .select2-selection__arrow b,
body.home #search-box .stm_mc-filter-selects .selection:hover b {
    color: #66727d !important;
}

body.home #search-box .stm_mc-filter-selects .selection:hover .select2-selection__rendered {
    color: #17212a !important;
}

/* Select nativo resta coerente anche prima dell'inizializzazione Select2. */
body.home #search-box .stm_mc-filter-selects select.form-control {
    width: 100% !important;
    height: 56px !important;
    color: #27313a !important;
    background: var(--verauto-search-field-bg) !important;
    border: 1px solid var(--verauto-search-field-border) !important;
    border-radius: 14px !important;
}

/* ----------------------------------------------------------
   BLOCCO TROVATI + CERCA
   Nel tema parent è position:absolute; qui torna nella griglia.
   ---------------------------------------------------------- */
body.home #search-box .stm_mc-filter-selects .stm_mc-submit-btn {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    min-width: 0 !important;
    align-self: end !important;
}

body.home #search-box .stm_mc-filter-selects .stm_mc-submit-btn > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.home #search-box .stm_mc-filter-selects .stm_mc-submit-btn .col-md-12,
body.home #search-box .stm_mc-filter-selects .stm_mc-submit-btn .col-sm-12 {
    float: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.home #search-box .stm_mc-filter-selects .stm_mc-found {
    min-height: 15px !important;
    margin: 0 0 9px !important;
    color: #505d68 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

body.home #search-box .stm_mc-filter-selects .stm_mc-found .number-label {
    color: var(--verauto-search-muted) !important;
}

body.home #search-box .stm_mc-filter-selects .stm_mc-found .number-found {
    color: #25313a !important;
    font-weight: 700 !important;
}

body.home #search-box .stm_mc-filter-selects .stm_mc-submit-btn .button {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 24px !important;

    color: #fff !important;
    background: var(--verauto-search-button) !important;
    border: 1px solid var(--verauto-search-button) !important;
    border-radius: 14px !important;
    box-shadow: none !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 54px !important;
    text-align: center !important;
    text-transform: none !important;

    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease !important;
}

body.home #search-box .stm_mc-filter-selects .stm_mc-submit-btn .button:hover {
    background: var(--verauto-search-button-hover) !important;
    border-color: var(--verauto-search-button-hover) !important;
    box-shadow: 0 8px 20px rgba(7, 135, 192, 0.18) !important;
    transform: translateY(-1px) !important;
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */
@media (max-width: 1199px) {
    body.home #search-box {
        width: calc(100% - 40px) !important;
        padding: 28px 28px 30px !important;
    }

    body.home #search-box .stm_mc-filter-selects form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    body.home #search-box .stm_mc-filter-selects .stm_mc-submit-btn {
        grid-column: span 2 !important;
    }

    body.home #search-box .stm_mc-filter-selects .stm_mc-submit-btn .button {
        max-width: 260px !important;
    }
}

@media (max-width: 767px) {
    body.home #search-box {
        width: calc(100% - 24px) !important;
        margin: -18px auto 34px !important;
        padding: 24px 18px 26px !important;
        border-radius: 20px !important;
    }

    body.home #search-box .colored-separator {
        margin-bottom: 20px !important;
    }

    body.home #search-box .stm_mc-filter-selects form {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    body.home #search-box .stm_mc-filter-selects .stm_mc-submit-btn {
        grid-column: auto !important;
    }

    body.home #search-box .stm_mc-filter-selects .stm_mc-submit-btn .button {
        max-width: none !important;
    }
}

/* ==========================================================
   VERAUTO MAIN V14 - SELECT2 DROPDOWN LIGHT
   Select2 appende il dropdown fuori da #search-box (di norma al body),
   quindi va stilizzato a livello pagina e non come figlio della card.
   ========================================================== */
body.home .select2-container--open .select2-dropdown {
    background: #ffffff !important;
    border: 1px solid var(--verauto-search-field-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 14px 34px rgba(19, 34, 48, 0.14) !important;
    overflow: hidden !important;
}

body.home .select2-container--open .select2-search--dropdown {
    padding: 9px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #edf1f4 !important;
}

body.home .select2-container--open .select2-search__field {
    height: 40px !important;
    padding: 0 12px !important;
    color: #26313a !important;
    background: #ffffff !important;
    border: 1px solid var(--verauto-search-field-border) !important;
    border-radius: 9px !important;
    outline: none !important;
    box-shadow: none !important;
}

body.home .select2-container--open .select2-search__field:focus {
    border-color: var(--verauto-search-border) !important;
    box-shadow: 0 0 0 3px rgba(11, 149, 208, 0.10) !important;
}

body.home .select2-container--open .select2-results,
body.home .select2-container--open .select2-results__options {
    background: #ffffff !important;
}

body.home .select2-container--open .select2-results__option {
    margin: 0 !important;
    padding: 10px 14px !important;
    color: #26313a !important;
    background: #ffffff !important;
    border-bottom: 1px solid #edf1f4 !important;
    font-size: 13px !important;
    line-height: 20px !important;
}

body.home .select2-container--open .select2-results__option:last-child {
    border-bottom: 0 !important;
}

body.home .select2-container--default .select2-results__option[aria-selected="true"],
body.home .select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: #116f99 !important;
    background: #f1f8fc !important;
    border-bottom-color: #e3eef4 !important;
}

body.home .select2-container--default .select2-results__option[aria-disabled="true"] {
    display: none !important;
}

