.lo-distributors {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    margin-top: 15px;
    color: #3B444D;
    font-size: 18px;
    font-weight: 400;
    font-family: 'League Spartan', sans-serif;
    position: relative;
    background: #F7F4F1;
}

.lo-distributors__headerImg {
    width: 100%;
    margin-block-end: 45px;
}

.lo-distributors__sectionTitle {
    font-size: 36px;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 45px;

    @media screen and (max-width: 768px) {
        font-size: clamp(1.625rem, 1.1786rem + 2.2321vw, 2.25rem);
        margin-block-end: clamp(1.875rem, 1.2054rem + 3.3482vw, 2.8125rem);
    }
}

.lo-distributors__main {
    width: calc(100% - 50px);
    margin-inline: auto;
    padding-block-end: 35px;

    @media screen and (max-width: 425px) {
        width: calc(100% - 30px);
    }
}

.lo-distributors__searchWrapper {
    width: 100%;
    margin-inline: auto;
    display: grid;
    grid-template-columns: min(40%, 440px) 1fr;
    gap: 20px;
    margin-block-end: 45px;
    min-height: 480px;

    @media screen and (max-width: 768px) {
        grid-template-columns: 1fr;
    }
}

.lo-distributors__searchForm {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 25px;
    padding-inline: 5px;
}

.lo-distributors__searchFormBody {
    padding-block-start: 8px;
}

.lo-distributors__searchFormContent {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin-block: 0 25px;

    @media screen and (max-width: 768px) {
        font-size: clamp(0.875rem, 0.7857rem + 0.4464vw, 1rem);
    }
}

.lo-distributors__searchFormContent--highlighted {
    font-size: 24px;
    font-weight: 600;

    @media screen and (max-width: 768px) {
        font-size: clamp(1.375rem, 1.2857rem + 0.4464vw, 1.5rem);
    }
}

.lo-distributors__searchFormWrapper {
    width: 100%;
}

.lo-distributors__searchInputWrapper {
    width: 100%;
    border: 1px solid #3B444D;
    border-radius: 25px;
    padding: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: relative;
}

.lo-distributors__inputWrapper {
    width: 100%;
    margin-inline-start: 5px;
    flex: 1 1 auto;
    position: relative;
}

.lo-distributors__searchInput {
    width: 100%;
    padding: 5px;
    border: none;
    background: transparent;
    font-size: 13px;
    z-index: 2;
    position: relative;
}

.lo-distributors__searchInput:focus {
    outline: none;
}

.lo-distributors__searchInput.error {
    border-color: red;
}

.lo-distributors__placeholderName {
    position: absolute;
    left: 10px;
    font-size: 13px;
    font-weight: 400;
    color: #989FAC;
    z-index: 1;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    max-width: 237px;
    padding: 3px;
    background: #F7F4F1;
    transform: translateY(-50%);
    top: 50%;
    transition: all 350ms ease-in
}

.lo-distributors__searchInput:focus+.lo-distributors__placeholderName,
.lo-distributors__searchInput:valid+.lo-distributors__placeholderName {
    max-width: fit-content;
    top: 0;
    transform: translateY(-23px);
}

.lo-distributors__errorMessage {
    font-size: 0.8em;
    margin-top: 5px;
    left: 0;
    bottom: -35px;
    padding-inline-start: 10px;
}

.lo-distributors__button {
    appearance: none;
    width: fit-content;
    font-family: 'League Spartan', sans-serif;
    cursor: pointer;
    line-height: 1;
}

.lo-distributors__searchBtn {
    background: #F1952A;
    border: 1px solid #F1952A;
    border-radius: 21px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    padding: 11px 13px 8px;
    transition: all 350ms ease-in;

    @media screen and (max-width: 768px) {
        font-size: clamp(0.875rem, 0.7857rem + 0.4464vw, 1rem);
    }
}

#lo_distributors .lo-distributors__searchBtn:focus {
    outline: none;
}

.lo-distributors__searchBtn:hover {
    color: #F1952A;
    background: #fff;
}

.lo-distributors__localizationWrapper {
    padding-block-start: 15px;
}

.lo-distributors__localizationTxt {
    margin-inline-end: 10px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
}

.lo-distributors__searchMap {
    border-radius: 36px;
    box-shadow: 4px 6px 16px 0px #57422B33;

    @media screen and (max-width: 768px) {
        min-height: 400px;
    }
}

.lo-distributors__markerInfo * {
    margin: 0 0 8px 0;
    line-height: 1;
}

#lo_distributors .lo-distributors__markerInfo h3 {
    font-size: 16px;
}

#lo_distributors .lo-distributors__markerInfo p {
    font-size: 13px;
}

.lo-distributors__shopListWrapper {
    width: 100%;
    margin-inline: auto;
}

#lo_distributors .lo-distributors__shopList {
    list-style: none;
    padding: 0;
    gap: 20px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
}

.lo-distributors-listItem {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    background: #FFFFFF;
    border-radius: 30px;
    padding: 25px 14px;
    position: relative;
    z-index: 1;
}

.lo-distributors-listItem__marker {
    flex: 0 0 50px;
    align-self: flex-end;
}

.lo-distributors-listItem__markerImg {
    width: min(100%, 38px);
}

.lo-distributors-listItem__body {
    flex: 1 1 auto;
    text-align: center;
    align-self: flex-end;
    position: relative;
}

.lo-distributors-listItem__titleWrapper {
    flex: 0 0 100%;
}

.lo-distributors-listItem__title {
    font-size: 22px;
    line-height: 1;
    font-weight: 600;
    margin: 0;
    text-transform: uppercase;
    text-align: center;

    @media screen and (max-width: 768px) {
        font-size: clamp(1.1875rem, 1.0536rem + 0.6696vw, 1.375rem);
    }
}

.lo-distributors-listItem__city,
.lo-distributors-listItem__street {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 600;
    margin: 0;
    /* position: relative; */
    width: calc(100% - 45px);
    display: block;
    margin-inline: auto;

    @media screen and (max-width: 768px) {
        font-size: clamp(1.0625rem, 0.9286rem + 0.6696vw, 1.25rem);
    }
}

.lo-distributors-listItem__street::before {
    content: "";
    background: url("/img/cms/distributors/marker_desktop.png");
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    width: 35px;
    height: 45px;
    position: absolute;
    left: -4px;
    bottom: 50%;
    transform: translateY(50%);
}

@media screen and (max-width: 646px) {
    .lo-distributors-listItem__street::before {
        left: -6px;
    }
}

.lo-distributors-listItem__btnWrapper {
    flex: 0 0 100%;

}

@keyframes showMoreInfo {
    0% {
        display: none;
    }

    1% {
        display: block;
        max-height: 0;
    }

    100% {
        max-height: 500px;
    }
}


.lo-distributors-listItem__moreInfo {
    display: none;
    background: #fff;
    position: relative;
    transition: all 350ms ease-in;

    @media screen and (max-width: 646px) {
        display: none;
        max-height: 0;
        overflow: hidden;
        transition: none;
        flex: 0 0 100%;
        animation-name: showMoreInfo;
        animation-duration: 350ms;
        animation-timing-function: linear;
        animation-fill-mode: forwards;
        animation-iteration-count: 1;
        animation-play-state: paused;
    }
}

.lo-distributors-listItem__moreInfo.active {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    z-index: 2;
    background: #fff;
    scale: 1.05;
    transform: translateY(9px);
    border-radius: 30px;
    padding: 25px 14px;
    box-shadow: 4px 6px 16px 0px #57422B33;


    @media screen and (max-width: 646px) {
        position: relative;
        scale: none;
        width: 100%;
        max-height: 500px;
        transform: translateY(0);
        padding: 0;
        box-shadow: none;
        animation-play-state: running;
    }
}

.lo-distributors-listItem__moreInfoBtn {
    border: none;
    background: none;
    padding: 5px 10px;
    color: #F1952A;
    font-size: 13px;
    font-weight: 400;
    margin-inline: auto;
    display: block;
    transition: color 350ms ease-in;
}

.lo-distributors-listItem__moreInfoBtn:hover {
    color: #ce740d
}

.lo-distributors-listItem__moreInfo .lo-distributors-listItem__title,
.lo-distributors-listItem__moreInfo.active .lo-distributors-listItem__title {
    margin-block-end: 18px;

    @media screen and (max-width: 646px) {
        display: none;
    }
}

.lo-distributors-listItem__moreInfo .lo-distributors-listItem__body,
.lo-distributors-listItem__moreInfo.active .lo-distributors-listItem__body {
    margin: 0 0 18px;

    @media screen and (max-width: 646px) {
        display: none;
    }
}

.lo-distributors-listItem__phone {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    margin: 0 0 18px;
}

.lo-distributors-listItem__website {
    text-align: center;
    margin: 0 0 25px;
    overflow: hidden;
}

.lo-distributors-listItem__link {
    text-decoration: none;
    color: #3B444D;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    transition: all 350ms ease-in;
}

.lo-distributors-listItem__link:hover {
    opacity: 0.8;
}

.lo-distributors-listItem__hoursTitle {
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    margin: 0 0 18px;
}

.lo-distributors-listItem__hoursWrapper {
    display: flex;
    justify-content: center;
}

#lo_distributors .lo-distributors-listItem__opening-hours {
    margin-top: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.lo-distributors-listItem__hoursItem {
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    margin-block-end: 8px;
}

.lo-distributors-listItem__moreInfoCloseBtn {
    position: absolute;
    top: 10px;
    right: 15px;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;

    @media screen and (max-width: 646px) {
        display: none;
    }
}

.lo-distributors-listItem__moreInfoCloseBtn:hover {
    opacity: 0.8;
}

.lo-distributors-listItem__closeBtnImg {
    width: 20px;
    aspect-ratio: 1/1;
}

.lo-distributors__noResultInfo {
    text-align: center;
    font-size: 19px;
    font-weight: 400;

    @media screen and (max-width: 646px) {
        font-size: 16px;
    }
}