/* =====================================================
   PREPARER SA BALADE
===================================================== */

.content-area-balade {
    width: 100%;
}
.content-area-balade h2{
    color: #333;
    font-weight: 300 !important;}
}

.balade-map,
#map {
    width: 100%;
    min-height: 500px;
    margin-bottom: 30px;
    z-index: 1;
}

/* Numbered route markers */
.balade-marker-icon {
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.balade-marker-number {
    display: flex !important;
    box-sizing: border-box !important;
    width: 36px !important;
    height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 3px solid #fff !important;
    border-radius: 50% !important;
    background: #333 !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    text-align: center !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45) !important;
}

.leaflet-container a.leaflet-popup-close-button {
	box-shadow: none;
	text-shadow: none;
	background: #61c4cc;
	padding: 3px 5px;
	border-bottom-left-radius: 5px;
	border-top-right-radius: 5px;
	line-height: 1.4;
	width: initial;
	height: initial;
}

/* Keep the route geometry below the numbered markers. */
.balade-map .leaflet-pane.leaflet-overlay-pane {
    z-index: 400;
}

.route-builder {

    margin-bottom: 30px;
}

.route-field {
    margin-bottom: 20px;
}

.route-field label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}

.route-field select {
    width: 100%;
    max-width: 100%;
    padding: 8px;
}

.route-field select[multiple] {
    min-height: 120px;
}

.route-help {
    margin-top: 0;
    font-size: 0.9em;
    opacity: 0.8;
}

.route-builder button[disabled] {
    cursor: not-allowed;
    opacity: 0.6;
}

.directions-panel {
    margin-top: 30px;
    margin-bottom: 30px;
}

.route-segment {
    padding: 15px 0;
    border-bottom: 1px solid #ddd;
}

.route-segment h3 {
    margin-top: 0;
}

.route-details {
    font-weight: 600;
}

.route-total {
    margin-top: 20px;
    padding: 20px;
    border: 1px solid #ddd;
}

.route-message {
    padding: 15px;
}

.route-message-error {
    border-left: 4px solid #c00;
}

.route-message-loading {
    border-left: 4px solid #666;
}

.favorites-list {
    margin-top: 30px;
}

.favorite-item {
    padding: 15px 0;
    border-bottom: 1px solid #ddd;
}

.favorite-item h3 {
    font-size: 1rem !important;
    font-weight: 400 !important;
    margin-top: 0 !important;
}

.favorite-item p {
    margin-bottom: 0;
}

.favorite-item-missing-coordinates {
    opacity: 0.8;
}

.coordinates-warning {
    margin-top: 8px !important;
    font-size: 0.9em;
    font-weight: 600;
}

@media screen and (max-width: 768px) {
    .balade-map,
    #map {
        min-height: 350px;
    }
}
