:root {
    --retrogusto-consent-offset: 0px;
}

.retrogusto-old-floating-phone {
    display: none !important;
}

@media (max-width: 782px) {
    :root {
        --retrogusto-edge: 16px;
        --retrogusto-control-size: 54px;
        --retrogusto-control-gap: 10px;
        --retrogusto-bottom:
            max(
                var(--retrogusto-edge),
                env(safe-area-inset-bottom)
            );
    }

    /*
     * Elimina tutte le precedenti copie del telefono.
     */
    #retrogusto-mobile-phone-launcher,
    .retrogusto-native-phone {
        display: none !important;
    }

    /*
     * Unico telefono flottante dedicato.
     */
    #retrogusto-final-phone-launcher {
        position: fixed !important;
        z-index: 100021 !important;

        right: var(--retrogusto-edge) !important;
        bottom:
            calc(
                var(--retrogusto-bottom)
                + var(--retrogusto-consent-offset)
                + var(--retrogusto-control-size)
                + var(--retrogusto-control-gap)
            ) !important;
        left: auto !important;
        top: auto !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: var(--retrogusto-control-size) !important;
        min-width: var(--retrogusto-control-size) !important;
        max-width: var(--retrogusto-control-size) !important;

        height: var(--retrogusto-control-size) !important;
        min-height: var(--retrogusto-control-size) !important;
        max-height: var(--retrogusto-control-size) !important;

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

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

        background: #07983d !important;
        color: #ffffff !important;

        box-shadow:
            0 9px 25px rgba(0, 0, 0, 0.27) !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        transform: none !important;
        text-decoration: none !important;
        contain: layout paint style !important;
    }

    #retrogusto-final-phone-launcher svg {
        display: block !important;

        width: 25px !important;
        height: 25px !important;

        margin: 0 !important;

        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 2.2 !important;
    }

    /*
     * Zenchef in basso a destra.
     */
    #retrogusto-reservation-launcher {
        position: fixed !important;
        z-index: 100022 !important;

        right: var(--retrogusto-edge) !important;
        bottom:
            calc(
                var(--retrogusto-bottom)
                + var(--retrogusto-consent-offset)
            ) !important;
        left: auto !important;
        top: auto !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: var(--retrogusto-control-size) !important;
        min-width: var(--retrogusto-control-size) !important;
        max-width: var(--retrogusto-control-size) !important;

        height: var(--retrogusto-control-size) !important;
        min-height: var(--retrogusto-control-size) !important;
        max-height: var(--retrogusto-control-size) !important;

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

        border-radius: 50% !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        transform: none !important;
        contain: layout paint style !important;
    }

    #retrogusto-reservation-launcher
    .retrogusto-reservation-launcher__label {
        position: absolute !important;

        width: 1px !important;
        height: 1px !important;

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

        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    /*
     * Contenitore privacy reale in basso a sinistra.
     */
    .retrogusto-final-privacy-control,
    #retrogusto-final-privacy-proxy {
        position: fixed !important;
        z-index: 100023 !important;

        right: auto !important;
        bottom: var(--retrogusto-bottom) !important;
        left: var(--retrogusto-edge) !important;
        top: auto !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;

        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;

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

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

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

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

    #retrogusto-final-privacy-proxy {
        background: #ffffff !important;
        color: #704b35 !important;

        box-shadow:
            0 7px 22px rgba(0, 0, 0, 0.20) !important;

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

    /*
     * Posizione effettiva di GTranslate.
     */
    .gt_float_switcher {
        position: fixed !important;
        z-index: 100030 !important;

        top:
            max(
                12px,
                env(safe-area-inset-top)
            ) !important;
        right: 68px !important;
        bottom: auto !important;
        left: auto !important;

        width: auto !important;
        min-width: 104px !important;
        max-width: 118px !important;

        margin: 0 !important;

        transform: none !important;
    }

    .gt_float_switcher .gt-selected {
        padding: 7px 10px !important;
    }

    .gt_float_switcher .gt-selected img {
        width: 28px !important;
        height: auto !important;
        margin-right: 7px !important;
    }

    .gt_float_switcher .gt-selected .gt-current-lang {
        font-size: 16px !important;
    }

    body.admin-bar .gt_float_switcher {
        top: 58px !important;
    }

    #retrogusto-final-phone-launcher:focus-visible,
    #retrogusto-reservation-launcher:focus-visible,
    .retrogusto-final-privacy-control:focus-visible,
    #retrogusto-final-privacy-proxy:focus-visible {
        outline: 3px solid #ffffff !important;
        outline-offset: 3px !important;
    }
}

/* RETROGUSTO_GTRANSLATE_MOBILE_START */

@media (max-width: 782px) {
    /*
     * Contenitore chiuso:
     * una sola riga compatta.
     */
    .gt_float_switcher {
        position: fixed !important;
        z-index: 100030 !important;

        top:
            max(
                14px,
                env(safe-area-inset-top)
            ) !important;
        right: 72px !important;
        bottom: auto !important;
        left: auto !important;

        width: 118px !important;
        min-width: 118px !important;
        max-width: 118px !important;

        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;

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

        overflow: visible !important;
        box-sizing: border-box !important;

        border-radius: 999px !important;
    }

    .gt_float_switcher .gt-selected {
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;

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

        overflow: hidden !important;
        box-sizing: border-box !important;

        border-radius: 999px !important;
    }

    .gt_float_switcher
    .gt-selected
    .gt-current-lang {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;

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

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

        box-sizing: border-box !important;

        font-size: 16px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .gt_float_switcher
    .gt-selected
    img {
        flex: 0 0 auto !important;

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

        margin: 0 !important;

        object-fit: cover !important;
    }

    .gt_float_switcher
    .gt-lang-code {
        flex: 0 0 auto !important;

        margin: 0 !important;

        font-size: 16px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .gt_float_switcher
    .gt_float_switcher-arrow {
        position: static !important;
        flex: 0 0 auto !important;

        margin: 0 0 0 auto !important;
    }

    /*
     * Menu aperto:
     * più largo del pulsante e indipendente
     * dall'altezza del contenitore principale.
     */
    .gt_float_switcher .gt_options {
        position: absolute !important;
        z-index: 100031 !important;

        top: 54px !important;
        right: 0 !important;
        bottom: auto !important;
        left: auto !important;

        width: 190px !important;
        min-width: 190px !important;
        max-width: calc(100vw - 32px) !important;

        height: auto !important;
        min-height: 0 !important;
        max-height:
            min(
                330px,
                calc(100vh - 110px)
            ) !important;

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

        overflow-x: hidden !important;
        overflow-y: auto !important;

        box-sizing: border-box !important;

        background: #ffffff !important;
        border-radius: 16px !important;

        box-shadow:
            0 12px 32px
            rgba(0, 0, 0, 0.24) !important;

        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .gt_float_switcher .gt_options a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;

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

        padding: 8px 12px !important;
        margin: 0 !important;

        box-sizing: border-box !important;

        font-size: 16px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;

        text-align: left !important;
    }

    .gt_float_switcher
    .gt_options
    a img {
        flex: 0 0 auto !important;

        width: 26px !important;
        height: 19px !important;

        margin: 0 !important;

        object-fit: cover !important;
    }

    body.admin-bar .gt_float_switcher {
        top: 58px !important;
    }
}

/* RETROGUSTO_GTRANSLATE_MOBILE_END */

/* RETROGUSTO_HIDE_OLD_PHONE_WRAPPER_START */

@media (max-width: 782px) {
    .retrogusto-old-floating-phone,
    .retrogusto-old-floating-phone-container {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    #retrogusto-final-phone-launcher {
        display: inline-flex !important;
        width: 54px !important;
        height: 54px !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

/* RETROGUSTO_HIDE_OLD_PHONE_WRAPPER_END */

