 .cursor-click-animation-wrapper {
     display: flex;
     justify-content: center;
     align-items: center;
     width: 100%;
     height: 100%;
     text-align: center;
     position: relative;
 }

 .cursor-click-animation {
     position: relative;
     left: -5px;
 }

 .cursor-click-animation {
     position: relative;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     min-height: 250px;
     color: #014751;
     font-size: 1.2rem;
     font-weight: 500;
     user-select: none;
 }


 .map-dropdown-wrapper {
     position: relative;
     display: inline-block;
 }

 .map-dropdown-wrapper select.form-select {
     -webkit-appearance: none;
     -moz-appearance: none;
     appearance: none;
     padding-right: 2rem;
     background-image: url("data:image/svg+xml;charset=US-ASCII,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-caret-down-fill' viewBox='0 0 16 16'><path d='M7.247 11.14 2.451 5.658c-.566-.635.05-1.658.808-1.658h10.482c.757 0 1.374 1.023.808 1.658l-4.796 5.482a1 1 0 0 1-1.616 0z'/></svg>");
     background-repeat: no-repeat;
     background-position: right 0.75rem center;
     background-size: 1rem 1rem;
 }

 .cursor-shape {
     position: relative;
     width: 60px;
     height: 80px;
     transform: rotate(-15deg);
     transform-origin: top left;
     animation: cursor-click 2.5s ease-in-out infinite;
 }

 .cursor-tip {
     position: absolute;
     top: 0;
     left: 0;
     width: 0;
     height: 0;
     border-left: 20px solid transparent;
     border-right: 10px solid transparent;
     border-bottom: 30px solid #009E7E;
 }

 .cursor-tail {
     position: absolute;
     top: 15px;
     left: 10px;
     width: 6px;
     height: 30px;
     background-color: #009E7E;
     border-radius: 3px;
     transform: rotate(15deg);
 }

 .cursor-pulse {
     position: absolute;
     left: 28px;
     width: 10px;
     height: 10px;
     background: rgba(81, 105, 101, 0.35);
     border-radius: 50%;
     transform: scale(0);
     animation: cursor-pulse 2.5s ease-in-out infinite;
 }

 .click-text {
     animation: text-blink 3s ease-in-out infinite;
 }

 @keyframes cursor-click {

     0%,
     100% {
         transform: rotate(-15deg) translate(0, 0);
     }

     40% {
         transform: rotate(-10deg) translate(4px, 6px);
     }

     50% {
         transform: rotate(-15deg) translate(0, 0);
     }
 }

 @keyframes cursor-pulse {

     0%,
     100% {
         transform: scale(0);
         opacity: 0;
     }

     45% {
         transform: scale(2.5);
         opacity: 0.4;
     }
 }

 @keyframes text-blink {

     0%,
     100% {
         opacity: 1;
     }

     50% {
         opacity: 0.7;
     }
 }

 .map-description {
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .map-content-wrapper {
     max-height: 500px;
     overflow-y: auto;
     padding-right: 5px;
     background: #f9f9f9;
     border-radius: 8px;
     padding: 0.75rem;
 }

 .map-content-item {
     transition: all 0.25s;
     background: linear-gradient(135deg, #ffffff, #f0f9f9);
     border: 1px solid #d1e6e2;
     border-radius: 10px;
     padding: 0.75rem 1rem;
     margin-bottom: 0.75rem;
     display: flex;
     align-items: center;
 }

 .map-content-item:hover {
     transform: translateY(-3px);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
     border-color: #00B798;
     cursor: pointer;
 }

 .map-content-text {
     flex-grow: 1;
     min-width: 0;
 }


 .map-content-thumb {
     width: 70px;
     height: 70px;
     object-fit: cover;
     border-radius: 6px;
     flex-shrink: 0;
     margin-right: 1rem;
 }

 .map-content-title {
     margin-top: 0 !important;
     font-size: 1.5rem;
     font-weight: 700;
     color: #014751;
     margin-bottom: 0.25rem;
     overflow: hidden;
     text-overflow: ellipsis;
     white-space: nowrap;
 }

 .map-content-desc {
     font-size: 1rem;
     color: #555;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
     text-overflow: ellipsis;
 }



 .text-truncate {
     overflow: hidden;
     white-space: nowrap;
     text-overflow: ellipsis;
 }

 .map-content-wrapper::-webkit-scrollbar {
     width: 6px;
 }

 .map-content-wrapper::-webkit-scrollbar-thumb {
     background-color: rgba(0, 183, 152, 0.6);
     border-radius: 3px;
 }

 .map-content-pagination .pagination {
     margin: 0;
 }

 .map-content-pagination .page-link {
     color: #014751;
 }

 .map-content-pagination .page-link:hover {
     color: #00B798;
     background-color: #e0faf5;
     border-color: #00B798;
 }

 .map-content-pagination .page-item.active .page-link {
     background-color: #00B798;
     border-color: #00B798;
     color: #fff;
 }

 .map-content-wrapper-empty {
     color: #888;
     font-style: italic;
 }

 .mapexplorer-tooltip {
     position: fixed;
     background: rgba(0, 0, 0, 0.85);
     color: white;
     padding: 6px 12px;
     border-radius: 6px;
     font-size: 14px;
     pointer-events: none;
     display: none;
     z-index: 9999;
     white-space: nowrap;
 }

 .form-select {
     font-size: 1.2rem;
     padding: 0.5rem 1.5rem 0.5rem 0.75rem;
     border-radius: 0.5rem;
     border: 2px solid #ced4da;
     background-color: #fff;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
     appearance: none;
     background-repeat: no-repeat;
     background-position: right 0.75rem center;
     background-size: 16px 12px;
     transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
 }

 .form-select:focus {
     border-color: #80bdff;
     outline: 0;
     box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25);
 }