.page-container{display:flex}
h2{margin:0}
h1 {font-size: 2em; margin-bottom: 24px;color: #004d40;}
.search-bar {display: flex;align-items: center;background: #f1f1f1;border-radius: 24px;padding: 4px 16px;margin-bottom: 32px;max-width: 400px;box-shadow: 0 2px 8px #0001;}
.search-bar input[type="search"] {border: none;background: transparent;outline: none;font-size: 1.1em;padding: 8px 8px;width: 100%;}

.artist-card {width:150px;text-align:center;}
.artist-card img {width: 90px;height: 90px;border-radius: 50%;object-fit: cover;margin-bottom: 14px;border: 2px solid #e0f2f1;background: #f1f1f1;}
.artist-card .name {font-weight: bold;font-size: 1.15em;color: #00796b;margin-bottom: 6px;text-align: center;}

.artist-tag{    margin-bottom: 5px;width:fit-content}
.artist-img{width: 150px;height:150px;border-radius: 50%;object-fit: cover;object-position: center;margin-bottom: 1rem;background: #f1f1f1;box-shadow: 0 2px 8px rgba(0,0,0,0.04);} 
.artist-img:hover {box-shadow: 0 8px 16px #0002;}


.search-section{display:inline-block;text-align: center;margin-top:0px !important;}
.cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; }

.museum-card { width:200px; background: #fff; border-radius: 10px; border: 1px solid #ececec; box-shadow: 0 2px 8px rgba(0,0,0,0.03); display: flex; /*flex-direction: column*/; /*align-items: center*/; padding: 1rem 1rem 1.3rem; transition: box-shadow 0.2s, border-color 0.2s; }
.museum-img-container { margin-right:10px;  height: 100px; width: 150px;}
.museum-img { width:100%; height:100%; max-width: 220px; object-fit: cover; background: #f1f1f1; border-radius: 7px; margin-bottom: 1rem; }
.museum-card-meta{ font-size: 0.95rem; color: #888;}
.museum-card-title { font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 700; margin-bottom: 0.2rem; color: #222;}
.museum-card-title::first-letter {text-transform: uppercase;}

.leaflet-popup-content-wrapper{border-radius: 6px !important;}
.leaflet-popup-content{margin:3px}
.map-menu{background: white;position: absolute;margin-top: 5px;padding: 5px;margin-left: 5px;z-index: 1000;border-radius: 5px;font-size:12px;box-shadow: 0 2px 8px #0001;}

.selected-artists{display: block;margin-left: auto;align-content: center;align-items: center;}

.serch-input-map {width: 75%;font-size: 14px;padding: 10px;border: 1.5px solid #c3c3c3;border-radius: 10px;outline: none;box-shadow: 0 2px 8px rgba(0,0,0,0.06);transition: border-color 0.2s;background: #fff;margin:5px;}

.map{width:100%;height:500px;border-radius:10px;box-shadow:0 2px 8px #0001;}

.btn-refresh-map {padding: 10px;border-radius: 15px;background-color: #008062;border:none;color: #fff;font-weight: bold;cursor: pointer;transition: background 0.2s;height:40px;margin-top:10px;}
.btn-refresh-map:hover {background-color: #0056b3;}

.second-line{display:flex;}

.popup_container{width:300px;height:fit-content;}
.popup-artwork{overflow-y: auto; max-height: 400px;width:300px}
.popup-artwork-container{display: flex;margin-bottom: 5px;padding: 5px;background: #f1f1f1;border-radius: 5px;}
.popup-artwork-imgContainer{height: 100px;width: 200px;padding: 5px;background: #fff;border-radius: 5px;}
.popup-img-artwork{height: 100%;  width: 100%;object-fit: cover;}
.popup-artwork-artworkName{font-weight:bold}
.popup-artwork-info{background:#f1f2f3;margin-left:5px;width: 100%;}
.popup-artwork-link {text-align: center; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px;background-color: #000;border: none;color: #fff !important;cursor: pointer;transition: background 0.2s;height: 25px;min-width: 100px;margin-top:10px}
.popup-artwork-titre{font-size: 20px;font-weight: bold;color: #000;margin-bottom: 10px;text-align: center;}
.popup-artwork-titre::first-letter {text-transform: uppercase;}

.popup-museum-link {    /* text-align: center; */
    text-decoration: none;
    display: inline-flex;
    place-self: anchor-center;
    justify-content: center;
    border-radius: 6px;
    border: none;
    color: #fff !important;
    cursor: pointer;
    transition: background 0.2s;
    height: 100%;
    width: fit-content;
    margin: 10px;}
.popup-museum-name-container{justify-content: center;display: flex;margin: auto;width: 100%;color:#000}
.popup-museum-name-container h2::first-letter{text-transform: uppercase;}
.popup-museum-img-container { height: 100px; width: 150px;}
.popup-overlay {
  display:flex;
  justify-content: space-between;
  bottom: 0;
  position: absolute;
  background: #fff;
  width: 100%;
  opacity: 0.85;
  min-height: 50px;
}
.popup-museum-container{position:relative}
.popup-museum-img { width: 300px;
    height: 200px;
    object-fit: cover;
      border-radius: 5px; }

.switch-container{display: flex;justify-content: center;gap: 5px;}
.switchItem:hover{border-radius: 10px;padding:10px;background: #b8b8b8;}
.switchItem{cursor:pointer;border-radius: 10px;padding:10px;background: #f1f2f3;}
.switchItem.active{cursor:pointer;border-radius: 10px;padding:10px;background: orange;}

.menu-container{justify-content: center;display: flex;margin: auto;width: 100%;margin-bottom:5px}
.map-menu-filter-label{margin-top: 5px;font-size: 12px;cursor:pointer;}
.map-menu-filter-label:hover{font-weight: bold;}

.custom-zoom-control {position: absolute;right: 10px;top: 10px;z-index: 1000;}
.custom-zoom-control button {display: block;width: 30px;height: 30px;margin: 5px;background-color: white;border: 1px solid #ccc;cursor: pointer;}

.map-artworks .marker-cluster-small {background-color: rgba(136, 71, 71, 1);}
.map-artworks .marker-cluster-small div {background-color: rgba(136, 71, 71, 1);color: white;}
.map-artworks .marker-cluster-medium {background-color: rgba(136, 71, 71, 1);}
.map-artworks .marker-cluster-medium div {background-color: rgba(136, 71, 71, 1);color: white;}
.map-artworks .marker-cluster-large {background-color:rgba(136, 71, 71, 1);}
.map-artworks .marker-cluster-large div {background-color: rgba(136, 71, 71, 1);color: white;}

.map-museums .marker-cluster-small {background-color: #00696B;}
.map-museums .marker-cluster-small div {background-color:  #00696B;color: white;}
.map-museums .marker-cluster-medium {background-color: #00696B;}
.map-museums .marker-cluster-medium div {background-color:  #00696B;color: white;}
.map-museums .marker-cluster-large {background-color:  #00696B;}
.map-museums .marker-cluster-large div {background-color:  #00696B;color: white;}
  
body .leaflet-cluster-spider-leg {stroke: #ff0000 !important;stroke-opacity: 0.7 !important;stroke-width: 1.5 !important;}
.popup-artwork-marker-img{width: 50px; height: 50px; border-radius: 5px;}
.popup-artwork-marker-container{background: white; border-radius: 5px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); width: 60px; height: 60px; display: flex; align-items: center; justify-content: center;}
.popup-artwork-count{position: relative;background:orange;border-radius:50%;width:25px;height:25px;top:12px;justify-content: center;place-items: center;display: flex;}

@media screen and (max-width: 900px) {
  main { padding: 5px; }
  .search-bar { max-width: 100%; }
}


.leaflet-container a.leaflet-popup-close-button{

    position: absolute;
    top: -9px;
    right: -9px;
    padding: 4px;
    border: none;
    text-align: center;
    width: 18px;
    height: 18px;
    font: 16px / 14px Tahoma, Verdana, sans-serif;
    color: #c3c3c3;
    text-decoration: none;
    font-weight: bold;
    background: #000;
    border-radius: 50%;
}

.leaflet-container a {
    color: #000;
}


.popup-museum-container-info{cursor:pointer;margin: 10px;}
.city-info{text-transform: uppercase;}