.ar-map-container {
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
    display: block;
    box-sizing: border-box;
}

.ar-map-inner {
    position: relative;
    width: 100%;
    height: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.ar-map-inner canvas,
.ar-map-inner .ar-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    display: block;
}

.ar-map-inner .ar-base-canvas  { z-index: 1; }
.ar-map-inner .ar-route-canvas { z-index: 2; }
.ar-map-inner .ar-overlay      { z-index: 3; }

.ar-map-inner .ar-route-canvas,
.ar-map-inner .ar-overlay {
    pointer-events: none;
}

/* Crédito OSM */
.ar-map-container .ar-credit {
    position: absolute;
    bottom: 5px;
    right: 8px;
    font-size: 10px;
    color: rgba(255,255,255,0.72);
    text-shadow: 0 1px 3px rgba(0,0,0,0.55);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    pointer-events: none;
    z-index: 10;
}

/* Etiquetas overlay */
.ar-map-el {
    position: absolute;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

.ar-dot-origin {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #1a1a1a;
    transform: translate(-50%, -50%);
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

.ar-dot-origin::after {
    content: '';
    position: absolute;
    width: 7px;
    height: 7px;
    background: #1a1a1a;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.ar-dot-waypoint {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    border: 2.5px solid currentColor;
    transform: translate(-50%, -50%);
    box-shadow: 0 1px 4px rgba(0,0,0,0.22);
}

.ar-map-label {
    background: rgba(255,255,255,0.95);
    border-radius: 5px;
    padding: 4px 10px;
    font-size: clamp(9px, 1.4vw, 13px);
    font-weight: 700;
    color: #1a1a1a;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0,0,0,0.14);
    transform: translate(-50%, calc(-100% - 13px));
}

.ar-map-label.ar-label-sm {
    font-size: clamp(8px, 1.1vw, 11px);
    padding: 3px 8px;
}

.ar-pin-wrap {
    transform: translate(-50%, -100%);
}

.ar-pin-label {
    font-size: clamp(9px, 1.4vw, 13px);
    font-weight: 700;
    color: #1a1a1a;
    white-space: nowrap;
    text-shadow: 0 1px 3px rgba(255,255,255,0.95), 0 0 8px rgba(255,255,255,0.8);
    position: absolute;
    left: 26px;
    top: 6px;
}

.ar-badge {
    background: rgba(255,255,255,0.95);
    border-radius: 20px;
    padding: 5px 15px;
    font-size: clamp(9px, 1.3vw, 13px);
    font-weight: 700;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0,0,0,0.13);
    transform: translate(-50%, -50%);
}
