.trtm-wrapper {

    width:100%;

    font-family:inherit;

}


.trtm-toolbar {

    display:flex;

    gap:10px;

    /*flex-wrap:wrap;*/

    margin-bottom:12px;

}


.trtm-search {

    flex:1 1 300px;

}


.trtm-search input,
.trtm-toolbar select {

    width:100%;

    height:40px;

    padding:8px 12px;

    border:1px solid #ddd;

    border-radius:6px;

    background:#fff;

}


.trtm-toolbar select {

    flex:0 1 210px;

}


#trtm-location {

    height:40px;

    padding:0 16px;

    border:none;

    border-radius:6px;

    background:#222;

    color:#fff;

    cursor:pointer;

}


.trtm-legend {

    display:flex;

    gap:18px;

    flex-wrap:wrap;

    align-items:center;

    margin-bottom:10px;

    font-size:14px;

}


.trtm-dot {

    width:12px;

    height:12px;

    display:inline-block;

    border-radius:50%;

    margin-right:5px;

}


.trtm-dot.hotel {

    background:#1976d2;

}


.trtm-dot.restaurant {

    background:#2e7d32;

}


.trtm-dot.agency {

    background:#ef6c00;

}


.trtm-dot.activity {

    background:#c62828;

}


#trtm-count {

    margin-left:auto;

}


.trtm-layout {

    display:grid;

    grid-template-columns:330px 1fr;

    height:var(--trtm-height);

    border:1px solid #ddd;

    border-radius:8px;

    overflow:hidden;

}


.trtm-list {

    overflow-y:auto;

    padding:10px;

    background:#f7f7f7;

}


.trtm-map {

    width:100%;

    height:100%;

    min-height:450px;

}


.trtm-card {

    display:flex;

    gap:10px;

    background:#fff;

    padding:10px;

    margin-bottom:10px;

    border:1px solid #e3e3e3;

    border-radius:7px;

    cursor:pointer;

    transition:all .2s;

}


.trtm-card:hover {

    transform:translateY(-1px);

    box-shadow:
        0 4px 15px
        rgba(0,0,0,.10);

}


.trtm-card img {

    width:40%;

    /*height:75px;*/

    object-fit:cover;

    border-radius:5px;

    flex-shrink:0;

}


.trtm-card-content {

    min-width:0;

}


.trtm-card h3 {

    font-size:15px;

    line-height:1.3;

    margin:0 0 5px;

}


.trtm-card p {

    margin:5px 0;

    font-size:12px;

    color:#666;

}


.trtm-badge {

    display:inline-block;

    padding:3px 8px;

    border-radius:20px;

    font-size:11px;

}


.trtm-badge.hebergement {

    background:#e3f2fd;

    color:#1565c0;

}


.trtm-badge.restaurant {

    background:#e8f5e9;

    color:#2e7d32;

}


.trtm-badge.agence {

    background:#fff3e0;

    color:#e65100;

}


.trtm-badge.activite {

    background:#ffebee;

    color:#c62828;

}


.trtm-view {

    display:inline-block;

    margin-top:5px;

    font-size:12px;

    font-weight:600;

    text-decoration:none;

}


.trtm-popup {

    max-width:280px;
	padding :5px;

}


.trtm-popup img {

    width:100%;

    height:130px;

    object-fit:cover;

    border-radius:5px;

}


.trtm-popup h3 {

    margin:8px 0 5px;

}


.trtm-popup p {

    margin:5px 0;

}


.trtm-popup a {

    display:inline-block;

    margin-top:8px;

}


@media(max-width:900px) {

    .trtm-layout {

        grid-template-columns:1fr;

        height:auto;

    }


    .trtm-map {

        height:500px;

        order:1;

    }


    .trtm-list {

        max-height:350px;

        order:2;

    }

}


@media(max-width:600px) {

    .trtm-toolbar {

        display:block;

    }


    .trtm-toolbar > * {

        margin-bottom:8px;

    }


    #trtm-location {

        width:100%;

    }

}