.ct-shortcode{
    width:100%;
}

.form_search_franchisee{
    position:relative;
    width:100%;
}

.form_search_franchisee input, .form_search_franchisee button {
    padding:15px;
}


.form_search_franchisee .autocomplete-results{
    position:absolute;
    width:100%;
    background-color: white;
    max-height:400px;
    overflow-y:auto;
    z-index:100000;
}

.form_search_franchisee .autocomplete-results div{
    padding:5px;
}
.form_search_franchisee .autocomplete-results div:hover{
    background-color: #e1e1e1;
    cursor: pointer;
}

/* Styles pour l'autocomplétion des codes postaux */
.autocomplete-items {
    position: absolute;
    border: 1px solid #d4d4d4;
    border-top: none;
    z-index: 99;
    top: 100%;
    left: 0;
    right: 0;
    background-color: white;
    max-height: 300px;
    overflow-y: auto;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.autocomplete-items div {
    padding: 10px;
    cursor: pointer;
    background-color: #fff;
    border-bottom: 1px solid #d4d4d4;
}

.autocomplete-items div:hover,
.autocomplete-items div.autocomplete-active {
    background-color: #e9e9e9;
}

.franchisee-item{
    display: flex;
    width:100%;
    background-color: white;
    padding:10px;
    margin-bottom:10px;
    flex-wrap: wrap;
    border:5px solid transparent;
}

.franchisee-item:hover{
    border:5px solid #e1e1e1;
}

.franchisee-item.selected{
    border:5px solid #e1e1e1;
}

.franchisee-item .franchisee-distance{
    text-align: right;
    width:100%;
}

.franchisee-item .franchisee-image-profile{
    width:30%;
    text-align: center;
    padding:5px;
}

.franchisee-item .franchisee-image-profile img{
    height:auto;
    max-width:100%;
    max-height:150px;
}

.franchisee-item .franchisee-information{
    display:flex;
    flex-direction: column;
    gap:10px;
    width:70%;
    padding:10px;
}

.franchisee-item .franchisee-sector{
    display:flex;
    flex-direction: column;
    width:100%;
    padding:10px
}

.franchisee-item .franchisee-information .franchisee-company-label{
    font-weight: bold;
    font-size:1.2rem;
}

.franchisee-item .franchisee-information .franchisee-name{
    font-weight: bold;
}

.franchisee-item .franchisee-information .franchisee-contact-action{
    margin: 10px 0px 10px 0px;
}

.franchisee-item .franchisee-information .franchisee-contact-action a{
    border:1px solid black;
    padding:10px;
    text-align: center;
    width:100%;
    color:black;
    text-decoration: none;
}

.leaflet-popup-content{
    margin: 19px !important;
}

.franchisee-map-info div{
    font-size:16px;
    margin-top:5px;
}

.franchisee-map-info .image{
    text-align: center;
}

.franchisee-map-info .company-label{
    font-size:20px;
    font-weight: bold;
    text-transform: uppercase;
}

@keyframes bounceAnimation {
    0% { top: 0; }
    50% { top: 5px; }
    100% { top: 0; }
}

.bounceMarker {
    animation: bounceAnimation 0.4s ease-in-out infinite;
}

.full-page-loader {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(21, 37, 69, 0.65);
    z-index: 100000;
    text-align: center;
    padding-top: 20%;
}

.full-page-loader img {
    width: 100px;
    height: 100px;
}