/* =====================================================
   SASACO GEO SEARCH V3
   ===================================================== */

.sasaco-geo-v2 {
    position: relative !important;
    z-index: 10020 !important;
    display: block;
    width: 100%;
    min-width: 0;
    height: 100%;
    overflow: visible !important;
}

.sasaco-geo-v2-main {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    height: 100%;
    overflow: visible !important;
}

.sasaco-geo-v2-marker {
    position: absolute;
    top: 50%;
    left: 14px;
    z-index: 2;
    color: #78828e;
    transform: translateY(-50%);
    pointer-events: none;
}

.sasaco-geo-v2-input {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    height: 100%;
    min-height: 42px;
    padding: 0 74px 0 42px !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #172033 !important;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    text-overflow: ellipsis;
}

.sasaco-geo-v2-input::placeholder {
    color: #747d89;
    opacity: 1;
}

.sasaco-geo-v2-clear {
    position: absolute;
    top: 50%;
    right: 9px;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #edf0f3;
    color: #485565;
    cursor: pointer;
    transform: translateY(-50%);
}

.sasaco-geo-v2-clear[hidden],
.sasaco-geo-v2-spinner[hidden],
.sasaco-geo-v2-expand[hidden] {
    display: none !important;
}

.sasaco-geo-v2-clear:hover {
    background: #dfe4e9;
    color: #172033;
}

.sasaco-geo-v2-spinner {
    position: absolute;
    top: 50%;
    right: 45px;
    z-index: 3;
    color: #657080;
    transform: translateY(-50%);
}

.sasaco-geo-v2-results {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    z-index: 2147483000 !important;
    display: none;
    width: 440px !important;
    min-width: 360px;
    max-width: min(440px, calc(100vw - 24px));
    max-height: 430px;
    margin: 0;
    padding: 6px 0;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 1px solid #dde2e8;
    border-radius: 13px;
    background: #fff !important;
    box-shadow:
        0 18px 48px rgba(9, 29, 55, 0.20),
        0 3px 10px rgba(9, 29, 55, 0.08);
    color: #172033 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.sasaco-geo-v2-results.is-open {
    display: block !important;
    pointer-events: auto !important;
}

.sasaco-geo-v3-group {
    position: sticky;
    top: -6px;
    z-index: 3;
    display: block !important;
    min-height: 31px;
    padding: 11px 15px 7px;
    border-top: 1px solid #edf0f3;
    background: #fff !important;
    color: #7b838d !important;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: 0.055em;
    text-transform: uppercase;
    visibility: visible !important;
    opacity: 1 !important;
}

.sasaco-geo-v3-group:first-child {
    border-top: 0;
}

.sasaco-geo-v3-result {
    position: relative;
    display: flex !important;
    align-items: center !important;
    gap: 12px;
    width: 100% !important;
    min-height: 59px;
    margin: 0;
    padding: 10px 15px !important;
    border: 0 !important;
    border-radius: 0;
    background: #fff !important;
    color: #172033 !important;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.3;
    text-align: left !important;
    cursor: pointer;
    opacity: 1 !important;
    visibility: visible !important;
    appearance: none;
}

.sasaco-geo-v3-result:hover,
.sasaco-geo-v3-result.is-active,
.sasaco-geo-v3-result[aria-selected="true"] {
    background: #f2f6fb !important;
    color: #172033 !important;
}

.sasaco-geo-v3-icon {
    display: flex !important;
    flex: 0 0 37px;
    align-items: center;
    justify-content: center;
    width: 37px;
    height: 37px;
    border-radius: 50%;
    background: #eef2f6 !important;
    color: #40556e !important;
    font-size: 15px;
    opacity: 1 !important;
    visibility: visible !important;
}

.sasaco-geo-v3-result:hover
.sasaco-geo-v3-icon,
.sasaco-geo-v3-result.is-active
.sasaco-geo-v3-icon {
    background: #e2ebf6 !important;
    color: #175fae !important;
}

.sasaco-geo-v3-icon i {
    display: inline-block !important;
    color: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.sasaco-geo-v3-content {
    display: flex !important;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    color: #172033 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.sasaco-geo-v3-title {
    display: block !important;
    width: 100%;
    overflow: hidden;
    color: #172033 !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: 1 !important;
    visibility: visible !important;
}

.sasaco-geo-v3-subtitle {
    display: block !important;
    width: 100%;
    margin-top: 3px;
    overflow: hidden;
    color: #757e89 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: 1 !important;
    visibility: visible !important;
}

.sasaco-geo-v3-empty {
    display: block;
    padding: 22px 16px;
    color: #737c87;
    font-size: 13px;
    text-align: center;
}

.sasaco-geo-v2.has-selection
.sasaco-geo-v2-main {
    margin: 4px 6px;
    width: calc(100% - 12px);
    height: calc(100% - 8px);
    min-height: 36px;
    border: 1px solid #d7e4f3;
    border-radius: 9px;
    background: #f2f7fc;
}

.sasaco-geo-v2.has-selection
.sasaco-geo-v2-input {
    min-height: 36px;
    padding-left: 37px !important;
    color: #0a315f !important;
    font-weight: 650;
}

.sasaco-geo-v2.has-selection
.sasaco-geo-v2-marker {
    left: 12px;
    color: #1769bd;
}

.sasaco-geo-v2.has-selection
.sasaco-geo-v2-clear {
    right: 6px;
    background: #dfeaf6;
    color: #244c76;
}

.sasaco-geo-v2[data-selected-type="province"]
.sasaco-geo-v2-main {
    border-color: #ded8f0;
    background: #f6f4fc;
}

.sasaco-geo-v2[data-selected-type="province"]
.sasaco-geo-v2-marker {
    color: #6547b7;
}

.sasaco-geo-v2[data-selected-type="zone"]
.sasaco-geo-v2-main {
    border-color: #d4e9dc;
    background: #f1f9f4;
}

.sasaco-geo-v2[data-selected-type="zone"]
.sasaco-geo-v2-marker {
    color: #168050;
}

.sasaco-geo-v2[data-selected-type="zip"]
.sasaco-geo-v2-main {
    border-color: #eddcc3;
    background: #fff8ee;
}

.sasaco-geo-v2[data-selected-type="zip"]
.sasaco-geo-v2-marker {
    color: #bd690e;
}

.sasaco-geo-v2-expand {
    position: absolute;
    top: calc(100% + 7px);
    left: 7px;
    z-index: 2147483001;
    padding: 6px 11px;
    border: 1px solid #d4e1f1;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 5px 15px rgba(15, 41, 72, 0.13);
    color: #1768bd;
    font-family: inherit;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
}

.sasaco-geo-v2-expand::before {
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f279";
}

.sasaco-geo-v2-expand:hover {
    background: #f4f8fd;
}

.sasaco-geo-v2.has-error
.sasaco-geo-v2-main {
    border-color: #db3848 !important;
    box-shadow: 0 0 0 3px rgba(219, 56, 72, 0.12);
}

/* I contenitori dell'header non devono tagliare il menu. */
.sasaco-header-main,
.sasaco-header-search,
.sasaco-search-form,
.sasaco-search-field,
.sasaco-search-location,
.sasaco-mobile-search-form,
.sasaco-mobile-location {
    overflow: visible !important;
}

.sasaco-header-main {
    position: relative;
    z-index: 10000;
}

.sasaco-header-search {
    position: relative;
    z-index: 10005;
}

.sasaco-search-form {
    position: relative;
    z-index: 10010;
}

.sasaco-search-location,
.sasaco-mobile-location {
    position: relative !important;
    z-index: 10015 !important;
}

@media (max-width: 767px) {
    .sasaco-mobile-location
    .sasaco-geo-v2-results {
        position: fixed !important;
        top: 126px !important;
        right: 12px !important;
        left: 12px !important;
        width: auto !important;
        min-width: 0;
        max-width: none;
        max-height: calc(100vh - 150px);
    }

    .sasaco-geo-v2-expand {
        display: none !important;
    }

    .sasaco-geo-v2-input {
        font-size: 13px;
    }
}

/* =====================================================
   SASACO GEO SEARCH V3
   Reset definitivo conflitti tema Delta
   Pagina Home + pagina Risultati
   ===================================================== */

/*
 * Il tema Delta applica regole generiche a button e span
 * presenti nella barra di ricerca. Azzeriamo soltanto
 * gli elementi interni all'autocomplete SASACO.
 */

.sasaco-geo-v2-results button.sasaco-geo-v3-result,
.sasaco-geo-v2-results button.sasaco-geo-v2-result {
    all: unset !important;

    box-sizing: border-box !important;
    position: relative !important;

    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    align-items: center !important;
    gap: 12px !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 59px !important;

    margin: 0 !important;
    padding: 10px 15px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #ffffff !important;
    color: #172033 !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;

    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-transform: none !important;

    cursor: pointer !important;
    appearance: none !important;
}

.sasaco-geo-v2-results button.sasaco-geo-v3-result:hover,
.sasaco-geo-v2-results button.sasaco-geo-v3-result.is-active,
.sasaco-geo-v2-results button.sasaco-geo-v2-result:hover,
.sasaco-geo-v2-results button.sasaco-geo-v2-result.is-active {
    background: #f2f6fb !important;
    color: #172033 !important;
}

/* Icona: supporto V2 e V3. */
.sasaco-geo-v2-results .sasaco-geo-v3-icon,
.sasaco-geo-v2-results .sasaco-geo-v2-result-icon {
    all: unset !important;

    box-sizing: border-box !important;

    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    flex: 0 0 37px !important;
    align-items: center !important;
    justify-content: center !important;

    width: 37px !important;
    height: 37px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;

    background: #eef2f6 !important;
    color: #40556e !important;

    font-size: 15px !important;
    line-height: 1 !important;
}

.sasaco-geo-v2-results .sasaco-geo-v3-icon i,
.sasaco-geo-v2-results .sasaco-geo-v2-result-icon i {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

/* Contenitore testo: supporto V2 e V3. */
.sasaco-geo-v2-results .sasaco-geo-v3-content,
.sasaco-geo-v2-results .sasaco-geo-v2-result-content {
    all: unset !important;

    box-sizing: border-box !important;

    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    min-width: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #172033 !important;
    text-align: left !important;
}

/* Titolo V3. */
.sasaco-geo-v2-results .sasaco-geo-v3-title {
    all: unset !important;

    box-sizing: border-box !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    color: #172033 !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;

    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-overflow: ellipsis !important;
    text-transform: none !important;

    white-space: nowrap !important;
}

/* Titolo V2. */
.sasaco-geo-v2-results
.sasaco-geo-v2-result-content strong {
    all: unset !important;

    box-sizing: border-box !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;

    color: #172033 !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;

    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

/* Sottotitolo V3. */
.sasaco-geo-v2-results .sasaco-geo-v3-subtitle {
    all: unset !important;

    box-sizing: border-box !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 3px 0 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    color: #757e89 !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;

    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-overflow: ellipsis !important;
    text-transform: none !important;

    white-space: nowrap !important;
}

/* Sottotitolo V2. */
.sasaco-geo-v2-results
.sasaco-geo-v2-result-content small {
    all: unset !important;

    box-sizing: border-box !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;

    margin-top: 3px !important;

    color: #757e89 !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;

    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

/* Intestazioni gruppi V2 e V3. */
.sasaco-geo-v2-results .sasaco-geo-v3-group,
.sasaco-geo-v2-results .sasaco-geo-v2-group {
    all: unset !important;

    box-sizing: border-box !important;

    position: sticky !important;
    top: -6px !important;
    z-index: 3 !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;
    min-height: 31px !important;

    padding: 11px 15px 7px !important;

    border-top: 1px solid #edf0f3 !important;

    background: #ffffff !important;
    color: #7b838d !important;

    font-family: inherit !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.055em !important;

    text-align: left !important;
    text-transform: uppercase !important;
}

.sasaco-geo-v2-results
.sasaco-geo-v3-group:first-child,
.sasaco-geo-v2-results
.sasaco-geo-v2-group:first-child {
    border-top: 0 !important;
}

/* Evita altezze ereditate o righe trasparenti. */
.sasaco-geo-v2-results > * {
    float: none !important;
    clear: both !important;
}

.sasaco-geo-v2-results {
    font-size: 14px !important;
    line-height: 1.3 !important;
}


/* =====================================================
   SASACO SEARCH BAR DESKTOP V4
   Solo desktop/tablet orizzontale
   Mobile escluso
   ===================================================== */

@media screen and (min-width: 768px) {

    /*
     * Contenitore principale dell'header.
     */
    header .sasaco-header-main {
        display: flex;
        align-items: center;
        gap: 18px;

        min-height: 68px;
        overflow: visible !important;
    }

    /*
     * Area centrale della ricerca.
     */
    header .sasaco-header-search {
        display: block !important;
        min-width: 0;
        flex: 1 1 auto;

        overflow: visible !important;
    }

    /*
     * Barra completa:
     * Ricerca 40%
     * Categoria 22%
     * Località 26%
     * Cerca 12%
     */
    header .sasaco-header-search
    .sasaco-search-form {
        position: relative !important;

        display: grid !important;
        grid-template-columns:
            minmax(220px, 40fr)
            minmax(170px, 22fr)
            minmax(230px, 26fr)
            minmax(92px, 12fr);

        align-items: stretch;

        width: 100% !important;
        min-width: 0;
        height: 52px !important;
        min-height: 52px !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;

        border: 1px solid #dfe3e8 !important;
        border-radius: 12px !important;

        background: #ffffff !important;

        box-shadow:
            0 7px 22px rgba(15, 35, 60, 0.08),
            0 1px 3px rgba(15, 35, 60, 0.05) !important;
    }

    /*
     * Campi comuni.
     */
    header .sasaco-header-search
    .sasaco-search-field {
        position: relative !important;

        display: flex !important;
        align-items: center !important;

        width: auto !important;
        min-width: 0 !important;
        height: 52px !important;
        min-height: 52px !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;

        border: 0 !important;
        border-radius: 0 !important;

        background: #ffffff !important;

        transition:
            background-color 0.15s ease,
            box-shadow 0.15s ease;
    }

    /*
     * Separatori sottili.
     */
    header .sasaco-header-search
    .sasaco-search-query::after,
    header .sasaco-header-search
    .sasaco-search-category::after {
        position: absolute;
        top: 11px;
        right: 0;
        bottom: 11px;

        width: 1px;

        background: #e7eaee;

        content: "";
        pointer-events: none;
    }

    /*
     * Hover leggero sui campi.
     */
    header .sasaco-header-search
    .sasaco-search-query:hover,
    header .sasaco-header-search
    .sasaco-search-category:hover,
    header .sasaco-header-search
    .sasaco-search-location:hover {
        background: #f8f9fb !important;
    }

    /*
     * Campo "Cosa cerchi?"
     */
    header .sasaco-header-search
    .sasaco-search-query {
        border-radius: 11px 0 0 11px !important;
    }

    header .sasaco-header-search
    .sasaco-search-query > i {
        position: absolute !important;
        top: 50% !important;
        left: 16px !important;
        z-index: 2;

        margin: 0 !important;

        color: #77818d !important;
        font-size: 14px !important;

        transform: translateY(-50%);
        pointer-events: none;
    }

    header .sasaco-header-search
    .sasaco-search-query input {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        height: 52px !important;

        margin: 0 !important;
        padding: 0 17px 0 43px !important;

        border: 0 !important;
        outline: 0 !important;
        border-radius: 11px 0 0 11px !important;

        background: transparent !important;
        color: #172033 !important;

        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 52px !important;
    }

    header .sasaco-header-search
    .sasaco-search-query input::placeholder {
        color: #747e89 !important;
        opacity: 1;
    }

    /*
     * Categoria.
     */
    header .sasaco-header-search
    .sasaco-search-category {
        padding-left: 0 !important;
    }

    header .sasaco-header-search
    .sasaco-search-category > i {
        position: absolute !important;
        top: 50% !important;
        left: 15px !important;
        z-index: 3;

        margin: 0 !important;

        color: #68758a !important;
        font-size: 14px !important;

        transform: translateY(-50%);
        pointer-events: none;
    }

    header .sasaco-header-search
    .sasaco-search-category
    > *:not(i) {
        min-width: 0;
        flex: 1 1 auto;
    }

    /*
     * Forza il selettore categoria a riempire il campo.
     */
    header .sasaco-header-search
    .sasaco-search-category button,
    header .sasaco-header-search
    .sasaco-search-category input,
    header .sasaco-header-search
    .sasaco-search-category [role="button"] {
        min-height: 52px !important;
    }

    /*
     * Campo geografico.
     */
    header .sasaco-header-search
    .sasaco-search-location {
        z-index: 10015 !important;
    }

    header .sasaco-header-search
    .sasaco-search-location > i {
        display: none !important;
    }

    header .sasaco-header-search
    .sasaco-search-location
    .sasaco-geo-v2 {
        width: 100% !important;
        height: 52px !important;
    }

    header .sasaco-header-search
    .sasaco-search-location
    .sasaco-geo-v2-main {
        width: 100% !important;
        height: 52px !important;
        min-height: 52px !important;
    }

    header .sasaco-header-search
    .sasaco-search-location
    .sasaco-geo-v2-input {
        height: 52px !important;
        min-height: 52px !important;

        padding:
            0 70px 0 42px !important;

        font-size: 14px !important;
        line-height: 52px !important;
    }

    header .sasaco-header-search
    .sasaco-search-location
    .sasaco-geo-v2-marker {
        left: 15px !important;
        color: #77818d !important;
    }

    /*
     * Pill della località selezionata.
     */
    header .sasaco-header-search
    .sasaco-geo-v2.has-selection
    .sasaco-geo-v2-main {
        width: calc(100% - 12px) !important;
        height: 40px !important;
        min-height: 40px !important;

        margin: 6px !important;

        border: 1px solid #d4e2f2 !important;
        border-radius: 9px !important;

        background: #f1f6fc !important;

        box-shadow: none !important;
    }

    header .sasaco-header-search
    .sasaco-geo-v2.has-selection
    .sasaco-geo-v2-input {
        height: 38px !important;
        min-height: 38px !important;

        padding:
            0 42px 0 36px !important;

        color: #123e6d !important;
        font-size: 13px !important;
        font-weight: 650 !important;
        line-height: 38px !important;
    }

    header .sasaco-header-search
    .sasaco-geo-v2.has-selection
    .sasaco-geo-v2-marker {
        left: 12px !important;
        color: #1769bd !important;
    }

    header .sasaco-header-search
    .sasaco-geo-v2.has-selection
    .sasaco-geo-v2-clear {
        right: 6px !important;

        width: 27px !important;
        height: 27px !important;

        background: #dfeaf6 !important;
        color: #244c76 !important;
    }

    /*
     * Pulsante Cerca.
     */
    header .sasaco-header-search
    .sasaco-search-submit {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-width: 92px !important;
        height: 52px !important;
        min-height: 52px !important;

        margin: -1px -1px -1px 0 !important;
        padding: 0 20px !important;

        border: 1px solid #ff4b16 !important;
        border-radius: 0 12px 12px 0 !important;

        background: #ff4b16 !important;
        color: #ffffff !important;

        box-shadow: none !important;

        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1 !important;

        cursor: pointer;

        transition:
            background-color 0.15s ease,
            border-color 0.15s ease,
            transform 0.15s ease;
    }

    header .sasaco-header-search
    .sasaco-search-submit:hover {
        border-color: #e94110 !important;
        background: #e94110 !important;
    }

    header .sasaco-header-search
    .sasaco-search-submit:active {
        transform: translateY(1px);
    }

    /*
     * Menu geografico più largo e perfettamente allineato.
     */
    header .sasaco-header-search
    .sasaco-search-location
    .sasaco-geo-v2-results {
        top: calc(100% + 9px) !important;
        right: auto !important;
        left: 0 !important;

        width: 520px !important;
        min-width: 420px !important;
        max-width: min(520px, calc(100vw - 32px)) !important;
        max-height: 460px !important;

        border-radius: 13px !important;

        transform: translateY(-4px);
        opacity: 0 !important;

        transition:
            opacity 0.15s ease,
            transform 0.15s ease;
    }

    header .sasaco-header-search
    .sasaco-search-location
    .sasaco-geo-v2-results.is-open {
        transform: translateY(0);
        opacity: 1 !important;
    }

    /*
     * Pulsante "Espandi alla provincia".
     */
    header .sasaco-header-search
    .sasaco-geo-v2-expand {
        top: calc(100% + 8px) !important;
        left: 7px !important;

        padding: 7px 12px !important;

        border-radius: 999px !important;

        background: #ffffff !important;

        font-size: 11px !important;

        box-shadow:
            0 6px 18px rgba(15, 41, 72, 0.14) !important;
    }

    /*
     * Migliore adattamento quando lo spazio desktop
     * disponibile è inferiore.
     */
    @media screen and (max-width: 1180px) {
        header .sasaco-header-search
        .sasaco-search-form {
            grid-template-columns:
                minmax(185px, 36fr)
                minmax(150px, 23fr)
                minmax(205px, 29fr)
                minmax(82px, 12fr);
        }

        header .sasaco-header-search
        .sasaco-search-submit {
            min-width: 82px !important;
            padding-right: 13px !important;
            padding-left: 13px !important;
        }
    }
}


/* =====================================================
   SASACO SEARCH BAR DESKTOP V4.1
   Migliore spazio per il campo località
   ===================================================== */

@media screen and (min-width: 768px) {

    /*
     * Nuove proporzioni:
     * Ricerca   35%
     * Categoria 21%
     * Località  32%
     * Cerca     12%
     */
    header .sasaco-header-search
    .sasaco-search-form {
        grid-template-columns:
            minmax(210px, 35fr)
            minmax(165px, 21fr)
            minmax(260px, 32fr)
            minmax(92px, 12fr) !important;
    }

    /*
     * Recupera spazio utile nel campo geografico.
     * Il pulsante X viene mostrato soltanto dopo
     * la selezione, quindi da vuoto non servono 70px.
     */
    header .sasaco-header-search
    .sasaco-search-location
    .sasaco-geo-v2:not(.has-selection)
    .sasaco-geo-v2-input {
        padding-right: 42px !important;
    }

    /*
     * Placeholder e testo sempre leggibili.
     */
    header .sasaco-header-search
    .sasaco-search-location
    .sasaco-geo-v2-input {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /*
     * Località leggermente più evidente al passaggio.
     */
    header .sasaco-header-search
    .sasaco-search-location:hover
    .sasaco-geo-v2-marker {
        color: #40566f !important;
    }

    /*
     * Riduce leggermente lo spazio interno del campo
     * categoria senza modificarne il funzionamento.
     */
    header .sasaco-header-search
    .sasaco-search-category {
        padding-right: 4px !important;
    }

    /*
     * Dropdown allineato alla nuova larghezza.
     */
    header .sasaco-header-search
    .sasaco-search-location
    .sasaco-geo-v2-results {
        width: 500px !important;
        min-width: 420px !important;
        max-width: min(500px, calc(100vw - 32px)) !important;
    }
}

/*
 * Desktop più compatti.
 */
@media screen and (min-width: 768px) and (max-width: 1180px) {

    header .sasaco-header-search
    .sasaco-search-form {
        grid-template-columns:
            minmax(175px, 32fr)
            minmax(145px, 22fr)
            minmax(225px, 34fr)
            minmax(82px, 12fr) !important;
    }
}


/* =====================================================
   SASACO SEARCH BAR DESKTOP V4.2
   Logo più grande + campi ricerca/categoria più larghi
   Mobile escluso
   ===================================================== */

@media screen and (min-width: 768px) {

    /*
     * Logo più grande.
     */
    header .sasaco-header-main > .left {
        flex: 0 0 175px !important;
        width: 175px !important;
        min-width: 175px !important;
    }

    header .sasaco-header-main .logo {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 175px !important;
        min-width: 175px !important;
        height: 52px !important;

        margin: 0 !important;
        padding: 0 10px !important;
    }

    header .sasaco-header-main .logo a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        height: 100% !important;
    }

    header .sasaco-header-main .logo img {
        display: block !important;

        width: auto !important;
        max-width: 155px !important;
        height: auto !important;
        max-height: 42px !important;

        object-fit: contain !important;
    }

    /*
     * Nuove proporzioni barra:
     *
     * Cosa cerchi?          40%
     * Tutte le categorie    25%
     * Località              23%
     * Cerca                 12%
     */
    header .sasaco-header-search
    .sasaco-search-form {
        grid-template-columns:
            minmax(245px, 40fr)
            minmax(205px, 25fr)
            minmax(220px, 23fr)
            minmax(92px, 12fr) !important;
    }

    /*
     * Campo ricerca più comodo.
     */
    header .sasaco-header-search
    .sasaco-search-query input {
        padding-right: 22px !important;
        padding-left: 44px !important;
    }

    /*
     * Campo categoria più largo e testo leggibile.
     */
    header .sasaco-header-search
    .sasaco-search-category {
        min-width: 0 !important;
        padding-right: 8px !important;
    }

    header .sasaco-header-search
    .sasaco-search-category
    button,
    header .sasaco-header-search
    .sasaco-search-category
    [role="button"],
    header .sasaco-header-search
    .sasaco-search-category
    input {
        width: 100% !important;
        min-width: 0 !important;
    }

    header .sasaco-header-search
    .sasaco-search-category
    span,
    header .sasaco-header-search
    .sasaco-search-category
    strong,
    header .sasaco-header-search
    .sasaco-search-category
    .text,
    header .sasaco-header-search
    .sasaco-search-category
    .label {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /*
     * Campo località ancora leggibile, ma più compatto.
     */
    header .sasaco-header-search
    .sasaco-search-location
    .sasaco-geo-v2:not(.has-selection)
    .sasaco-geo-v2-input {
        padding-right: 32px !important;
        padding-left: 40px !important;
    }

    /*
     * Riduce lo spazio vuoto tra Cerca e Inserisci annuncio.
     */
    header .sasaco-header-main {
        gap: 12px !important;
    }

    header .sasaco-header-main > .right {
        margin-left: 0 !important;
    }
}

/*
 * Desktop medi.
 */
@media screen and (min-width: 768px) and (max-width: 1180px) {

    header .sasaco-header-main > .left {
        flex-basis: 155px !important;
        width: 155px !important;
        min-width: 155px !important;
    }

    header .sasaco-header-main .logo {
        width: 155px !important;
        min-width: 155px !important;
    }

    header .sasaco-header-main .logo img {
        max-width: 138px !important;
        max-height: 39px !important;
    }

    header .sasaco-header-search
    .sasaco-search-form {
        grid-template-columns:
            minmax(205px, 38fr)
            minmax(175px, 25fr)
            minmax(195px, 25fr)
            minmax(82px, 12fr) !important;
    }
}
