.hpls-switcher,
.hpls-switcher * {
    box-sizing: border-box;
}

.hpls-switcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    z-index: 9998;
    font-family: inherit;
    direction: ltr;
}

.hpls-current,
.hpls-option {
    appearance: none;
    border: 1px solid rgba(0, 0, 0, 0.14);
    background: #fff;
    color: #202124;
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font: inherit;
    line-height: 1.2;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.hpls-current:hover,
.hpls-option:hover,
.hpls-option.is-active {
    border-color: rgba(0, 0, 0, 0.35);
    background: #f7f7f7;
}

.hpls-current:focus-visible,
.hpls-option:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.hpls-flag {
    font-size: 21px;
    line-height: 1;
}

.hpls-chevron {
    font-size: 12px;
    margin-inline-start: 2px;
}

.hpls-options {
    position: absolute;
    top: calc(100% + 7px);
    inset-inline-end: 0;
    min-width: 190px;
    padding: 6px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.14);
}

.hpls-options .hpls-option {
    width: 100%;
    border: 0;
    justify-content: flex-start;
    border-radius: 7px;
    white-space: nowrap;
}

.hpls-inline-options {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}


#hpls-google-translate-element,
.goog-te-banner-frame,
.goog-te-balloon-frame,
.goog-logo-link,
.goog-te-gadget {
    display: none !important;
}

body {
    top: 0 !important;
}

@media (max-width: 782px) {
    .hpls-switcher {
        width: 100%;
    }

    .hpls-current {
        width: 100%;
        justify-content: space-between;
    }

    .hpls-options {
        width: 100%;
        min-width: 180px;
        inset-inline-start: 0;
        inset-inline-end: auto;
    }

    .hpls-inline-options {
        width: 100%;
    }

    .hpls-inline-options .hpls-option {
        flex: 1 1 auto;
    }
}

/* HomePro navigation integration */
.hpls-menu-item {
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hpls-menu-item > .hpls-switcher {
    display: flex !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 100% !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

/* Reset theme button styling so the selector looks like a native menu link. */
.hpls-menu-item button.hpls-current {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-style: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.hpls-menu-item button.hpls-current::before,
.hpls-menu-item button.hpls-current::after {
    display: none !important;
    content: none !important;
}

.hpls-menu-item button.hpls-current:hover,
.hpls-menu-item button.hpls-current:focus,
.hpls-menu-item button.hpls-current[aria-expanded="true"] {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #20a6a6 !important;
}

.hpls-menu-item .hpls-flag {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    height: auto !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

.hpls-menu-item .hpls-current-label {
    display: inline-block !important;
    line-height: inherit !important;
}

.hpls-menu-item .hpls-chevron {
    display: inline-block !important;
    margin: 0 0 0 1px !important;
    font-size: 8px !important;
    line-height: 1 !important;
    opacity: .85 !important;
    transform: translateY(1px);
}

.hpls-menu-item .hpls-options {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    z-index: 100000 !important;
    display: block;
    width: 220px !important;
    min-width: 220px !important;
    margin: 0 !important;
    padding: 7px !important;
    border: 1px solid rgba(22, 151, 153, .18) !important;
    border-radius: 0 0 8px 8px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18) !important;
}

.hpls-menu-item .hpls-options[hidden] {
    display: none !important;
}

.hpls-menu-item .hpls-options button.hpls-option {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #292929 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.hpls-menu-item .hpls-options button.hpls-option:hover,
.hpls-menu-item .hpls-options button.hpls-option:focus,
.hpls-menu-item .hpls-options button.hpls-option.is-active {
    border: 0 !important;
    background: rgba(22, 151, 153, .09) !important;
    box-shadow: none !important;
    color: #168f91 !important;
}


/* Desktop HomePro navigation integration.
   JavaScript measures the adjacent native menu link and centers this control
   against it, avoiding theme-specific fixed pixel offsets. */
@media (min-width: 992px) {
    .hpls-menu-item {
        align-self: stretch !important;
        margin-inline-end: 4px !important;
        color: var(--hpls-menu-color, inherit) !important;
    }

    .hpls-menu-item > .hpls-switcher {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 100% !important;
        min-height: 100% !important;
        color: var(--hpls-menu-color, inherit) !important;
    }

    .hpls-menu-item button.hpls-current {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 10px !important;
        color: var(--hpls-menu-color, inherit) !important;
        font-family: inherit !important;
        font-size: inherit !important;
        font-weight: inherit !important;
        line-height: 1 !important;
        text-shadow: inherit !important;
        transform: translateY(var(--hpls-desktop-align, 0px)) !important;
        will-change: transform;
    }

    .hpls-menu-item button.hpls-current:hover,
    .hpls-menu-item button.hpls-current:focus,
    .hpls-menu-item button.hpls-current[aria-expanded="true"] {
        color: #20a6a6 !important;
    }

    .hpls-menu-item .hpls-flag,
    .hpls-menu-item .hpls-current-label,
    .hpls-menu-item .hpls-chevron {
        display: inline-flex !important;
        align-items: center !important;
        color: inherit !important;
        line-height: 1 !important;
        vertical-align: middle !important;
    }

    .hpls-menu-item .hpls-chevron {
        transform: none !important;
    }
}

/* HomePro collapses its navigation on tablet/mobile. Keep the language item native there too. */
@media (max-width: 991px) {
    .hpls-menu-item {
        display: block !important;
        width: 100% !important;
        border-top: 1px solid rgba(0, 0, 0, .06) !important;
    }

    .hpls-menu-item > .hpls-switcher {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
    }

    .hpls-menu-item button.hpls-current {
        display: flex !important;
        justify-content: flex-start !important;
        width: 100% !important;
        min-height: 64px !important;
        padding: 0 16px !important;
        color: #292929 !important;
        text-align: left !important;
    }

    .hpls-menu-item button.hpls-current:hover,
    .hpls-menu-item button.hpls-current:focus,
    .hpls-menu-item button.hpls-current[aria-expanded="true"] {
        background: rgba(22, 151, 153, .06) !important;
        color: #168f91 !important;
    }

    .hpls-menu-item .hpls-current-label {
        flex: 1 1 auto !important;
    }

    .hpls-menu-item .hpls-chevron {
        margin-left: auto !important;
        font-size: 9px !important;
    }

    .hpls-menu-item .hpls-options {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 16px 10px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .hpls-menu-item .hpls-options button.hpls-option {
        min-height: 50px !important;
        padding: 8px 12px !important;
        border-top: 1px solid rgba(0, 0, 0, .06) !important;
        border-radius: 0 !important;
        font-size: inherit !important;
    }
}

/* v1.0.4: Desktop-only spacing correction.
   The theme renders menu items in reverse float order, so the language item
   remains visually before Home while sharing the same compact menu spacing. */
@media (min-width: 992px) {
    .hpls-menu-item {
        margin: 0 !important;
        padding: 0 !important;
    }

    .hpls-menu-item button.hpls-current {
        padding-right: 8px !important;
        padding-left: 8px !important;
    }

    /* Remove the theme's extra outer gap from the first regular menu item
       when the language selector is present in the same navigation list. */
    ul:has(> .hpls-menu-item) > li:first-child {
        margin-left: 0 !important;
        margin-inline-start: 0 !important;
    }

    /* Fallback for common HomePro menu containers and older layout rules. */
    .main-menu .hpls-menu-item,
    .primary-menu .hpls-menu-item,
    .menu-primary-container .hpls-menu-item,
    #primary-menu .hpls-menu-item,
    #menu-primary-menu .hpls-menu-item {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}


/* v1.0.9: Refined desktop-only vertical alignment.
   Lower the complete visible trigger by 6px to match the Home menu baseline.
   Tablet and mobile remain unchanged. */
@media (min-width: 992px) {
    .hpls-menu-item button.hpls-current {
        position: relative !important;
        top: 6px !important;
    }
}
