.tocco-explore-wrap{
    width:100%;
    box-sizing:border-box;
    font-family:inherit;
}

.tocco-layout{
    display:flex;
    gap:32px;
    align-items:flex-start;
}

.tocco-filters{
    margin-bottom:28px;
    padding:22px 24px;
    background:#ffffff;
    border-radius:16px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.tocco-filters input[type="text"]{
    width:100%;
    padding:14px 18px 14px 44px;
    border-radius:999px;
    border:1px solid #dcdcdc;
    margin-bottom:22px;
    font-size:14px;
    background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='7'/%3E%3Cline x1='13' y1='13' x2='17' y2='17'/%3E%3C/svg%3E") no-repeat 16px center;
    transition:border-color .2s, box-shadow .2s, background .2s;
}

.tocco-filters input[type="text"]::placeholder{
    color:#999;
}

.tocco-filters input[type="text"]:focus{
    outline:none;
    background:#ffffff;
    border-color:#6d7c37;
    box-shadow:0 0 0 4px rgba(109,124,55,.18);
}

.tocco-inline{
    margin-bottom:18px;
}

.tocco-inline strong{
    display:block;
    margin-bottom:10px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#444;
}

.tocco-inline-options{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.tocco-inline-options label{
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    border-radius:999px;
    font-size:13px;
    cursor:pointer;
    background:#f4f4f4;
    border:1px solid #e1e1e1;
    transition:background .2s, border-color .2s, color .2s;
}

.tocco-inline-options label:hover{
    background:#ededed;
}

.tocco-inline-options input[type="checkbox"]{
    appearance:none;
    width:14px;
    height:14px;
    border-radius:4px;
    border:1.5px solid #999;
    position:relative;
    cursor:pointer;
    background:#fff;
}

.tocco-inline-options input[type="checkbox"]:checked{
    background:#6d7c37;
    border-color:#6d7c37;
}

.tocco-inline-options input[type="checkbox"]:checked::after{
    content:'';
    position:absolute;
    top:2px;
    left:4px;
    width:4px;
    height:7px;
    border:solid #fff;
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
}

.tocco-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:13px;
    margin-top:6px;
}

#tocco-reset{
    background:#f1f1f1;
    border:none;
    padding:8px 14px;
    border-radius:10px;
    cursor:pointer;
    font-size:13px;
}

#tocco-reset:hover{
    background:#e4e4e4;
}

.tocco-results{
    width:60%;
}

.tocco-map{
    width:40%;
    position:sticky;
    top:120px;
}

#tocco-map{
    width:100%;
    height:95vh;
    min-height:720px;
    border-radius:20px;
    overflow:hidden;
}

#tocco-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

.tocco-card{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    position:relative;
    cursor:pointer;
    opacity:0;
    transform:translateY(18px);
    animation:toccoFade .45s ease forwards;
    transition:transform .28s ease, box-shadow .28s ease;
    box-shadow:0 8px 22px rgba(0,0,0,.14);
}

@keyframes toccoFade{
    to{ opacity:1; transform:translateY(0); }
}

.tocco-card:hover{
    transform:translateY(-2px) scale(1.02);
    box-shadow:0 26px 55px rgba(0,0,0,.28);
}

.tocco-card.is-active{
    outline:3px solid #6d7c37;
    z-index:3;
}

.tocco-card img{
    width:100%;
    height:540px;
    object-fit:cover;
    transition:transform .4s ease;
}

.tocco-card:hover img{
    transform:scale(1.05);
}

.tocco-like{
    position:absolute;
    top:12px;
    right:12px;
    background:rgba(255,255,255,0.95);
    padding:6px 10px;
    border-radius:14px;
    font-size:13px;
    cursor:pointer;
    box-shadow:0 2px 6px rgba(0,0,0,.25);
    z-index:6;
    transition:.25s;
}

.tocco-like:hover{
    transform:scale(1.1);
}

.tocco-like.liked{
    background:#e60023;
    color:#fff;
}

.tocco-card h3{
    font-size:16px;
    margin:14px 16px 6px;
    line-height:1.25;
}

.tocco-address{
    font-size:12.5px;
    color:#666;
    margin:0 16px 16px;
    font-style:italic;
}

#tocco-load-more{
    margin:42px auto 0;
    display:block;
    padding:12px 24px;
    background:#6d7c37;
    color:white;
    border:none;
    border-radius:12px;
    cursor:pointer;
    font-weight:bold;
    letter-spacing:.02em;
}

#tocco-load-more:hover{
    background:#164205;
}

@media(max-width:1100px){
    .tocco-layout{
        flex-direction:column;
    }
    .tocco-results,
    .tocco-map{
        width:100%;
    }
    .tocco-map{
        position:relative;
        top:auto;
    }
    #tocco-map{
        height:420px;
        min-height:420px;
    }
}

@media(max-width:700px){
    #tocco-grid{
        grid-template-columns:1fr 1fr;
        gap:14px;
    }
    .tocco-card img{
        height:220px;
    }
}

.leaflet-popup-content-wrapper{
    background:#ffffff;
    border-radius:14px;
    padding:12px 14px;
    box-shadow:0 18px 40px rgba(0,0,0,.35);
}

.leaflet-popup-content{
    margin:0;
    font-size:13px;
    line-height:1.35;
    color:#222;
    text-align:left;
    min-width:200px;
}

.leaflet-popup-content strong{
    display:block;
    font-size:14px;
    margin-bottom:4px;
}

.leaflet-popup-tip-container{
    width:20px;
    height:28px;
    margin-left:-10px;
}

.leaflet-popup-tip{
    width:14px;
    height:14px;
    background:#ffffff;
    transform:rotate(45deg) translate(4px,4px);
    box-shadow:0 18px 40px rgba(0,0,0,.35);
}

.leaflet-container a.leaflet-popup-close-button{
    top:6px;
    right:6px;
    color:#999;
}

.leaflet-container a.leaflet-popup-close-button:hover{
    color:#000;
}
.tocco-card h3{
    display:flex;
    align-items:center;
    gap:6px;
}

.tocco-title-flag img,
.tocco-flag{
    width:16px;
    height:12px;
    flex-shrink:0;
    object-fit:contain;
    border-radius:2px;
}

.tocco-meta-icons {
    margin: 6px 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13px;
    color: #444;
}

.tocco-meta-icons .fa-tag,
.tocco-meta-icons .fa-layer-group {
    margin-right: 4px;
    color: #6d7c37;
}
.tocco-contributor {
    margin: 0 16px 14px;
    display: inline-block;
    font-size: 12px;
    background: #f5f5f5;
    color: #444;
    padding: 6px 10px;
    border-radius: 12px;
    font-weight: normal;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

.tocco-contributor strong {
    font-weight: 600;
    color: #222;
}


/* Champ ville – aligné gauche
   modifié le 2026-01-03 – fait par Nathaniel YDU */
.tocco-filters #tocco-ville.ui-autocomplete-input{
    width:40% !important;
    max-width:none !important;
    margin:0 0 24px 0 !important;
    display:block !important;
    padding:14px 18px !important;
    font-size:16px !important;
    border-radius:12px !important;
    border:1px solid #ccc !important;
    text-align:left !important;
    box-shadow:0 4px 12px rgba(0,0,0,.08) !important;
    background:#fff !important;
}

.tocco-filters #tocco-ville.ui-autocomplete-input:focus{
    outline:none !important;
    border-color:#111 !important;
    box-shadow:0 6px 18px rgba(0,0,0,.14) !important;
}

/* Drapeau pays – taille fixe
   modifié le 2026-01-03 – fait par Nathaniel YDU */
.tocco-card h3 .tocco-flag{
    width:20px;
    height:auto;
    display:inline-block;
    vertical-align:middle;
    margin-right:6px;
}

/* Marker pulse
   modifié le 2026-01-03 – fait par Nathaniel YDU */
.tocco-marker-pulse span{
    display:block;
    width:20px;
    height:20px;
    background:#e63946;
    border-radius:50%;
    box-shadow:0 0 0 rgba(230,57,70,.6);
    animation:pulse 1.5s infinite;
}

@keyframes pulse{
    0%{ box-shadow:0 0 0 0 rgba(230,57,70,.6); }
    70%{ box-shadow:0 0 0 15px rgba(230,57,70,0); }
    100%{ box-shadow:0 0 0 0 rgba(230,57,70,0); }
}

.tocco-edit-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    background: rgba(0,0,0,0.7);
    color: #fff;
    padding: 6px 7px;
    border-radius: 6px;
    font-size: 13px;
    z-index: 5;
}

.tocco-edit-btn:hover {
    background: #000;
}
