/* mapa-casasco.css */

/* --- 1. ESTILOS DE MARCA --- */
.text-casasco { color: #AA182C !important; }
.bg-casasco { background-color: #AA182C !important; }
.btn-outline-casasco { color: #AA182C; border-color: #AA182C; }
.btn-outline-casasco:hover { background-color: #AA182C; color: white; }

/* --- 2. CONTENEDOR PRINCIPAL (El Wrapper) --- */
.map-wrapper {
    background: #ffffff;
    border-radius: 25px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.05);
    padding: 40px;
    
    position: relative;
    overflow: hidden;
    
    /* AJUSTES PARA CENTRADO PERFECTO */
    width: 100%;      /* Ocupa todo el ancho disponible */
    height: 100vh;    /* Ocupa toda la altura de la ventana */
    display: flex;
    align-items: center; 
    justify-content: center;
}

/* --- 3. CORRECCIÓN CRÍTICA DE ALINEACIÓN (IMPORTANTE) --- */
/* Forzamos al mapa vectorial a ocupar el 100% del espacio real */
.jvm-container, 
.jvm-container svg { 
    width: 100% !important; 
    height: 100% !important; 
    background-color: transparent !important;
    box-sizing: border-box;
}

.jvm-region:focus { outline: none !important; }
path.jvm-element { transition: fill 0.2s ease; }

/* --- 4. CONTROLES Y UI --- */
.jvm-zoom-btn {
    background-color: #333 !important;
    border-radius: 4px;
    padding: 3px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    box-sizing: content-box;
}

/* Etiquetas de los países (Marcadores) */
text.jvm-marker-label {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    fill: #333 !important; 
    
    /* Borde blanco para lectura */
    paint-order: stroke !important;
    stroke: #ffffff !important; 
    stroke-width: 3px !important; 
    stroke-opacity: 0.9 !important;
    
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

text.jvm-marker-label:hover {
    fill: #AA182C !important; 
}

/* Tooltip (Cajita negra al pasar mouse) */
.jvm-tooltip {
    background-color: #333 !important;
    color: #fff !important;
    border-radius: 4px;
    padding: 6px 10px;
    font-size: 12px;
    font-family: sans-serif;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    z-index: 9999;
}

/* --- 5. MODAL --- */
.modal-content { border: none; border-radius: 12px; }
.product-image-box {
    height: 350px; /* Mantenemos el tamaño grande para que se vea bien la foto */
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    margin-bottom: 20px;
}
.product-image-box img { max-height: 90%; max-width: 90%; object-fit: contain; }